GDAL wrapper for reading and writing geospatial data to a variety of vector formats
Project description
Here is a GDAL wrapper for reading and writing geospatial data to a variety of vector formats. For a list of supported vector formats and driver names, please see http://www.gdal.org/ogr/ogr_formats.html
Installation
Here are instructions for installing geometryIO in a virtualenv
# Prepare isolated environment ENV=$HOME/Projects/env virtualenv $ENV mkdir $ENV/opt # Activate isolated environment source $ENV/bin/activate # Install GDAL sudo yum -y install swig GDAL_VERSION=1.9.0 GDAL_FILENAME=gdal-$GDAL_VERSION cd $ENV/opt wget http://download.osgeo.org/gdal/$GDAL_FILENAME.tar.gz tar xzvf $GDAL_FILENAME.tar.gz cd $GDAL_FILENAME ./configure --prefix=$ENV --with-python make install # Install package export LD_LIBRARY_PATH=$ENV/lib:$LD_LIBRARY_PATH easy_install -U geometryIO
Usage
Prepare environment
ENV=$HOME/Projects/env source $ENV/bin/activate export LD_LIBRARY_PATH=$ENV/lib:$LD_LIBRARY_PATH ipython
Run code
import geometryIO import datetime import itertools from osgeo import ogr from shapely import geometry geometryIO.save( # Save to a compressed shapefile targetPath='polygons.shp.zip', # Declare that source coordinates are in longitude and latitude sourceProj4=geometryIO.proj4LL, # Specify geometries using shapely shapelyGeometries=[ geometry.Polygon([(0, 0), (0, 10), (10, 10), (10, 0), (0, 0)]), geometry.Polygon([(10, 0), (10, 10), (20, 10), (20, 0), (10, 0)]), ], # Specify attributes for each geometry fieldPacks=[ ('xxx', 11111, 44444.44, datetime.datetime(1980, 1, 1)), ('yyy', 22222, 88888.88, datetime.datetime(1990, 1, 1)), ], # Define attributes fieldDefinitions=[ ('Name', ogr.OFTString), ('Population', ogr.OFTInteger), ('GDP', ogr.OFTReal), ('Date', ogr.OFTDate), ], # Specify desired vector format driverName='ESRI Shapefile', # Transform coordinates to spherical mercator targetProj4=geometryIO.proj4SM) proj4, shapelyGeometries, fieldPacks, fieldDefinitions = geometryIO.load( # Load from a compressed shapefile sourcePath='polygons.shp.zip', # Transform coordinates to longitude and latitude targetProj4=geometryIO.proj4LL) for shapelyGeometry, fPack in itertools.izip(shapelyGeometries, fieldPacks): print for fValue, (fName, fType) in itertools.izip(fPack, fieldDefinitions): print '%s = %s' % (fName, fValue) print shapelyGeometry geometryIO.save_points( # Save to a compressed shapefile targetPath='points.shp.tar.gz', # Declare that source coordinates are in longitude and latitude sourceProj4=geometryIO.proj4LL, # Specify coordinates coordinateTuples=[ (0, +1), (+1, 0), (0, -1), (-1, 0), ]) print geometryIO.load_points('points.shp.tar.gz')[1]
0.9.5
Prioritized shapefiles when loading archives containing multiple formats
0.9.4
Improved handling of empty datetime fields
0.9.3
Added support for datetime attributes
Replaced feature.SetField() with feature.SetField2()
0.9.2
Ported code from geometry_store
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
geometryIO-0.9.7.tar.gz
(6.3 kB
view hashes)