# coyote: CGSHAPEPOINTFILE

- coyote/Mapping
- coyote/Utilities
- [Source code]

Description

      The purpose of this program is to create a shapefile filled with multiple
      individual points as entities.

Categories

      Mapping, Utilities

Author

      FANNING SOFTWARE CONSULTING::
         David W. Fanning
         1645 Sheely Drive
         Fort Collins, CO 80526 USA
         Phone: 970-221-0438
         E-mail: david@idlcoyote.com
         Coyote's Guide to IDL Programming: http://www.idlcoyote.com

Params

      xpts: in, required, type=vector
         The X location of the input points. Presumed to be longitude values unless
         the `MapCoord` keyword is used, in which case they are assumed to be in
         projected meters values that will be converted to longitude values for
         storage in the shapefile.
      ypts: in, required, type=vector
         The Y location of the input points. Presumed to be latitude values unless
         the `MapCoord` keyword is used, in which case they are assumed to be in
         projected meters values that will be converted to latitude values for
         storage in the shapefile.

Keywords

      append: in, optional, type=boolean, default=0
         Set this keyword to append the points to a currently existing file. Otherwise,
         a new file is created.
      attributes: in, optional, type=structure
         An array or scalar of "attribute" structures. If an array, it must be the same length as
         in input data points. If not provided is will consist of the follow structure: {point:indexValue}.
         If appending to a file, it must be defined in exactly the same way as the original file attributes.
      filename: in, optional, type=string
         The name of the shapefile. If not provided, the user will be asked to select a shape
         file. If the file currently exists, it will be written over.
      mapcoord: in, optional, type=object
         A MapCoord object (e.g., cgMap) which will be used to convert the input points from
         projected meter space to lat/lon space prior to saving the data in the shapefile.

Examples

      Add two cities to a shapefile::
         num = 2
         x = FltArr(num)
         y = FltArr(num)
         attr = Replicate({namedStruct, state:"", city:""}, num)
         x[0] = -104.87270
         y[0] =   39.768040
         attr[0] ={namedStruct, 'CO', 'DENVER'}
         x[1] = -105.1
         y[1] =   40.6
         attr[1] ={nameStruct, 'CO', 'FORT COLLINS'}
         cgShapePointFile, x, y, ATTRIBUTES=attr, FILENAME='test.shp'
      Add two more cities to the same shapefile::
         num = 2
         x = FltArr(num)
         y = FltArr(num)
         attr = Replicate({namedStruct, state:"", city:""}, num)
         x[0] = -122.7
         y[0] =   45.5
         attr[0] ={namedStruct, 'OR', 'Portland'}
         x[1] = -122.3
         y[1] =   47.6
         attr[1] ={namedStruct, 'WA', 'Seattle'}
         cgShapePointFile, x, y, ATTRIBUTES=attr, FILENAME='test.shp', /APPEND
      View the file you just created::
         cgShapeInfo, 'test.shp'

History

      Modification History::
         Written by David W. Fanning, 23 August 2012.

Copyright

      Copyright (c) 2012, Fanning Software Consulting, Inc.