1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- ======================
- ``GeoJSON`` Serializer
- ======================
- .. module:: django.contrib.gis.serializers.geojson
- :synopsis: Serialization of GeoDjango models in the GeoJSON format.
- GeoDjango provides a specific serializer for the `GeoJSON`__ format. See
- :doc:`/topics/serialization` for more information on serialization.
- __ https://geojson.org/
- The ``geojson`` serializer is not meant for round-tripping data, as it has no
- deserializer equivalent. For example, you cannot use :djadmin:`loaddata` to
- reload the output produced by this serializer. If you plan to reload the
- outputted data, use the plain :ref:`json serializer <serialization-formats-json>`
- instead.
- In addition to the options of the ``json`` serializer, the ``geojson``
- serializer accepts the following additional option when it is called by
- ``serializers.serialize()``:
- * ``geometry_field``: A string containing the name of a geometry field to use
- for the ``geometry`` key of the GeoJSON feature. This is only needed when you
- have a model with more than one geometry field and you don't want to use the
- first defined geometry field (by default, the first geometry field is picked).
- * ``id_field``: A string containing the name of a field to use for the ``id``
- key of the GeoJSON feature. By default, the primary key of objects is used.
- * ``srid``: The SRID to use for the ``geometry`` content. Defaults to 4326
- (WGS 84).
- The :ref:`fields <subset-of-fields>` option can be used to limit fields that
- will be present in the ``properties`` key, as it works with all other
- serializers.
- Example::
- from django.core.serializers import serialize
- from my_app.models import City
- serialize("geojson", City.objects.all(), geometry_field="point", fields=["name"])
- Would output::
- {
- "type": "FeatureCollection",
- "crs": {"type": "name", "properties": {"name": "EPSG:4326"}},
- "features": [
- {
- "type": "Feature",
- "id": 1,
- "geometry": {"type": "Point", "coordinates": [-87.650175, 41.850385]},
- "properties": {"name": "Chicago"},
- }
- ],
- }
- When the ``fields`` parameter is not specified, the ``geojson`` serializer adds
- a ``pk`` key to the ``properties`` dictionary with the primary key of the
- object as the value.
|