mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Specification of coordinate reference systems (crs) was removed from the GeoJSON spec in 2016. https://datatracker.ietf.org/doc/html/rfc7946#appendix-B.1
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ======================
 | |
| ``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",
 | |
|         "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.
 |