{"title":"GeoJSON Serializer","version":"2.2","locale":"en","docname":"ref/contrib/gis/serializers","url":"/en/2.2/ref/contrib/gis/serializers/","canonical":"https://djangodocs.dev/en/2.2/ref/contrib/gis/serializers/","summary":"GeoDjango provides a specific serializer for the GeoJSON format. See Serializing Django objects for more information on serialization. The geojson serializer is not…","html":"<span id=\"geojson-serializer\"></span><h1><code class=\"docutils literal notranslate\"><span class=\"pre\">GeoJSON</span></code> Serializer<a class=\"heading-anchor\" href=\"#module-django.contrib.gis.serializers.geojson\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>GeoDjango provides a specific serializer for the <a class=\"reference external\" href=\"http://geojson.org/\">GeoJSON</a> format. See\n<a class=\"reference internal\" href=\"/en/2.2/topics/serialization/\"><span class=\"doc\">Serializing Django objects</span></a> for more information on serialization.</p>\n<p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">geojson</span></code> serializer is not meant for round-tripping data, as it has no\ndeserializer equivalent. For example, you cannot use <a class=\"reference internal\" href=\"/en/2.2/ref/django-admin/#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">loaddata</span></code></a> to\nreload the output produced by this serializer. If you plan to reload the\noutputted data, use the plain <a class=\"reference internal\" href=\"/en/2.2/topics/serialization/#serialization-formats-json\"><span class=\"std std-ref\">json serializer</span></a>\ninstead.</p>\n<p>In addition to the options of the <code class=\"docutils literal notranslate\"><span class=\"pre\">json</span></code> serializer, the <code class=\"docutils literal notranslate\"><span class=\"pre\">geojson</span></code>\nserializer accepts the following additional option when it is called by\n<code class=\"docutils literal notranslate\"><span class=\"pre\">serializers.serialize()</span></code>:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">geometry_field</span></code>: A string containing the name of a geometry field to use\nfor the <code class=\"docutils literal notranslate\"><span class=\"pre\">geometry</span></code> key of the GeoJSON feature. This is only needed when you\nhave a model with more than one geometry field and you don’t want to use the\nfirst defined geometry field (by default, the first geometry field is picked).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">srid</span></code>: The SRID to use for the <code class=\"docutils literal notranslate\"><span class=\"pre\">geometry</span></code> content. Defaults to 4326\n(WGS 84).</p></li>\n</ul>\n<p>The <a class=\"reference internal\" href=\"/en/2.2/topics/serialization/#subset-of-fields\"><span class=\"std std-ref\">fields</span></a> option can be used to limit fields that\nwill be present in the <code class=\"docutils literal notranslate\"><span class=\"pre\">properties</span></code> key, as it works with all other\nserializers.</p>\n<p>Example:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.serializers</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">serialize</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">my_app.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">City</span>\n\n<span class=\"n\">serialize</span><span class=\"p\">(</span><span class=\"s1\">&#39;geojson&#39;</span><span class=\"p\">,</span> <span class=\"n\">City</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">(),</span>\n          <span class=\"n\">geometry_field</span><span class=\"o\">=</span><span class=\"s1\">&#39;point&#39;</span><span class=\"p\">,</span>\n          <span class=\"n\">fields</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s1\">&#39;name&#39;</span><span class=\"p\">,))</span>\n</code></pre></div>\n<p>Would output:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"p\">{</span>\n  <span class=\"s1\">&#39;type&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;FeatureCollection&#39;</span><span class=\"p\">,</span>\n  <span class=\"s1\">&#39;crs&#39;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n    <span class=\"s1\">&#39;type&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;name&#39;</span><span class=\"p\">,</span>\n    <span class=\"s1\">&#39;properties&#39;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"s1\">&#39;name&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;EPSG:4326&#39;</span><span class=\"p\">}</span>\n  <span class=\"p\">},</span>\n  <span class=\"s1\">&#39;features&#39;</span><span class=\"p\">:</span> <span class=\"p\">[</span>\n    <span class=\"p\">{</span>\n      <span class=\"s1\">&#39;type&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;Feature&#39;</span><span class=\"p\">,</span>\n      <span class=\"s1\">&#39;geometry&#39;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s1\">&#39;type&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;Point&#39;</span><span class=\"p\">,</span>\n        <span class=\"s1\">&#39;coordinates&#39;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"o\">-</span><span class=\"mf\">87.650175</span><span class=\"p\">,</span> <span class=\"mf\">41.850385</span><span class=\"p\">]</span>\n      <span class=\"p\">},</span>\n      <span class=\"s1\">&#39;properties&#39;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s1\">&#39;name&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;Chicago&#39;</span>\n      <span class=\"p\">}</span>\n    <span class=\"p\">}</span>\n  <span class=\"p\">]</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>When the <code class=\"docutils literal notranslate\"><span class=\"pre\">fields</span></code> parameter is not specified, the <code class=\"docutils literal notranslate\"><span class=\"pre\">geojson</span></code> serializer adds\na <code class=\"docutils literal notranslate\"><span class=\"pre\">pk</span></code> key to the <code class=\"docutils literal notranslate\"><span class=\"pre\">properties</span></code> dictionary with the primary key of the\nobject as the value.</p>","rootId":"module-django.contrib.gis.serializers.geojson","toc":[],"breadcrumbs":[{"docname":"ref/index","title":"API Reference","url":"/en/2.2/ref/"},{"docname":"ref/contrib/index","title":"contrib packages","url":"/en/2.2/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/en/2.2/ref/contrib/gis/"},{"docname":"ref/contrib/gis/utils","title":"GeoDjango Utilities","url":"/en/2.2/ref/contrib/gis/utils/"}],"prev":{"docname":"ref/contrib/gis/ogrinspect","title":"OGR Inspection","url":"/en/2.2/ref/contrib/gis/ogrinspect/"},"next":{"docname":"ref/contrib/gis/commands","title":"GeoDjango Management Commands","url":"/en/2.2/ref/contrib/gis/commands/"},"formats":{"html":"/en/2.2/ref/contrib/gis/serializers/","markdown":"/en/2.2/ref/contrib/gis/serializers.md","json":"/en/2.2/ref/contrib/gis/serializers.json"},"source":"https://github.com/django/django/blob/stable/2.2.x/docs/ref/contrib/gis/serializers.txt","official":"https://docs.djangoproject.com/en/2.2/ref/contrib/gis/serializers/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9","1.8"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}