Provided by: shapelib_1.5.0-3_amd64 bug

NAME

       shpdump - dumps as text and/or validates the content of an ESRI shapefile

SYNOPSIS

       shpdump [-validate] shp_file

DESCRIPTION

       Prints  the  contents  of  the  shapefile  shp_file  to standard output in textual format.
       Shapefiles actually consist of two files with the same basename and  extensions  .shp  and
       .shx  (or .SHP and .SHX) containing the shape data and shape index respectively. The files
       to open are determined by  first  stripping  any  filename  extension  from  shp_file  and
       attempting   to   open  the  files  shp_file.shp  or  shp_file.SHP,  and  shp_file.shx  or
       shp_file.SHX for the respective data and index files.

       Output consists of a header giving number and type of shapes in the file  and  the  bounds
       for  the  minimum and maximum X, Y, Z, and M values appearing in the shapes. The header is
       followed by the geometric data for each shape in the file. All shapes in the  file  should
       be  of  the same type, except that NullShape typed shapes may be intermixed with any other
       type. The header has the form

           Shapefile Type: type # of Shapes: count

           File Bounds: (minX,minY,minZ,minM)
                    to  (maxX,maxY,maxZ,maxM)

       See section SHAPE TYPES below for the list of possible shape types.

       Next for each shape in the file a header giving it's shape_index, it's type  type,  number
       of  vertices nVertices, number of parts nParts, and bounding box is given, followed by the
       vertex data of each part.

           Shape:  shape_index (type) nVertices=nVertices, nParts=nParts
             Bounds: (minX,minY,minZ,minM)
                 to  (maxX,maxY,maxZ,maxM)

             vertices of the first part

           + vertices of the second part...

           + vertices of the last part

       The shape_index of a shape is the number of the shape starting  from  zero  in  the  shape
       file. Each vertex has the form

           (X,Y,Z,M)

       If there are multiple parts then the type of the part is appended appended to first vertex
       of each part, and the first vertex of the second and following parts is preceded by a plus
       (+) sign. The part type is Ring for all shape types except MultiPatch where it is the type
       of a surface patch. See below for the description of possible part types.

SHAPE TYPES

       Each type of shape except MultiPatch typed shapes comes  in  three  flavours:  The  normal
       unsuffixed  type,  where points lie in X/Y-space; a type with suffix M where points lie in
       X/Y-space and additionally have a measure value in M-space; and finally a type with suffix
       Z where points lie in X/Y/Z-space and also have a measure value in M-space.

       NullShape
              A  shape  without data. Shapes of this type may be intermixed with other shapes and
              are sometimes used to represented deleted or missing geometric data for a shape.

       Point or PointZ or PointM
              A single point.

       Arc or ArcZ or ArcM
              Piecewise linear paths. Shapes of this type may consist of multiple parts which may
              or  may  not  intersect  and/or connect. Arcs are called PolyLines in the shapefile
              specification.

       Polygon or PolygonZ or PolygonM
              Polygon shapes consist of one or more parts,  called  rings,  that  each  define  a
              closed  path.  Rings  must  contain  at least four vertices with the first and last
              vertices being equal, and must not self-intersect. For shapes of type Polygon,  the
              rings  define a polygon with optional holes by giving the vertices of inner rings a
              counterclockwise  orientation  and  the  vertices  of  outer  rings   a   clockwise
              orientation. Intersection and orientation is always computed in X/Y-space and never
              in X/Y/M-space.

       MultiPoint or MultiPointZ or MultiPointM
              A set of points.

       MultiPatch
              A MultiPatch represents one or more surfaces in  X/Y/Z-space,  and  consists  of  a
              number  of parts called it's surface patches. Each surface patch describes a either
              a surface or a hole in another surface, depending on the type of the patch. Patches
              may  share  a  common boundary but may not otherwise intersect. The type of a patch
              may be one of

              TriangleStrip: A set of connected triangles. The  first  three  points  define  the
              first triangle and every following point defines a new triangle using the new point
              and the two previous points.

              TriangleFan: A set of connected triangles. The first three points define the  first
              triangle and every following point defines a new triangle using the previous point,
              the current point, and the first point, thus forming a fan of triangles around  the
              first point.

              OuterRing: The outer ring of a sequence of rings defining a polygon with holes. All
              following parts of type InnerRing are taken to be the holes  of  the  polygon.  The
              sequence  of  rings ends with the first non-InnerRing typed part or the part of the
              shape, whichever comes first.

              InnerRing: An inner ring in a sequence of rings defining a polygon with holes. This
              type of part may only follow an OuterRing or other InnerRing typed parts.

              FirstRing: The first in a sequence of rings defining a polygon of unspecified type.
              The following parts of type Ring defines the other rings in the polygon. This  type
              of  part  is  used  when  the  innerness  or  outerness of a polygon isn't known or
              applicable. The sequence of rings defining the polygon ends with the first non-Ring
              typed part or the last part of the shape, whichever comes first.

              Ring:  A ring in a sequence of rings defining a polygon of unspecified type. It may
              only follow a FirstRing or other Ring typed parts.

              UknownPartType: This type is returned for parts whose type isn't recognised.

       UnknownShapeType
              This type is returned for shapes whose type isn't recognised.

OPTIONS

       -validate
              count the number of objects that have invalid ring ordenings

              Performs validation on the  orientation  of  inner  and  outer  rings  in  Polygon,
              PolygonZ,  and  PolygonM  objects.  According  to the shapefile specification outer
              rings should be given a clockwise orientation, and inner rings that define holes  a
              counterclockwise  orientation.  If some rings of a shape are oriented the wrong way
              around then the following message is output after dumping that shape:

              count rings wound in the wrong direction.

              In addition the total number of shapes with problem rings is output after the  last
              shape has been dumped:

              count object has invalid ring orderings.

       shp_file
              the name of an existing shapefile.

EXIT STATUS

       0      Successful program execution.

       1      No shapefile shp_file was given or it couldn't be opened.

EXAMPLE

       $ shpdump shapefile.shp

       Shapefile Type: Arc   # of Shapes: 3

       File Bounds: ( 3531586.750, 7253086.100,0,0)
                to  ( 3536417.463, 7778375.875,0,0)

       Shape:0 (Arc)  nVertices=2, nParts=1
         Bounds:( 3536397.797, 7253086.100, 0, 0)
             to ( 3536417.463, 7253163.597, 0, 0)
            ( 3536397.797, 7253163.597, 0, 0) Ring
            ( 3536417.463, 7253086.100, 0, 0)

       Shape:1 (Arc)  nVertices=3, nParts=1
         Bounds:( 3458966.390, 7373335.808, 0, 0)
             to ( 3459141.856, 7373474.681, 0, 0)
            ( 3458966.390, 7373474.681, 0, 0) Ring
            ( 3458979.042, 7373466.273, 0, 0)
            ( 3459141.856, 7373335.808, 0, 0)

       Shape:2 (Arc)  nVertices=7, nParts=1
         Bounds:( 3531586.750, 7777880.500, 0, 0)
             to ( 3532930.206, 7778375.875, 0, 0)
            ( 3531586.750, 7777880.500, 0, 0) Ring
            ( 3532228.265, 7778072.455, 0, 0)
            ( 3532310.897, 7778119.445, 0, 0)
            ( 3532367.866, 7778144.877, 0, 0)
            ( 3532440.559, 7778168.920, 0, 0)
            ( 3532506.504, 7778190.785, 0, 0)
            ( 3532930.206, 7778375.875, 0, 0)

       $

DIAGNOSTICS

       The following diagnostics may be issued on stdout:

       Unable to open:shp_file

AUTHOR

       shpdump  is  part  of  shapelib,  maintained by Frank Warmerdam. This guide was created by
       Eduardo Patoo Kanegae and converted to manpage by  Johan  Van  de  Wauw.  It  was  further
       enhanced with the man page written by Joonas Pihlaja (jpihlaja@cc.helsinki.fi).

BUGS

       The  -validate  option  supports only one outer ring in a polygonal shape and assumes that
       the first ring in a shape is the outer ring. It doesn't support polygons inside MultiPatch
       shapes. The X and Y coordinates of a point are printed to three decimal places only.

SEE ALSO

       dbfadd(1),   dbfcat(1),   dbfcreate(1),   dbfdump(1),  dbfinfo(1),  shpadd(1),  shpcat(1),
       shpcentrd(1), shpcreate(1), shpdxf(1), shpfix(1),  shpinfo(1),  shpproj(1),  shprewind(1),
       shptest(1)

                                           October 2022                                SHPDUMP(1)