django-geojson
pip install django-geojson
Add djgeojson
to your applications :
# settings.py
INSTALLED_APPS += (
'djgeojson',
)
(not required for views)
Very useful for web mapping :
from djgeojson.views import GeoJSONLayerView
class MeetingLayer(GeoJSONLayerView):
model = Meeting
fields = ('title', 'datetime',)
# Options
srid = 4326 # projection
precision = 4 # float
simplify = 0.5 # generalization
Consume the vector layer as usual, for example, with Leaflet :
var layer = L.GeoJSON();
map.addLayer(layer);
$.getJSON('{% url viewname %}', function (data){
layer.addData(data);
});
Will work either for a model, a geometry field or a queryset.
{% load geojson_tags %}
var feature = {{ object|geojsonfeature }};
var geom = {{ object.geom|geojsonfeature }};
var collection = {{ object_list|geojsonfeature }};
Register the serializer in your project :
# settings.py
SERIALIZATION_MODULES = {
'geojson' : 'djgeojson.serializers'
}
Command-line dumpdata
can export files, viewable in GIS software like QGis :
django dumpdata --format=geojson yourapp.Model > export.geojson
Works with loaddata
as well, which can now import GeoJSON files.
- Mathieu Leplatre <[email protected]>
- Daniel Sokolowski, author of original serializer snippet
- ozzmo, python 2.6 compatibility
Relies massively on Sean Gillies' geojson python module.
- Lesser GNU Public License