====================== ``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 ` 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 ` 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. .. versionchanged:: 4.2 The ``id`` key for serialized features was added. Also, the ``id_field`` option was added to the ``geojson`` serializer.