{"title":"Fungsi Basisdata Geografis","version":"1.9","locale":"id","docname":"ref/contrib/gis/functions","url":"/id/1.9/ref/contrib/gis/functions/","canonical":"https://djangodocs.dev/id/1.9/ref/contrib/gis/functions/","summary":"New in Django 1.9 The functions documented on this page allow users to access geographic database functions to be used in annotations, aggregations, or filters in…","html":"<span id=\"geographic-database-functions\"></span><h1>Fungsi Basisdata Geografis<a class=\"heading-anchor\" href=\"#module-django.contrib.gis.db.models.functions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"version-note version-added\" data-version=\"1.9\">\n<p class=\"version-note-title\">New in Django 1.9</p></aside>\n<p>The functions documented on this page allow users to access geographic database\nfunctions to be used in annotations, aggregations, or filters in Django.</p>\n<p>Contoh:</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=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.db.models.functions</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Length</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Track</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">length</span><span class=\"o\">=</span><span class=\"n\">Length</span><span class=\"p\">(</span><span class=\"s1\">&#39;line&#39;</span><span class=\"p\">))</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">length__gt</span><span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Not all backends support all functions, so refer to the documentation of each\nfunction to see if your database backend supports the function you want to use.\nIf you call a geographic function on a backend that doesn't support it, you'll\nget a <code class=\"docutils literal notranslate\"><span class=\"pre\">NotImplementedError</span></code> exception.</p>\n<p>Ringkasan fungsi:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Pengukuran</p></th>\n<th class=\"head\"><p>Hubungan</p></th>\n<th class=\"head\"><p>Operasi</p></th>\n<th class=\"head\"><p>Penyunting</p></th>\n<th class=\"head\"><p>Bentuk keluaran</p></th>\n<th class=\"head\"><p>Bermacam-macam</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Area\" title=\"django.contrib.gis.db.models.functions.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.BoundingCircle\" title=\"django.contrib.gis.db.models.functions.BoundingCircle\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BoundingCircle</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Difference\" title=\"django.contrib.gis.db.models.functions.Difference\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Difference</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.ForceRHR\" title=\"django.contrib.gis.db.models.functions.ForceRHR\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ForceRHR</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.AsGeoJSON\" title=\"django.contrib.gis.db.models.functions.AsGeoJSON\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AsGeoJSON</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.MemSize\" title=\"django.contrib.gis.db.models.functions.MemSize\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MemSize</span></code></a></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Distance\" title=\"django.contrib.gis.db.models.functions.Distance\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Distance</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Centroid\" title=\"django.contrib.gis.db.models.functions.Centroid\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Centroid</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Intersection\" title=\"django.contrib.gis.db.models.functions.Intersection\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Intersection</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Reverse\" title=\"django.contrib.gis.db.models.functions.Reverse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Reverse</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.AsGML\" title=\"django.contrib.gis.db.models.functions.AsGML\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AsGML</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.NumGeometries\" title=\"django.contrib.gis.db.models.functions.NumGeometries\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">NumGeometries</span></code></a></p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Length\" title=\"django.contrib.gis.db.models.functions.Length\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Length</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Envelope\" title=\"django.contrib.gis.db.models.functions.Envelope\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Envelope</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.SymDifference\" title=\"django.contrib.gis.db.models.functions.SymDifference\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SymDifference</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Scale\" title=\"django.contrib.gis.db.models.functions.Scale\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Scale</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.AsKML\" title=\"django.contrib.gis.db.models.functions.AsKML\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AsKML</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.NumPoints\" title=\"django.contrib.gis.db.models.functions.NumPoints\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">NumPoints</span></code></a></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Perimeter\" title=\"django.contrib.gis.db.models.functions.Perimeter\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Perimeter</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.PointOnSurface\" title=\"django.contrib.gis.db.models.functions.PointOnSurface\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">PointOnSurface</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Union\" title=\"django.contrib.gis.db.models.functions.Union\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Union</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.SnapToGrid\" title=\"django.contrib.gis.db.models.functions.SnapToGrid\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SnapToGrid</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.AsSVG\" title=\"django.contrib.gis.db.models.functions.AsSVG\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AsSVG</span></code></a></p></td>\n<td></td>\n</tr>\n<tr class=\"row-even\"><td></td>\n<td></td>\n<td></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Transform\" title=\"django.contrib.gis.db.models.functions.Transform\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Transform</span></code></a></p></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.GeoHash\" title=\"django.contrib.gis.db.models.functions.GeoHash\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeoHash</span></code></a></p></td>\n<td></td>\n</tr>\n<tr class=\"row-odd\"><td></td>\n<td></td>\n<td></td>\n<td><p><a class=\"reference internal\" href=\"#django.contrib.gis.db.models.functions.Translate\" title=\"django.contrib.gis.db.models.functions.Translate\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Translate</span></code></a></p></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>\n<section id=\"area\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Area</span></code><a class=\"heading-anchor\" href=\"#area\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Area\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Area</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Area\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL, Oracle, PostGIS, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns the area of the\nfield as an <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/measure/#django.contrib.gis.measure.Area\" title=\"django.contrib.gis.measure.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></a> measure. On MySQL, a raw\nfloat value is returned, as it's not possible to automatically determine the\nunit of the field.</p>\n</section>\n<section id=\"asgeojson\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">AsGeoJSON</span></code><a class=\"heading-anchor\" href=\"#asgeojson\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.AsGeoJSON\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AsGeoJSON</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">bbox</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">crs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">precision</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">8</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.AsGeoJSON\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, SpatiaLite (≥ 3.0)</p>\n<p>Accepts a single geographic field or expression and returns a <a class=\"reference external\" href=\"http://geojson.org/\">GeoJSON</a> representation of the geometry. Note that the result is\nnot a complete GeoJSON structure but only the <code class=\"docutils literal notranslate\"><span class=\"pre\">geometry</span></code> key content of a\nGeoJSON structure. See also <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/serializers/\"><span class=\"doc\">GeoJSON Serializer</span></a>.</p>\n<p>Contoh:</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=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">City</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">json</span><span class=\"o\">=</span><span class=\"n\">AsGeoJSON</span><span class=\"p\">(</span><span class=\"s1\">&#39;point&#39;</span><span class=\"p\">))</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s1\">&#39;Chicago&#39;</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">json</span>\n<span class=\"go\">{&quot;type&quot;:&quot;Point&quot;,&quot;coordinates&quot;:[-87.65018,41.85039]}</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Keyword Argument</p></th>\n<th class=\"head\"><p>Deskripsi</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">bbox</span></code></p></td>\n<td><p>Set this to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> if you want the bounding box\nto be included in the returned GeoJSON.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">crs</span></code></p></td>\n<td><p>Set this to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> if you want the coordinate\nreference system to be included in the returned\nGeoJSON.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ketelitian</span></code></p></td>\n<td><p>It may be used to specify the number of significant\ndigits for the coordinates in the GeoJSON\nrepresentation -- the default value is 8.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"asgml\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">AsGML</span></code><a class=\"heading-anchor\" href=\"#asgml\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.AsGML\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AsGML</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">version</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">2</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">precision</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">8</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.AsGML\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, SpatiaLite (≥ 2.4.0-RC4)</p>\n<p>Accepts a single geographic field or expression and returns a <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Geography_Markup_Language\">Geographic Markup\nLanguage (GML)</a> representation of the geometry.</p>\n<p>Contoh:</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=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">gml</span><span class=\"o\">=</span><span class=\"n\">AsGML</span><span class=\"p\">(</span><span class=\"s1\">&#39;poly&#39;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">qs</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span><span class=\"n\">gml</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;gml:Polygon srsName=&quot;EPSG:4326&quot;&gt;&lt;gml:OuterBoundaryIs&gt;-147.78711,70.245363 ...</span>\n<span class=\"go\">-147.78711,70.245363&lt;/gml:OuterBoundaryIs&gt;&lt;/gml:Polygon&gt;</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Keyword Argument</p></th>\n<th class=\"head\"><p>Deskripsi</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ketelitian</span></code></p></td>\n<td><p>It may be used to specify the number of significant\ndigits for the coordinates in the GML representation --\nthe default value is 8.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">versi</span></code></p></td>\n<td><p>It may be used to specify the GML version used, and may\nonly be values of 2 or 3.  The default value is 2.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"askml\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">AsKML</span></code><a class=\"heading-anchor\" href=\"#askml\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.AsKML\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AsKML</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">precision</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">8</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.AsKML\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, SpatiaLite (≥ 2.4.0-RC4)</p>\n<p>Accepts a single geographic field or expression and returns a <a class=\"reference external\" href=\"https://developers.google.com/kml/documentation/\">Keyhole Markup\nLanguage (KML)</a> representation of the geometry.</p>\n<p>Contoh:</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=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">kml</span><span class=\"o\">=</span><span class=\"n\">AsKML</span><span class=\"p\">(</span><span class=\"s1\">&#39;poly&#39;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">qs</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span><span class=\"n\">kml</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Polygon&gt;&lt;outerBoundaryIs&gt;&lt;LinearRing&gt;&lt;coordinates&gt;-103.04135,36.217596,0 ...</span>\n<span class=\"go\">-103.04135,36.217596,0&lt;/coordinates&gt;&lt;/LinearRing&gt;&lt;/outerBoundaryIs&gt;&lt;/Polygon&gt;</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Keyword Argument</p></th>\n<th class=\"head\"><p>Deskripsi</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ketelitian</span></code></p></td>\n<td><p>This keyword may be used to specify the number of\nsignificant digits for the coordinates in the KML\nrepresentation -- the default value is 8.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"assvg\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">AsSVG</span></code><a class=\"heading-anchor\" href=\"#assvg\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.AsSVG\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AsSVG</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">relative</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">precision</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">8</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.AsSVG\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns a <a class=\"reference external\" href=\"http://www.w3.org/Graphics/SVG/\">Scalable Vector\nGraphics (SVG)</a> representation of the geometry.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Keyword Argument</p></th>\n<th class=\"head\"><p>Deskripsi</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">relative</span></code></p></td>\n<td><p>If set to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, the path data will be implemented\nin terms of relative moves. Defaults to <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>,\nmeaning that absolute moves are used instead.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ketelitian</span></code></p></td>\n<td><p>This keyword may be used to specify the number of\nsignificant digits for the coordinates in the SVG\nrepresentation -- the default value is 8.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"boundingcircle\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BoundingCircle</span></code><a class=\"heading-anchor\" href=\"#boundingcircle\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.BoundingCircle\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BoundingCircle</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">num_seg</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">48</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.BoundingCircle\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Availability</em>: <a class=\"reference external\" href=\"http://postgis.net/docs/ST_MinimumBoundingCircle.html\">PostGIS</a></p>\n<p>Accepts a single geographic field or expression and returns the smallest circle\npolygon that can fully contain the geometry.</p>\n</section>\n<section id=\"centroid\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Centroid</span></code><a class=\"heading-anchor\" href=\"#centroid\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Centroid\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Centroid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Centroid\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL, PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns the <code class=\"docutils literal notranslate\"><span class=\"pre\">centroid</span></code>\nvalue of the geometry.</p>\n</section>\n<section id=\"difference\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Difference</span></code><a class=\"heading-anchor\" href=\"#difference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Difference\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Difference</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr1</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr2</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Difference\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts two geographic fields or expressions and returns the geometric\ndifference, that is the part of geometry A that does not intersect with\ngeometry B.</p>\n</section>\n<section id=\"distance\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Distance</span></code><a class=\"heading-anchor\" href=\"#distance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Distance\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Distance</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr1</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr2</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">spheroid</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Distance\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL (≥ 5.6.1), PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts two geographic fields or expressions and returns the distance between\nthem, as a <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Distance</span></code></a> object. On MySQL, a raw\nfloat value is returned, as it's not possible to automatically determine the\nunit of the field.</p>\n<p>On backends that support distance calculation on geodetic coordinates, the\nproper backend function is automatically chosen depending on the SRID value of\nthe geometries (e.g. <code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance_Sphere</span></code> on PostGIS).</p>\n<p>When distances are calculated with geodetic (angular) coordinates, as is the\ncase with the default WGS84 (4326) SRID, you can set the <code class=\"docutils literal notranslate\"><span class=\"pre\">spheroid</span></code> keyword\nargument to decide if the calculation should be based on a simple sphere (less\naccurate, less resource-intensive) or on a spheroid (more accurate, more\nresource-intensive).</p>\n<p>In the following example, the distance from the city of Hobart to every other\n<a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/model-api/#django.contrib.gis.db.models.PointField\" title=\"django.contrib.gis.db.models.PointField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">PointField</span></code></a> in the <code class=\"docutils literal notranslate\"><span class=\"pre\">AustraliaCity</span></code>\nqueryset is calculated:</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=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.db.models.functions</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Distance</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">pnt</span> <span class=\"o\">=</span> <span class=\"n\">AustraliaCity</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s1\">&#39;Hobart&#39;</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">point</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">for</span> <span class=\"n\">city</span> <span class=\"ow\">in</span> <span class=\"n\">AustraliaCity</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span><span class=\"n\">distance</span><span class=\"o\">=</span><span class=\"n\">Distance</span><span class=\"p\">(</span><span class=\"s1\">&#39;point&#39;</span><span class=\"p\">,</span> <span class=\"n\">pnt</span><span class=\"p\">)):</span>\n<span class=\"gp\">... </span>    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">city</span><span class=\"o\">.</span><span class=\"n\">name</span><span class=\"p\">,</span> <span class=\"n\">city</span><span class=\"o\">.</span><span class=\"n\">distance</span><span class=\"p\">)</span>\n<span class=\"go\">Wollongong 990071.220408 m</span>\n<span class=\"go\">Shellharbour 972804.613941 m</span>\n<span class=\"go\">Thirroul 1002334.36351 m</span>\n<span class=\"go\">...</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Because the <code class=\"docutils literal notranslate\"><span class=\"pre\">distance</span></code> attribute is a\n<a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Distance</span></code></a> object, you can easily express\nthe value in the units of your choice. For example, <code class=\"docutils literal notranslate\"><span class=\"pre\">city.distance.mi</span></code> is\nthe distance value in miles and <code class=\"docutils literal notranslate\"><span class=\"pre\">city.distance.km</span></code> is the distance value\nin kilometers. See <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/measure/\"><span class=\"doc\">Obyek Pengukuran</span></a> for usage details and the list of\n<a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/measure/#supported-units\"><span class=\"std std-ref\">Satuan Didukung</span></a>.</p>\n</aside>\n</section>\n<section id=\"envelope\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Envelope</span></code><a class=\"heading-anchor\" href=\"#envelope\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Envelope\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Envelope</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Envelope\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL, PostGIS, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns the geometry\nrepresenting the bounding box of the geometry.</p>\n</section>\n<section id=\"forcerhr\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">ForceRHR</span></code><a class=\"heading-anchor\" href=\"#forcerhr\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.ForceRHR\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ForceRHR</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.ForceRHR\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: <a class=\"reference external\" href=\"http://postgis.net/docs/ST_ForceRHR.html\">PostGIS</a></p>\n<p>Accepts a single geographic field or expression and returns a modified version\nof the polygon/multipolygon in which all of the vertices follow the\nright-hand rule.</p>\n</section>\n<section id=\"geohash\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">GeoHash</span></code><a class=\"heading-anchor\" href=\"#geohash\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.GeoHash\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GeoHash</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.GeoHash\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS</p>\n<p>Accepts a single geographic field or expression and returns a <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Geohash\">GeoHash</a>\nrepresentation of the geometry.</p>\n</section>\n<section id=\"intersection\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Intersection</span></code><a class=\"heading-anchor\" href=\"#intersection\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Intersection\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Intersection</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr1</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr2</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Intersection\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts two geographic fields or expressions and returns the geometric\nintersection between them.</p>\n</section>\n<section id=\"length\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Length</span></code><a class=\"heading-anchor\" href=\"#length\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Length\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Length</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">spheroid</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL, Oracle, PostGIS, SpatiaLite</p>\n<p>Accepts a single geographic linestring or multilinestring field or expression\nand returns its length as an <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Distance</span></code></a>\nmeasure. On MySQL, a raw float value is returned, as it's not possible to\nautomatically determine the unit of the field.</p>\n<p>On PostGIS and SpatiaLite, when the coordinates are geodetic (angular), you can\nspecify if the calculation should be based on a simple sphere (less\naccurate, less resource-intensive) or on a spheroid (more accurate, more\nresource-intensive) with the <code class=\"docutils literal notranslate\"><span class=\"pre\">spheroid</span></code> keyword argument.</p>\n</section>\n<section id=\"memsize\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">MemSize</span></code><a class=\"heading-anchor\" href=\"#memsize\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.MemSize\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MemSize</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.MemSize\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS</p>\n<p>Accepts a single geographic field or expression and returns the memory size\n(number of bytes) that the geometry field takes.</p>\n</section>\n<section id=\"numgeometries\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">NumGeometries</span></code><a class=\"heading-anchor\" href=\"#numgeometries\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.NumGeometries\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">NumGeometries</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.NumGeometries\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL, PostGIS, Oracle, SpatiaLite</p>\n<p>Terima bidang geografis tunggal atau pernyataan dan kembalikan angka dari geometris jika bidang geometris adalah kumpulan (sebagai contoh, sebuah bidang <code class=\"docutils literal notranslate\"><span class=\"pre\">GEOMETRYCOLLECTION</span></code> atau <code class=\"docutils literal notranslate\"><span class=\"pre\">MULTI*</span></code>); sebaliknya mengembalikkan <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</section>\n<section id=\"numpoints\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">NumPoints</span></code><a class=\"heading-anchor\" href=\"#numpoints\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.NumPoints\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">NumPoints</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.NumPoints\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL, PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns the number of points\nin the first linestring in the geometry field; otherwise returns <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</section>\n<section id=\"perimeter\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Perimeter</span></code><a class=\"heading-anchor\" href=\"#perimeter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Perimeter\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Perimeter</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Perimeter\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, Oracle, SpatiaLite (≥ 4.0)</p>\n<p>Accepts a single geographic field or expression and returns the perimeter of the\ngeometry field as a <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Distance</span></code></a> object. On\nMySQL, a raw float value is returned, as it's not possible to automatically\ndetermine the unit of the field.</p>\n</section>\n<section id=\"pointonsurface\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">PointOnSurface</span></code><a class=\"heading-anchor\" href=\"#pointonsurface\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.PointOnSurface\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PointOnSurface</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.PointOnSurface\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns a <code class=\"docutils literal notranslate\"><span class=\"pre\">Point</span></code> geometry\nguaranteed to lie on the surface of the field; otherwise returns <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</section>\n<section id=\"reverse\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Reverse</span></code><a class=\"heading-anchor\" href=\"#reverse\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Reverse\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Reverse</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Reverse\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, Oracle, SpatiaLite (≥ 4.0)</p>\n<p>Accepts a single geographic field or expression and returns a geometry with\nreversed coordinates.</p>\n</section>\n<section id=\"scale\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Scale</span></code><a class=\"heading-anchor\" href=\"#scale\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Scale\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Scale</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">z</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">0.0</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Scale\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns a geometry with\nscaled coordinates by multiplying them with the <code class=\"docutils literal notranslate\"><span class=\"pre\">x</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">y</span></code>, and optionally\n<code class=\"docutils literal notranslate\"><span class=\"pre\">z</span></code> parameters.</p>\n</section>\n<section id=\"snaptogrid\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">SnapToGrid</span></code><a class=\"heading-anchor\" href=\"#snaptogrid\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.SnapToGrid\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SnapToGrid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.SnapToGrid\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, SpatiaLite (≥ 3.1)</p>\n<p>Accepts a single geographic field or expression and returns a geometry with all\npoints snapped to the given grid.  How the geometry is snapped to the grid\ndepends on how many numeric (either float, integer, or long) arguments are\ngiven.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Jumlah Argumen</p></th>\n<th class=\"head\"><p>Deskripsi</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>1</p></td>\n<td><p>A single size to snap both the X and Y grids to.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>2</p></td>\n<td><p>X and Y sizes to snap the grid to.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p>4</p></td>\n<td><p>X, Y sizes and the corresponding X, Y origins.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"symdifference\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">SymDifference</span></code><a class=\"heading-anchor\" href=\"#symdifference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.SymDifference\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SymDifference</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr1</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr2</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.SymDifference\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts two geographic fields or expressions and returns the geometric\nsymmetric difference (union without the intersection) between the given\nparameters.</p>\n</section>\n<section id=\"transform\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Transform</span></code><a class=\"heading-anchor\" href=\"#transform\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Transform\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Transform</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">srid</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Transform\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts a geographic field or expression and a SRID integer code, and returns\nthe transformed geometry to the spatial reference system specified by the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">srid</span></code> parameter.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>What spatial reference system an integer SRID corresponds to may depend on\nthe spatial database used.  In other words, the SRID numbers used for Oracle\nare not necessarily the same as those used by PostGIS.</p>\n</aside>\n</section>\n<section id=\"translate\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Translate</span></code><a class=\"heading-anchor\" href=\"#translate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Translate\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Translate</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">z</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">0.0</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Translate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: PostGIS, SpatiaLite</p>\n<p>Accepts a single geographic field or expression and returns a geometry with\nits coordinates offset by the <code class=\"docutils literal notranslate\"><span class=\"pre\">x</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">y</span></code>, and optionally <code class=\"docutils literal notranslate\"><span class=\"pre\">z</span></code> numeric\nparameters.</p>\n</section>\n<section id=\"union\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">Union</span></code><a class=\"heading-anchor\" href=\"#union\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.functions.Union\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Union</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr1</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expr2</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.functions.Union\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Tersedia</em>: MySQL (≥ 5.6.1), PostGIS, Oracle, SpatiaLite</p>\n<p>Accepts two geographic fields or expressions and returns the union of both\ngeometries.</p>\n</section>","rootId":"module-django.contrib.gis.db.models.functions","toc":[{"title":"Area","anchor":"area","children":[]},{"title":"AsGeoJSON","anchor":"asgeojson","children":[]},{"title":"AsGML","anchor":"asgml","children":[]},{"title":"AsKML","anchor":"askml","children":[]},{"title":"AsSVG","anchor":"assvg","children":[]},{"title":"BoundingCircle","anchor":"boundingcircle","children":[]},{"title":"Centroid","anchor":"centroid","children":[]},{"title":"Difference","anchor":"difference","children":[]},{"title":"Distance","anchor":"distance","children":[]},{"title":"Envelope","anchor":"envelope","children":[]},{"title":"ForceRHR","anchor":"forcerhr","children":[]},{"title":"GeoHash","anchor":"geohash","children":[]},{"title":"Intersection","anchor":"intersection","children":[]},{"title":"Length","anchor":"length","children":[]},{"title":"MemSize","anchor":"memsize","children":[]},{"title":"NumGeometries","anchor":"numgeometries","children":[]},{"title":"NumPoints","anchor":"numpoints","children":[]},{"title":"Perimeter","anchor":"perimeter","children":[]},{"title":"PointOnSurface","anchor":"pointonsurface","children":[]},{"title":"Reverse","anchor":"reverse","children":[]},{"title":"Scale","anchor":"scale","children":[]},{"title":"SnapToGrid","anchor":"snaptogrid","children":[]},{"title":"SymDifference","anchor":"symdifference","children":[]},{"title":"Transform","anchor":"transform","children":[]},{"title":"Translate","anchor":"translate","children":[]},{"title":"Union","anchor":"union","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/1.9/ref/"},{"docname":"ref/contrib/index","title":"Paket contrib","url":"/id/1.9/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/id/1.9/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/geoquerysets","title":"Acuan API GeoQuerySet","url":"/id/1.9/ref/contrib/gis/geoquerysets/"},"next":{"docname":"ref/contrib/gis/measure","title":"Obyek Pengukuran","url":"/id/1.9/ref/contrib/gis/measure/"},"formats":{"html":"/id/1.9/ref/contrib/gis/functions/","markdown":"/id/1.9/ref/contrib/gis/functions.md","json":"/id/1.9/ref/contrib/gis/functions.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/ref/contrib/gis/functions.txt","official":"https://docs.djangoproject.com/id/1.9/ref/contrib/gis/functions/","inVersions":["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"],"inLocales":["en","fr","ja","id","pt-br","es"]}