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
Metadata
Release files for geometryIO 0.9.7.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| geometryIO-0.9.7.6.tar.gz | 6.4 kB | Details |
Release files / geometryIO-0.9.7.6.tar.gz
| Download URL | geometryIO-0.9.7.6.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cb7c727f20f38f290896a6c5ba2fb99cb0e03c30191631af82383bc63fd42553
|
|
BLAKE2b-256 checksum How to use checksums |
5c5a7c641b4298d99005a649e8c86b47947ad86ff2bdb3669b99ce2f99b77c14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |