GeoDjango为GeoJSON格式提供特定的序列化程序。此序列化程序需要GDAL库。有关序列化的更多信息,请参见Serializing Django objects。
geojson序列化程序不适用于往返数据,因为它没有解串器等效。例如,您不能使用loaddata重新加载此序列化产生的输出。如果您计划重新加载输出的数据,请改用明文json serializer。
除了json序列化程序的选项,geojson序列化程序在由serializers.serialize()调用时接受以下附加选项:
fields选项可用于限制将出现在properties键中的字段,因为它与所有其他序列化程序一起使用。
例:
from django.core.serializers import serialize
from my_app.models import City
serialize('geojson', City.objects.all(),
geometry_field='point',
fields=('name',))
会输出:
{
'type': 'FeatureCollection',
'crs': {
'type': 'name',
'properties': {'name': 'EPSG:4326'}
},
'features': [
{
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [-87.650175, 41.850385]
},
'properties': {
'name': 'Chicago'
}
}
]
}
2015年5月13日