[mapserver-users] editing shp files

Frank Warmerdam warmerdam at pobox.com
Tue Jul 30 07:23:47 PDT 2002


Paul Spencer wrote:
> If you are adventurous, you could get openev 
> (http://openev.sourceforge.net) and write a simple python script to 
> process your shapefile
> 
> sample python script:
> 
> import gview
> 
> shapes_in = gview.GvShapes( shapefilename="/path/to/my/shapefile" )
> shapes_out = gview.GvShapes()
> 
> #assuming you want the same schema
> shapes_out.set_properties( shapes_in.get_properties() )
> 
> for shape in shapes_in:
>    props = shape.get_properties()
>    #this would test against the first character
>    if props['postalcode'][:1] == 'V':
>        shapes_out.append( shape.copy() )
> 
> shapes_out.save_as( "/path/to/new/shapefile" )
> 
> If you are interested but aren't a python programmer, I could probably 
> help you with this as long as you can get openev installed.

Seamus,

In fact, if all you want to do is select some of the records from a shapefile
based on attributes, you could try using the ogr2ogr utility from GDAL/OGR.
It includes the ability to select records to copy based on an SQL WHERE like
syntax.

eg.

ogr2ogr -select "post_address like '%British Columbia%'" bc.shp all.shp

Of course, Paul's OpenEV/python solution is even more flexible than ogr2ogr
on its own.  Ogr2ogr is part of the GDAL/OGR suite.

   http://www.remotesensing.org/gdal
   http://gdal.velocet.ca/projects/opengis

Best regards,

-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent





More information about the MapServer-users mailing list