{"title":"GeoDjango modell-API","version":"6.1","locale":"sv","docname":"ref/contrib/gis/model-api","url":"/sv/6.1/ref/contrib/gis/model-api/","canonical":"https://djangodocs.dev/sv/6.1/ref/contrib/gis/model-api/","summary":"Det här dokumentet undersöker detaljerna i GeoDjango Model API.","html":"<span id=\"geodjango-model-api\"></span><h1>GeoDjango modell-API<a class=\"heading-anchor\" href=\"#module-django.contrib.gis.db.models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Det här dokumentet undersöker detaljerna i GeoDjango Model API. I hela detta avsnitt används följande geografiska modell av ett <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/ZIP_code\">postnummer</a> och en <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Digital_elevation_model\">digital höjdmodell</a> som exempel:</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=\"nn\">django.contrib.gis.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Zipcode</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    code <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n    poly <span class=\"o\">=</span> models<span class=\"o\">.</span>PolygonField<span class=\"p\">()</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Elevation</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n    rast <span class=\"o\">=</span> models<span class=\"o\">.</span>RasterField<span class=\"p\">()</span>\n</code></pre></div>\n<section id=\"spatial-field-types\">\n<h2>Spatiala fälttyper<a class=\"heading-anchor\" href=\"#spatial-field-types\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Spatiala fält består av en serie geometriska fälttyper och en rasterfälttyp. Var och en av geometrifälttyperna motsvarar OpenGIS Simple Features-specifikationen <a class=\"footnote-reference brackets\" href=\"#fnogc\" id=\"id3\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>1<span class=\"fn-bracket\">]</span></a>. Det finns ingen sådan standard för rasterdata.</p>\n<section id=\"geometryfield\">\n<h3><code class=\"docutils literal notranslate\">GeometryField</code><a class=\"heading-anchor\" href=\"#geometryfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeometryField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GeometryField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeometryField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Basklass för geometriska fält.</p>\n</section>\n<section id=\"pointfield\">\n<h3><code class=\"docutils literal notranslate\">PointField</code><a class=\"heading-anchor\" href=\"#pointfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.PointField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">PointField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.PointField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a>.</p>\n</section>\n<section id=\"linestringfield\">\n<h3><code class=\"docutils literal notranslate\">LineStringField</code><a class=\"heading-anchor\" href=\"#linestringfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.LineStringField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">LineStringField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.LineStringField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a>.</p>\n</section>\n<section id=\"polygonfield\">\n<h3><code class=\"docutils literal notranslate\">PolygonField</code><a class=\"heading-anchor\" href=\"#polygonfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.PolygonField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">PolygonField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.PolygonField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a>.</p>\n</section>\n<section id=\"multipointfield\">\n<h3><code class=\"docutils literal notranslate\">MultiPointField</code><a class=\"heading-anchor\" href=\"#multipointfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.MultiPointField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultiPointField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.MultiPointField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.MultiPoint\" title=\"django.contrib.gis.geos.MultiPoint\"><code class=\"xref py py-class docutils literal notranslate\">MultiPoint</code></a>.</p>\n</section>\n<section id=\"multilinestringfield\">\n<h3><code class=\"docutils literal notranslate\">MultiLineStringField</code><a class=\"heading-anchor\" href=\"#multilinestringfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.MultiLineStringField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultiLineStringField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.MultiLineStringField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.MultiLineString\" title=\"django.contrib.gis.geos.MultiLineString\"><code class=\"xref py py-class docutils literal notranslate\">MultiLineString</code></a>.</p>\n</section>\n<section id=\"multipolygonfield\">\n<h3><code class=\"docutils literal notranslate\">MultiPolygonField</code><a class=\"heading-anchor\" href=\"#multipolygonfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.MultiPolygonField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultiPolygonField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.MultiPolygonField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.MultiPolygon\" title=\"django.contrib.gis.geos.MultiPolygon\"><code class=\"xref py py-class docutils literal notranslate\">MultiPolygon</code></a>.</p>\n</section>\n<section id=\"geometrycollectionfield\">\n<h3><code class=\"docutils literal notranslate\">GeometryCollectionField</code><a class=\"heading-anchor\" href=\"#geometrycollectionfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeometryCollectionField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GeometryCollectionField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeometryCollectionField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GeometryCollection\" title=\"django.contrib.gis.geos.GeometryCollection\"><code class=\"xref py py-class docutils literal notranslate\">GeometryCollection</code></a>.</p>\n</section>\n<section id=\"rasterfield\">\n<h3><code class=\"docutils literal notranslate\">RasterField</code><a class=\"heading-anchor\" href=\"#rasterfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.RasterField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">RasterField</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.RasterField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Lagrar en <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/gdal/#django.contrib.gis.gdal.GDALRaster\" title=\"django.contrib.gis.gdal.GDALRaster\"><code class=\"xref py py-class docutils literal notranslate\">GDALRaster</code></a>.</p>\n<p><code class=\"docutils literal notranslate\">RasterField</code> är för närvarande endast implementerat för PostGIS backend.</p>\n</section>\n</section>\n<section id=\"spatial-field-options\">\n<h2>Alternativ för rumslig fältindelning<a class=\"heading-anchor\" href=\"#spatial-field-options\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Förutom de vanliga <a class=\"reference internal\" href=\"/sv/6.1/ref/models/fields/#common-model-field-options\"><span class=\"std std-ref\">Alternativ för fält</span></a> som finns tillgängliga för Django-modellfält, har spatiala fält följande ytterligare alternativ. Alla är valfria.</p>\n<section id=\"srid\">\n<h3><code class=\"docutils literal notranslate\">srid</code><a class=\"heading-anchor\" href=\"#srid\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.BaseSpatialField.srid\">\n<span class=\"sig-prename descclassname\">BaseSpatialField.</span><span class=\"sig-name descname\">srid</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.BaseSpatialField.srid\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Ställer in SRID <a class=\"footnote-reference brackets\" href=\"#fnogcsrid\" id=\"id4\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>2<span class=\"fn-bracket\">]</span></a> (Spatial Reference System Identity) för geometrifältet till det angivna värdet. Standardvärdet är 4326 (även känt som <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/WGS84\">WGS84</a>, enheterna är i grader av longitud och latitud).</p>\n<p>Setting the SRID to <code class=\"docutils literal notranslate\">-1</code> disables automatic SRID transformations when saving\ngeometries. The assigned geometry’s SRID is set to <code class=\"docutils literal notranslate\">-1</code>, discarding any\nexplicit SRID it had.</p>\n<section id=\"selecting-an-srid\">\n<span id=\"id6\"></span><h4>Välja en SRID<a class=\"heading-anchor\" href=\"#selecting-an-srid\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Att välja ett lämpligt SRID för modellen är ett viktigt beslut som utvecklaren bör överväga noggrant. SRID är en heltalsspecifikation som motsvarar det projektionssystem som används för att tolka data i den spatiala databasen. <a class=\"footnote-reference brackets\" href=\"#fnsrid\" id=\"id7\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></a> Projektionssystem ger ett sammanhang åt koordinaterna som anger en plats. Detaljerna i <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Geodesy\">geodesi</a> ligger utanför denna dokumentations räckvidd, men det grundläggande problemet är att jorden är sfärisk medan representationer av jorden (t.ex. papperskartor och webbkartor) inte är det.</p>\n<p>De flesta känner till att använda latitud och longitud för att ange en plats på jordytan. Latitud och longitud är dock vinklar, inte avstånd. Med andra ord är den kortaste vägen mellan två punkter på en plan yta en rak linje, medan den kortaste vägen mellan två punkter på en krökt yta (som jorden) är en <em>båge</em> av en <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Great_circle\">storcirkel</a>. <a class=\"footnote-reference brackets\" href=\"#fnthematic\" id=\"id8\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>4<span class=\"fn-bracket\">]</span></a></p>\n<p>Därför krävs ytterligare beräkningar för att få avstånd i plana enheter (t.ex. kilometer och engelska mil). Att använda ett geografiskt koordinatsystem kan medföra komplikationer för utvecklaren senare. SpatiaLite kan till exempel inte utföra avståndsberäkningar mellan geometrier som använder geografiska koordinatsystem, såsom att konstruera en fråga för att hitta alla punkter inom 5 engelska mil från en länsgräns lagrad som WGS84. <a class=\"footnote-reference brackets\" href=\"#fndist\" id=\"id9\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>5<span class=\"fn-bracket\">]</span></a></p>\n<p>Delar av jordytan kan projiceras på ett tvådimensionellt, eller kartesiskt, plan. Projekterade koordinatsystem är särskilt praktiska för regionspecifika tillämpningar. Om du till exempel vet att databasen endast täcker geometrier i <a class=\"reference external\" href=\"https://spatialreference.org/ref/epsg/2796/\">North Kansas</a> kan du överväga att använda ett projektionssystem som är specifikt för den regionen. Dessutom definieras projekterade koordinatsystem i kartesiska enheter (som meter eller fot), vilket underlättar avståndsberäkningar.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Om du vill utföra godtyckliga avståndsfrågor med hjälp av icke-punktgeometrier i WGS84 i PostGIS och du vill ha anständig prestanda, aktivera nyckelordet <a class=\"reference internal\" href=\"#django.contrib.gis.db.models.GeometryField.geography\" title=\"django.contrib.gis.db.models.GeometryField.geography\"><code class=\"xref py py-attr docutils literal notranslate\">GeometryField.geography</code></a> så att <a class=\"reference internal\" href=\"#geography-type\"><span class=\"std std-ref\">geography database type</span></a> används istället.</p>\n</aside>\n<p>Mer om detta:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://spatialreference.org/\">spatialreference.org</a>: En databas med spatiala referenssystem.</p></li>\n<li><p><a class=\"reference external\" href=\"https://web.archive.org/web/20080302095452/http://welcome.warnercnr.colostate.edu/class_info/nr502/lg3/datums_coordinates/spcs.html\">The State Plane Coordinate System</a>: En webbplats som beskriver de olika projektionssystem som används i USA. Mycket av de spatiala data från USA som du möter kommer att använda något av dessa koordinatsystem i stället för ett geografiskt koordinatsystem som WGS84.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"spatial-index\">\n<h3><code class=\"docutils literal notranslate\">rumsligt_index</code><a class=\"heading-anchor\" href=\"#spatial-index\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.BaseSpatialField.spatial_index\">\n<span class=\"sig-prename descclassname\">BaseSpatialField.</span><span class=\"sig-name descname\">spatial_index</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.BaseSpatialField.spatial_index\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Standardvärdet är <code class=\"docutils literal notranslate\">True</code>. Skapar ett spatialt index för det angivna geometrifältet.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Detta skiljer sig från fältalternativet <code class=\"docutils literal notranslate\">db_index</code> eftersom spatiala index skapas på ett annat sätt än vanliga databasindex. I synnerhet skapas spatiala index vanligen med en variant av R-trädet, medan vanliga databasindex vanligen använder B-träd.</p>\n</aside>\n</section>\n</section>\n<section id=\"geometry-field-options\">\n<span id=\"id15\"></span><h2>Alternativ för geometrifält<a class=\"heading-anchor\" href=\"#geometry-field-options\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Det finns ytterligare alternativ tillgängliga för Geometry-fält. Alla följande alternativ är valfria.</p>\n<section id=\"dim\">\n<h3><code class=\"docutils literal notranslate\">dim</code><a class=\"heading-anchor\" href=\"#dim\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeometryField.dim\">\n<span class=\"sig-prename descclassname\">GeometryField.</span><span class=\"sig-name descname\">dim</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeometryField.dim\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Detta alternativ kan användas för att anpassa koordinatdimensionen för geometrifältet. Som standard är det satt till 2 för att representera tvådimensionella geometrier. För spatiala backendar som stöder det kan det sättas till 3 för tredimensionellt stöd.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>För närvarande är 3D-stödet begränsat till PostGIS- och SpatiaLite-backends.</p>\n</aside>\n</section>\n<section id=\"geography\">\n<h3><code class=\"docutils literal notranslate\">geografi</code><a class=\"heading-anchor\" href=\"#geography\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeometryField.geography\">\n<span class=\"sig-prename descclassname\">GeometryField.</span><span class=\"sig-name descname\">geography</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeometryField.geography\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om värdet är <code class=\"docutils literal notranslate\">True</code> skapar detta alternativ en databaskolumn av typen geography i stället för geometry. Mer information finns i avsnittet <a class=\"reference internal\" href=\"#geography-type\"><span class=\"std std-ref\">geography-typen</span></a> nedan.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Geografistödet är begränsat till PostGIS och tvingar SRID att vara 4326.</p>\n</aside>\n</section>\n<section id=\"max-geom-collections\">\n<h3><code class=\"docutils literal notranslate\">max_geom_collections</code><a class=\"heading-anchor\" href=\"#max-geom-collections\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeometryField.max_geom_collections\">\n<span class=\"sig-prename descclassname\">GeometryField.</span><span class=\"sig-name descname\">max_geom_collections</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeometryField.max_geom_collections\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Detta alternativ vidarebefordras till <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/forms-api/#django.contrib.gis.forms.Field.max_geom_collections\" title=\"django.contrib.gis.forms.Field.max_geom_collections\"><code class=\"xref py py-attr docutils literal notranslate\">formulärfältet</code></a> som genereras för detta modellfält och begränsar hur många geometrisamlingar som kan ingå i inskickad WKB/WKT-indata innan <a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#ValueError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\">ValueError</code></a> utlöses. Eftersom tilldelningar till spatiala fält är lata kontrolleras det även när värden används, t.ex. när en instans sparas, men inte när de läses från en databas. Standardvärdet är <code class=\"docutils literal notranslate\">198</code>.</p>\n<section id=\"geography-type\">\n<span id=\"id16\"></span><h4>Geography-typ<a class=\"heading-anchor\" href=\"#geography-type\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Geography-typen ger inbyggt stöd för spatiala objekt som representeras med geografiska koordinater (t.ex. WGS84-longitud/latitud). <a class=\"footnote-reference brackets\" href=\"#fngeography\" id=\"id17\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>6<span class=\"fn-bracket\">]</span></a> Till skillnad från det plan som används av en geometry-typ använder geography-typen en sfärisk representation av sina data. Avstånds- och mätoperationer som utförs på en geography-kolumn använder automatiskt beräkningar med storcirkelbågar och returnerar linjära enheter. Med andra ord returneras ett värde i meter när <code class=\"docutils literal notranslate\">ST_Distance</code> anropas för två geography-objekt (i stället för grader om det anropas för en geometry-kolumn i WGS84).</p>\n<p>Eftersom geografiska beräkningar kräver mer matematik är endast en delmängd av PostGIS rumsliga uppslagsord tillgängliga för den geografiska typen. I praktiken innebär detta att utöver <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geoquerysets/#distance-lookups\"><span class=\"std std-ref\">distance lookups</span></a> är endast följande ytterligare <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geoquerysets/#spatial-lookups\"><span class=\"std std-ref\">spatial lookups</span></a> tillgängliga för geografiska kolumner:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geoquerysets/#std-fieldlookup-bboverlaps\"><code class=\"xref std std-lookup docutils literal notranslate\">bboverlaps</code></a></p></li>\n<li><p><code class=\"xref std std-lookup docutils literal notranslate\">täckt av</code></p></li>\n<li><p><code class=\"xref std std-lookup docutils literal notranslate\">täcken</code></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/gis/geoquerysets/#std-fieldlookup-intersects\"><code class=\"xref std std-lookup docutils literal notranslate\">intersects</code></a></p></li>\n</ul>\n<p>Om du behöver använda en spatial lookup eller aggregat som inte stöder geografin som indata kan du använda databasfunktionen <a class=\"reference internal\" href=\"/sv/6.1/ref/models/database-functions/#django.db.models.functions.Cast\" title=\"django.db.models.functions.Cast\"><code class=\"xref py py-class docutils literal notranslate\">Cast</code></a> för att konvertera geografikolumnen till en geometrityp i frågan:</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=\"nn\">django.contrib.gis.db.models</span> <span class=\"kn\">import</span> PointField\n<span class=\"kn\">from</span> <span class=\"nn\">django.db.models.functions</span> <span class=\"kn\">import</span> Cast\n\nZipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>annotate<span class=\"p\">(</span>geom<span class=\"o\">=</span>Cast<span class=\"p\">(</span><span class=\"s2\">&quot;geography_field&quot;</span><span class=\"p\">,</span> PointField<span class=\"p\">()))</span><span class=\"o\">.</span>filter<span class=\"p\">(</span>\n    geom__within<span class=\"o\">=</span>poly\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Mer information finns i PostGIS-dokumentationens användbara avsnitt om att avgöra <a class=\"reference external\" href=\"https://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_GeographyVSGeometry\">när datatypen geography ska användas i stället för geometry</a>.</p>\n<p class=\"rubric\">Fotnoter</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"fnogc\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id3\">1</a><span class=\"fn-bracket\">]</span></span>\n<p>OpenGIS Consortium, Inc, <a class=\"reference external\" href=\"https://www.ogc.org/standard/sfs/\">Simple Feature Specification For SQL</a>.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fnogcsrid\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id4\">2</a><span class=\"fn-bracket\">]</span></span>\n<p><em>Se id.</em> i kap. 2.3.8, s. 39 (Geometrivärden och rumsliga referenssystem).</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fnsrid\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id7\">3</a><span class=\"fn-bracket\">]</span></span>\n<p>Vanligen motsvarar SRID-heltalet en EPSG-identifierare (<a class=\"reference external\" href=\"https://epsg.org/\">European Petroleum Survey Group</a>). Det kan dock även kopplas till anpassade projektioner som definieras i den spatiala databasens tabell över spatiala referenssystem.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fnthematic\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id8\">4</a><span class=\"fn-bracket\">]</span></span>\n<p>Terry A. Slocum, Robert B. McMaster, Fritz C. Kessler och Hugh H. Howard, <em>Thematic Cartography and Geographic Visualization</em> (Prentice Hall, 2:a upplagan), kapitel 7.1.3.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fndist\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id9\">5</a><span class=\"fn-bracket\">]</span></span>\n<p>Denna begränsning gäller inte för PostGIS.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fngeography\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id17\">6</a><span class=\"fn-bracket\">]</span></span>\n<p>Mer information finns i dokumentationen <a class=\"reference external\" href=\"https://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_Geography\">PostGIS Geography Type</a>.</p>\n</aside>\n</aside>\n</section>\n</section>\n</section>","rootId":"module-django.contrib.gis.db.models","toc":[{"title":"Spatiala fälttyper","anchor":"spatial-field-types","children":[{"title":"GeometryField","anchor":"geometryfield","children":[]},{"title":"PointField","anchor":"pointfield","children":[]},{"title":"LineStringField","anchor":"linestringfield","children":[]},{"title":"PolygonField","anchor":"polygonfield","children":[]},{"title":"MultiPointField","anchor":"multipointfield","children":[]},{"title":"MultiLineStringField","anchor":"multilinestringfield","children":[]},{"title":"MultiPolygonField","anchor":"multipolygonfield","children":[]},{"title":"GeometryCollectionField","anchor":"geometrycollectionfield","children":[]},{"title":"RasterField","anchor":"rasterfield","children":[]}]},{"title":"Alternativ för rumslig fältindelning","anchor":"spatial-field-options","children":[{"title":"srid","anchor":"srid","children":[{"title":"Välja en SRID","anchor":"selecting-an-srid","children":[]}]},{"title":"rumsligt_index","anchor":"spatial-index","children":[]}]},{"title":"Alternativ för geometrifält","anchor":"geometry-field-options","children":[{"title":"dim","anchor":"dim","children":[]},{"title":"geografi","anchor":"geography","children":[]},{"title":"max_geom_collections","anchor":"max-geom-collections","children":[{"title":"Geography-typ","anchor":"geography-type","children":[]}]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/6.1/ref/"},{"docname":"ref/contrib/index","title":"contrib paket","url":"/sv/6.1/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/sv/6.1/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/install/spatialite","title":"Installera SpatiaLite","url":"/sv/6.1/ref/contrib/gis/install/spatialite/"},"next":{"docname":"ref/contrib/gis/db-api","title":"GeoDjango databas API","url":"/sv/6.1/ref/contrib/gis/db-api/"},"formats":{"html":"/sv/6.1/ref/contrib/gis/model-api/","markdown":"/sv/6.1/ref/contrib/gis/model-api.md","json":"/sv/6.1/ref/contrib/gis/model-api.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/contrib/gis/model-api.txt","official":"https://docs.djangoproject.com/sv/6.1/ref/contrib/gis/model-api/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}