Provided by: shapelib_1.2.10-7_amd64 bug

NAME

       shpdump - dump an ESRI shapefile as text

SYNOPSIS

       shpdump [-validate] file

DESCRIPTION

       Prints  the  contents  of  the  shapefile 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 file and attempting to open the files  file.shp  or  file.SHP,  and  file.shx  or
       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
              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.

EXIT STATUS

       0      Successful program execution.

       1      No shapefile 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:file

AUTHORS

       Frank  Warmerdam  (warmerdam@pobox.com)  is  the  maintainer  of  the shapelib shapefile library.  Joonas
       Pihlaja (jpihlaja@cc.helsinki.fi) wrote this man page.

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), dbfcreate(1), dbfdump(1), dbf_dump(1), shpadd(1), shpcreate(1), shprewind(1)

shapelib                                          OCTOBER 2004                                       SHAPELIB(1)