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.7
Fix Python 3 compatibility
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
File details
Details for the file geometryIO-0.9.7.6.tar.gz
.
File metadata
- Download URL: geometryIO-0.9.7.6.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb7c727f20f38f290896a6c5ba2fb99cb0e03c30191631af82383bc63fd42553 |
|
MD5 | f7ddd8bfe2d10f4fc9273ec7533cf559 |
|
BLAKE2b-256 | 5c5a7c641b4298d99005a649e8c86b47947ad86ff2bdb3669b99ce2f99b77c14 |