Geo interface and Python 2.6
Hey, somebody discovered __geo_interface__
. If you'd rather use Python's standard json
module than geojson
, you'll need to implement a custom encoder as documented:
>>> import json >>> class GeoEncoder(json.JSONEncoder): ... def default(self, obj): ... if hasattr(obj, '__geo_interface__'): ... return obj.__geo_interface__ ... return json.JSONEncoder.default(self, obj) ... >>> class GeoThing(object): ... __geo_interface__ = {'type': 'Point', 'coordinates': [0.0, 0.0]} ... >>> json.dumps(GeoThing(), cls=GeoEncoder) '{"type": "Point", "coordinates": [0.0, 0.0]}'
The geojson
module does this for you, and more, but clearly needs to work with json
from 2.6 as well as simplejson
.
Comments
Re: Geo interface and Python 2.6
Author: Kurt Schwhr
:)
Thanks for the tip on how to use the standard json.
-kurt