Geojson and pyproj interop

2008-09-18T21:20:13Z in the lab, python

I've just finished writing a module that supports projection of objects that provide the geometry part of the Lab's geo interface: proj.py. Maybe you'll find it useful. What it does is take a geojson geometry (or Shapely geometry) and return a new projected geojson geometry object:

>>> from pleiades.openlayers.proj import Transform, PROJ_900913
>>> transform = Transform(PROJ_900913)

>>> # Point, forward
>>> from geojson import Point
>>> point = Point(coordinates=(25.0, 25.0))
>>> fwd = transform(point)
>>> fwd
Point(coordinates=(2782987.269831839, 2875744.6243522423))

>>> # Point, inverse
>>> inv = transform(fwd, inverse=True)
>>> inv
Point(coordinates=(24.999999999999996, 24.999999999999996))

>>> # Line, forward
>>> from geojson import LineString
>>> line = LineString(coordinates=((25.0, 25.0), (30.0, 30.0)))
>>> fwd = transform(line)
>>> fwd
LineString(coordinates=((2782987.269831839, 2875744.6243522423), ...))

>>> # Line, inverse
>>> inv = transform(fwd, inverse=True)
>>> inv
LineString(coordinates=((24.999999999999996, 24.999999999999996), ...))

There's also an object hook if you'd like the transform to yield instances of your own classes.

Comments are closed after 13 days.

about archive feed search

Some rights reserved by Sean Gillies.