Provided by: shapelib_1.6.1-1_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)

                                                   August 2024                                        SHPDUMP(1)