{"title":"Ranganna Teagaisc GeodJango","version":"6.1","locale":"ga","docname":"ref/contrib/gis/tutorial","url":"/ga/6.1/ref/contrib/gis/tutorial/","canonical":"https://djangodocs.dev/ga/6.1/ref/contrib/gis/tutorial/","summary":"Réamhrá Link to this heading # Is modúl contrib san áireamh é GeodJango do Django a iompaíonn é ina creat gréasáin geografach den scoth. Déanann GeodJango iarracht…","html":"<h1>Ranganna Teagaisc GeodJango<a class=\"heading-anchor\" href=\"#geodjango-tutorial\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"introduction\">\n<h2>Réamhrá<a class=\"heading-anchor\" href=\"#introduction\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Is modúl contrib san áireamh é GeodJango do Django a iompaíonn é ina creat gréasáin geografach den scoth. Déanann GeodJango iarracht é a dhéanamh chomh simplí agus is féidir feidhmchláir gréasáin geografacha a chruthú, cosúil le seirbhísí suíomh-bhunaithe. I measc a ghnéithe tá:</p>\n<ul class=\"simple\">\n<li><p>Réimsí samhail Django le haghaidh geoiméadraí <a class=\"reference external\" href=\"https://www.ogc.org/\">OGC</a> agus sonraí raster.</p></li>\n<li><p>Síntí ar ORM Django chun sonraí spásúla a cheistiú agus a ionramháil.</p></li>\n<li><p>Comhéadain Python ardleibhéil, comhcheangailte go scaoilte le haghaidh geoiméadracht GIS agus oibríochtaí raster agus ionramháil sonraí i bhformáidí éag</p></li>\n<li><p>Réimsí geoiméadra a chur in eagar ón riarachán</p></li>\n</ul>\n<p>Glacann an rang teagaisc seo le eolas ar Django; dá bhrí sin, má tá tú nua-aimseartha do Django, léigh trí:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>rang teagaisc rialta' le do thoil chun eolas a chur ar Django ar dtús. &lt;/intro/tutorial01&gt;</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>GeoDjango has additional requirements beyond what Django requires -- please\nconsult the <a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/install/\"><span class=\"doc\">installation documentation</span></a> for more details.</p>\n</aside>\n<p>Tabharfaidh an rang teagaisc seo treoir duit trí fheidhmchlár gréasáin geografach a chruthú chun féachaint ar na <a class=\"reference external\" href=\"https://code.google.com/archive/p/geodjango-basic-apps\">teorainneacha domhain</a>. [#] _ Tógtar cuid den chód a úsáidtear sa rang teagaisc seo ó thionscadal <a class=\"reference external\" href=\"https://web.archive.org/web/20240123190237/https://thematicmapping.org/downloads/world_borders.php\">GeoDjango bunaipeanna `_ agus/nó spreagtha ag an tionscadal `GeoDjango bunús</a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Téigh ar aghaidh tríd na rannáin teagaisc go seicheamhach le haghaidh treoracha céim</p>\n</aside>\n</section>\n<section id=\"setting-up\">\n<h2>Ag bhunú<a class=\"heading-anchor\" href=\"#setting-up\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"create-a-spatial-database\">\n<h3>Cruthaigh Bunachar Sonraí Spásúil<a class=\"heading-anchor\" href=\"#create-a-spatial-database\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>De ghnáth ní theastaíonn socrú speisialta, ionas gur féidir leat bunachar sonraí a chruthú mar a dhéanfá d'aon tionscadal eile. Soláthraímid roinnt leideanna do bhunachar sonraí roghnai</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/install/postgis/\"><span class=\"doc\">PostGIS a shuiteáil</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/install/spatialite/\"><span class=\"doc\">Suiteáil SpatiaLite</span></a></p></li>\n</ul>\n</section>\n<section id=\"create-a-new-project\">\n<h3>Cruthaigh Tionscadal Nua<a class=\"heading-anchor\" href=\"#create-a-new-project\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Úsáid an script caighdeánach <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span> <span class=\"pre\">``chun</span> <span class=\"pre\">tionscadal</span> <span class=\"pre\">ar</span> <span class=\"pre\">a</span> <span class=\"pre\">dtugtar</span> <span class=\"pre\">``geodjango</span></code> a chruthú:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>django-admin<span class=\"w\"> </span>startproject<span class=\"w\"> </span>geodjango\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> django-admin startproject geodjango\n</code></pre></div></div></div>\n<p>Cuirfidh sé seo tionscadal nua a thosú. Anois, cruthaigh feidhmchlár <code class=\"docutils literal notranslate\"><span class=\"pre\">domh</span></code> Django laistigh den tionscadal <code class=\"docutils literal notranslate\"><span class=\"pre\">geodjango</span></code>:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span><span class=\"nb\">cd</span><span class=\"w\"> </span>geodjango\n<span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>startapp<span class=\"w\"> </span>world\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> <span class=\"k\">cd</span> geodjango\n<span class=\"gp\">...\\&gt;</span> py manage.py startapp world\n</code></pre></div></div></div>\n</section>\n<section id=\"configure-settings-py\">\n<h3>Cumraigh <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.py</span></code><a class=\"heading-anchor\" href=\"#configure-settings-py\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Stóráiltear na socruithe tionscadail <code class=\"docutils literal notranslate\"><span class=\"pre\">geodjango</span></code> sa chomhad <code class=\"docutils literal notranslate\"><span class=\"pre\">geodjango/settings.py</span></code>. Cuir na socruithe nasc bunachar sonraí in eagar chun do shocrú a mheaitseáil:</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=\"n\">DATABASES</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;default&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;ENGINE&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.contrib.gis.db.backends.postgis&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;NAME&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;geodjango&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;USER&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;geo&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Ina theannta sin, modhnaigh an socrú:setting: INSTALLED_APPS chun go n-áirítear: mod: django.contrib.admin, :mod: django.contrib.gis, agus <code class=\"docutils literal notranslate\"><span class=\"pre\">world</span></code> (d'iarratas nua-chruthaithe):</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=\"n\">INSTALLED_APPS</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"s2\">&quot;django.contrib.admin&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.auth&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.contenttypes&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.sessions&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.messages&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.staticfiles&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.gis&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;world&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"geographic-data\">\n<h2>Sonraí Geografacha<a class=\"heading-anchor\" href=\"#geographic-data\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"worldborders\">\n<span id=\"id3\"></span><h3>Teorainneacha Domhanda<a class=\"heading-anchor\" href=\"#worldborders\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The world borders data is available in this <a class=\"reference external\" href=\"https://web.archive.org/web/20231220150759/https://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip\">zip file</a>. Create a <code class=\"docutils literal notranslate\"><span class=\"pre\">data</span></code>\ndirectory in the <code class=\"docutils literal notranslate\"><span class=\"pre\">world</span></code> application, download the world borders data, and\nunzip. On GNU/Linux platforms, use the following commands:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-2-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>mkdir<span class=\"w\"> </span>world/data\n<span class=\"gp\">$ </span><span class=\"nb\">cd</span><span class=\"w\"> </span>world/data\n<span class=\"gp\">$ </span>wget<span class=\"w\"> </span>https://web.archive.org/web/20231220150759/https://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip\n<span class=\"gp\">$ </span>unzip<span class=\"w\"> </span>TM_WORLD_BORDERS-0.3.zip\n<span class=\"gp\">$ </span><span class=\"nb\">cd</span><span class=\"w\"> </span>../..\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-2-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> <span class=\"k\">mkdir</span> world\\data\n<span class=\"gp\">...\\&gt;</span> <span class=\"k\">cd</span> world\\data\n<span class=\"gp\">...\\&gt;</span> wget https://web.archive.org/web/20231220150759/https://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip\n<span class=\"gp\">...\\&gt;</span> unzip TM_WORLD_BORDERS-0.3.zip\n<span class=\"gp\">...\\&gt;</span> <span class=\"k\">cd</span> ..\\..\n</code></pre></div></div></div>\n<p>The world borders ZIP file contains a set of data files collectively known as\nan <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Shapefile\">ESRI Shapefile</a>, one of the most popular geospatial data formats. When\nunzipped, the world borders dataset includes files with the following\nextensions:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">.shp</span></code>: Coinníonn na sonraí veicteora do gheoiméadrachtaí teorainneacha domhanda.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">.shx</span></code>: Comhad innéacs spásúil le haghaidh geoiméadraí atá stóráilte sa .shp`.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">.dbf</span></code>: Comhad bunachar sonraí chun sonraí tréithe neamh-geoiméadracha a choinneáil (m.sh., réimsí sláimhir agus carachtar).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">.prj</span></code>: Tá an fhaisnéis tagartha spásúil ann do na sonraí geografacha atá stóráilte sa chomhad cruth.</p></li>\n</ul>\n</section>\n<section id=\"use-ogrinfo-to-examine-spatial-data\">\n<h3>Úsáid <code class=\"docutils literal notranslate\"><span class=\"pre\">ogrinfo</span></code> chun sonraí spásúla a scrúdú<a class=\"heading-anchor\" href=\"#use-ogrinfo-to-examine-spatial-data\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ligeann fóntais GDAL <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ogrinfo` a scrúdú ar mheiteashonraí comhaid cruth nó foinsí sonraí veicteora eile:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-3-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>ogrinfo<span class=\"w\"> </span>world/data/TM_WORLD_BORDERS-0.3.shp\n<span class=\"go\">INFO: Open of `world/data/TM_WORLD_BORDERS-0.3.shp&#39;</span>\n<span class=\"go\">      using driver `ESRI Shapefile&#39; successful.</span>\n<span class=\"go\">1: TM_WORLD_BORDERS-0.3 (Polygon)</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-3-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> ogrinfo world\\data\\TM_WORLD_BORDERS-0.3.shp\n<span class=\"go\">INFO: Open of `world/data/TM_WORLD_BORDERS-0.3.shp&#39;</span>\n<span class=\"go\">      using driver `ESRI Shapefile&#39; successful.</span>\n<span class=\"go\">1: TM_WORLD_BORDERS-0.3 (Polygon)</span>\n</code></pre></div></div></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">ogrinfo</span></code> tells us that the shapefile has one layer, and that this\nlayer contains polygon data. To find out more, we'll specify the layer name\nand use the <code class=\"docutils literal notranslate\"><span class=\"pre\">-so</span></code> option to get only the important summary information:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-4-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>ogrinfo<span class=\"w\"> </span>-so<span class=\"w\"> </span>world/data/TM_WORLD_BORDERS-0.3.shp<span class=\"w\"> </span>TM_WORLD_BORDERS-0.3\n<span class=\"go\">INFO: Open of `world/data/TM_WORLD_BORDERS-0.3.shp&#39;</span>\n<span class=\"go\">      using driver `ESRI Shapefile&#39; successful.</span>\n\n<span class=\"go\">Layer name: TM_WORLD_BORDERS-0.3</span>\n<span class=\"go\">Metadata:</span>\n<span class=\"go\">  DBF_DATE_LAST_UPDATE=2008-07-30</span>\n<span class=\"go\">Geometry: Polygon</span>\n<span class=\"go\">Feature Count: 246</span>\n<span class=\"go\">Extent: (-180.000000, -90.000000) - (180.000000, 83.623596)</span>\n<span class=\"go\">Layer SRS WKT:</span>\n<span class=\"go\">GEOGCRS[&quot;WGS 84&quot;,</span>\n<span class=\"go\">    DATUM[&quot;World Geodetic System 1984&quot;,</span>\n<span class=\"go\">        ELLIPSOID[&quot;WGS 84&quot;,6378137,298.257223563,</span>\n<span class=\"go\">            LENGTHUNIT[&quot;metre&quot;,1]]],</span>\n<span class=\"go\">    PRIMEM[&quot;Greenwich&quot;,0,</span>\n<span class=\"go\">        ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span>\n<span class=\"go\">    CS[ellipsoidal,2],</span>\n<span class=\"go\">        AXIS[&quot;latitude&quot;,north,</span>\n<span class=\"go\">            ORDER[1],</span>\n<span class=\"go\">            ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span>\n<span class=\"go\">        AXIS[&quot;longitude&quot;,east,</span>\n<span class=\"go\">            ORDER[2],</span>\n<span class=\"go\">            ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span>\n<span class=\"go\">    ID[&quot;EPSG&quot;,4326]]</span>\n<span class=\"go\">Data axis to CRS axis mapping: 2,1</span>\n<span class=\"go\">FIPS: String (2.0)</span>\n<span class=\"go\">ISO2: String (2.0)</span>\n<span class=\"go\">ISO3: String (3.0)</span>\n<span class=\"go\">UN: Integer (3.0)</span>\n<span class=\"go\">NAME: String (50.0)</span>\n<span class=\"go\">AREA: Integer (7.0)</span>\n<span class=\"go\">POP2005: Integer64 (10.0)</span>\n<span class=\"go\">REGION: Integer (3.0)</span>\n<span class=\"go\">SUBREGION: Integer (3.0)</span>\n<span class=\"go\">LON: Real (8.3)</span>\n<span class=\"go\">LAT: Real (7.3)</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-4-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> ogrinfo -so world\\data\\TM_WORLD_BORDERS-0.3.shp TM_WORLD_BORDERS-0.3\n<span class=\"go\">INFO: Open of `world/data/TM_WORLD_BORDERS-0.3.shp&#39;</span>\n<span class=\"go\">      using driver `ESRI Shapefile&#39; successful.</span>\n\n<span class=\"go\">Layer name: TM_WORLD_BORDERS-0.3</span>\n<span class=\"go\">Metadata:</span>\n<span class=\"go\">  DBF_DATE_LAST_UPDATE=2008-07-30</span>\n<span class=\"go\">Geometry: Polygon</span>\n<span class=\"go\">Feature Count: 246</span>\n<span class=\"go\">Extent: (-180.000000, -90.000000) - (180.000000, 83.623596)</span>\n<span class=\"go\">Layer SRS WKT:</span>\n<span class=\"go\">GEOGCRS[&quot;WGS 84&quot;,</span>\n<span class=\"go\">    DATUM[&quot;World Geodetic System 1984&quot;,</span>\n<span class=\"go\">        ELLIPSOID[&quot;WGS 84&quot;,6378137,298.257223563,</span>\n<span class=\"go\">            LENGTHUNIT[&quot;metre&quot;,1]]],</span>\n<span class=\"go\">    PRIMEM[&quot;Greenwich&quot;,0,</span>\n<span class=\"go\">        ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span>\n<span class=\"go\">    CS[ellipsoidal,2],</span>\n<span class=\"go\">        AXIS[&quot;latitude&quot;,north,</span>\n<span class=\"go\">            ORDER[1],</span>\n<span class=\"go\">            ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span>\n<span class=\"go\">        AXIS[&quot;longitude&quot;,east,</span>\n<span class=\"go\">            ORDER[2],</span>\n<span class=\"go\">            ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span>\n<span class=\"go\">    ID[&quot;EPSG&quot;,4326]]</span>\n<span class=\"go\">Data axis to CRS axis mapping: 2,1</span>\n<span class=\"go\">FIPS: String (2.0)</span>\n<span class=\"go\">ISO2: String (2.0)</span>\n<span class=\"go\">ISO3: String (3.0)</span>\n<span class=\"go\">UN: Integer (3.0)</span>\n<span class=\"go\">NAME: String (50.0)</span>\n<span class=\"go\">AREA: Integer (7.0)</span>\n<span class=\"go\">POP2005: Integer64 (10.0)</span>\n<span class=\"go\">REGION: Integer (3.0)</span>\n<span class=\"go\">SUBREGION: Integer (3.0)</span>\n<span class=\"go\">LON: Real (8.3)</span>\n<span class=\"go\">LAT: Real (7.3)</span>\n</code></pre></div></div></div>\n<p>This detailed summary information tells us the number of features in the layer\n(246), the geographic bounds of the data, the spatial reference system\n(&quot;SRS WKT&quot;), as well as type information for each attribute field. For example,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">FIPS:</span> <span class=\"pre\">String</span> <span class=\"pre\">(2.0)</span></code> indicates that the <code class=\"docutils literal notranslate\"><span class=\"pre\">FIPS</span></code> character field has\na maximum length of 2. Similarly, <code class=\"docutils literal notranslate\"><span class=\"pre\">LON:</span> <span class=\"pre\">Real</span> <span class=\"pre\">(8.3)</span></code> is a floating-point\nfield that holds a maximum of 8 digits up to three decimal places.</p>\n</section>\n</section>\n<section id=\"geographic-models\">\n<h2>Samhlacha Geografacha<a class=\"heading-anchor\" href=\"#geographic-models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"defining-a-geographic-model\">\n<h3>Samhail Geografach a shainiú<a class=\"heading-anchor\" href=\"#defining-a-geographic-model\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Anois go ndearna tú scrúdú ar do thacar sonraí ag baint úsáide as <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ogrinfo`, cruthaigh samhail GeodJango chun na sonraí seo a léiriú:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">WorldBorder</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"c1\"># Regular Django fields corresponding to the attributes in the</span>\n    <span class=\"c1\"># world borders shapefile.</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n    <span class=\"n\">area</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n    <span class=\"n\">pop2005</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"s2\">&quot;Population 2005&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">fips</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"s2\">&quot;FIPS Code&quot;</span><span class=\"p\">,</span> <span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"n\">null</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n    <span class=\"n\">iso2</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"s2\">&quot;2 Digit ISO&quot;</span><span class=\"p\">,</span> <span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n    <span class=\"n\">iso3</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"s2\">&quot;3 Digit ISO&quot;</span><span class=\"p\">,</span> <span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">)</span>\n    <span class=\"n\">un</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"s2\">&quot;United Nations Code&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">region</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"s2\">&quot;Region Code&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">subregion</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"s2\">&quot;Sub-Region Code&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">lon</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FloatField</span><span class=\"p\">()</span>\n    <span class=\"n\">lat</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FloatField</span><span class=\"p\">()</span>\n\n    <span class=\"c1\"># GeoDjango-specific: a geometry field (MultiPolygonField)</span>\n    <span class=\"n\">mpoly</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">MultiPolygonField</span><span class=\"p\">()</span>\n\n    <span class=\"c1\"># Returns the string representation of the model.</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__str__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">name</span>\n</code></pre></div>\n<p>Tabhair faoi deara go n-allmhairítear an modúl <code class=\"docutils literal notranslate\"><span class=\"pre\">samhlacha</span> <span class=\"pre\">``ó</span> <span class=\"pre\">`django.contrib.gis.db</span></code>.</p>\n<p>The default spatial reference system for geometry fields is WGS84 (meaning\nthe <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/SRID\">SRID</a> is 4326) -- in other words, the field coordinates are in\nlongitude, latitude pairs in units of degrees. To use a different\ncoordinate system, set the SRID of the geometry field with the <code class=\"docutils literal notranslate\"><span class=\"pre\">srid</span></code>\nargument. Use an integer representing the coordinate system's EPSG code.</p>\n</section>\n<section id=\"run-migrate\">\n<h3>Rith <code class=\"docutils literal notranslate\"><span class=\"pre\">`imirce</span></code><a class=\"heading-anchor\" href=\"#run-migrate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tar éis duit do mhúnla a shainiú, ní mór duit é a shioncronú leis an mbunachar sonraí. Ar dtús, cruthaigh imirce bunachar sonraí:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-5-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>makemigrations\n<span class=\"go\">Migrations for &#39;world&#39;:</span>\n<span class=\"go\">  world/migrations/0001_initial.py:</span>\n<span class=\"go\">    + Create model WorldBorder</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-5-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py makemigrations\n<span class=\"go\">Migrations for &#39;world&#39;:</span>\n<span class=\"go\">  world/migrations/0001_initial.py:</span>\n<span class=\"go\">    + Create model WorldBorder</span>\n</code></pre></div></div></div>\n<p>Breathnaímid ar an SQL a ghinfidh an tábla don tsamhail <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Worldborder`:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-6-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>sqlmigrate<span class=\"w\"> </span>world<span class=\"w\"> </span><span class=\"m\">0001</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-6-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py sqlmigrate world 0001\n</code></pre></div></div></div>\n<p>Ba chóir go dtáirgfeadh an t-ordú seo an t-aschur seo</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">BEGIN</span><span class=\"p\">;</span>\n<span class=\"c1\">--</span>\n<span class=\"c1\">-- Create model WorldBorder</span>\n<span class=\"c1\">--</span>\n<span class=\"k\">CREATE</span><span class=\"w\"> </span><span class=\"k\">TABLE</span><span class=\"w\"> </span><span class=\"ss\">&quot;world_worldborder&quot;</span><span class=\"w\"> </span><span class=\"p\">(</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;id&quot;</span><span class=\"w\"> </span><span class=\"nb\">bigint</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"w\"> </span><span class=\"k\">PRIMARY</span><span class=\"w\"> </span><span class=\"k\">KEY</span><span class=\"w\"> </span><span class=\"k\">GENERATED</span><span class=\"w\"> </span><span class=\"k\">BY</span><span class=\"w\"> </span><span class=\"k\">DEFAULT</span><span class=\"w\"> </span><span class=\"k\">AS</span><span class=\"w\"> </span><span class=\"k\">IDENTITY</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;name&quot;</span><span class=\"w\"> </span><span class=\"nb\">varchar</span><span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;area&quot;</span><span class=\"w\"> </span><span class=\"nb\">integer</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;pop2005&quot;</span><span class=\"w\"> </span><span class=\"nb\">integer</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;fips&quot;</span><span class=\"w\"> </span><span class=\"nb\">varchar</span><span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;iso2&quot;</span><span class=\"w\"> </span><span class=\"nb\">varchar</span><span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;iso3&quot;</span><span class=\"w\"> </span><span class=\"nb\">varchar</span><span class=\"p\">(</span><span class=\"mi\">3</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;un&quot;</span><span class=\"w\"> </span><span class=\"nb\">integer</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;region&quot;</span><span class=\"w\"> </span><span class=\"nb\">integer</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;subregion&quot;</span><span class=\"w\"> </span><span class=\"nb\">integer</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;lon&quot;</span><span class=\"w\"> </span><span class=\"n\">double</span><span class=\"w\"> </span><span class=\"k\">precision</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;lat&quot;</span><span class=\"w\"> </span><span class=\"n\">double</span><span class=\"w\"> </span><span class=\"k\">precision</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span>\n<span class=\"w\">    </span><span class=\"ss\">&quot;mpoly&quot;</span><span class=\"w\"> </span><span class=\"n\">geometry</span><span class=\"p\">(</span><span class=\"n\">MULTIPOLYGON</span><span class=\"p\">,</span><span class=\"mi\">4326</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"k\">NOT</span><span class=\"w\"> </span><span class=\"k\">NULL</span>\n<span class=\"p\">)</span>\n<span class=\"p\">;</span>\n<span class=\"k\">CREATE</span><span class=\"w\"> </span><span class=\"k\">INDEX</span><span class=\"w\"> </span><span class=\"ss\">&quot;world_worldborder_mpoly_id&quot;</span><span class=\"w\"> </span><span class=\"k\">ON</span><span class=\"w\"> </span><span class=\"ss\">&quot;world_worldborder&quot;</span><span class=\"w\"> </span><span class=\"k\">USING</span><span class=\"w\"> </span><span class=\"n\">GIST</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"ss\">&quot;mpoly&quot;</span><span class=\"p\">);</span>\n<span class=\"k\">COMMIT</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>Má tá cuma ceart air seo, rith: djadmin: migrate chun an tábla seo a chruthú sa bhunachar sonraí:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-7-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>migrate\n<span class=\"go\">Operations to perform:</span>\n<span class=\"go\">  Apply all migrations: admin, auth, contenttypes, sessions, world</span>\n<span class=\"go\">Running migrations:</span>\n<span class=\"go\">  ...</span>\n<span class=\"go\">  Applying world.0001_initial... OK</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-7-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py migrate\n<span class=\"go\">Operations to perform:</span>\n<span class=\"go\">  Apply all migrations: admin, auth, contenttypes, sessions, world</span>\n<span class=\"go\">Running migrations:</span>\n<span class=\"go\">  ...</span>\n<span class=\"go\">  Applying world.0001_initial... OK</span>\n</code></pre></div></div></div>\n</section>\n</section>\n<section id=\"importing-spatial-data\">\n<h2>Sonraí Spásúla a Iom<a class=\"heading-anchor\" href=\"#importing-spatial-data\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>This section will show you how to import the world borders shapefile into the\ndatabase via GeoDjango models using the <a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/layermapping/\"><span class=\"doc\">Fóntais allmhairithe sonraí Layermapping</span></a>.</p>\n<p>Tá go leor bealaí éagsúla ann chun sonraí a iompórtáil isteach i mbunachar sonraí spásúil - seachas na huirlisí atá san áireamh laistigh de GeodJango, is féidir leat na rudaí seo a leanas a úsáid</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://gdal.org/programs/ogr2ogr.html\">ogr2ogr</a>: Fóntais líne ordaithe san áireamh le GDAL atá in ann go leor formáidí sonraí veicteora a iompórtáil isteach i mbunachair sonraí PostGIS, MySQL, agus Oracle.</p></li>\n<li><p><a class=\"reference external\" href=\"https://postgis.net/docs/using_postgis_dbmanagement.html#shp2pgsql_usage\">shp2pgsql</a>: An fóntais seo san áireamh le PostGIS allmhairíonn comhaid cruth ESRI isteach i PostGIS.</p></li>\n</ul>\n<section id=\"gdal-interface\">\n<span id=\"gdalinterface\"></span><h3>Comhéadan GDAL<a class=\"heading-anchor\" href=\"#gdal-interface\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Earlier, you used <code class=\"docutils literal notranslate\"><span class=\"pre\">ogrinfo</span></code> to examine the contents of the world borders\nshapefile. GeoDjango also includes a Pythonic interface to GDAL's powerful OGR\nlibrary that can work with all the vector data sources that OGR supports.</p>\n<p>Ar dtús, glaoch ar an bhlaosc Django:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-8-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>shell\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-8-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py shell\n</code></pre></div></div></div>\n<p>Má íoslódáil tú na sonraí:ref: worldborders níos luaithe sa rang teagaisc, ansin is féidir leat a chonair a chinneadh ag baint úsáide as Python's:class: pathlib.path:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">pathlib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Path</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">import</span><span class=\"w\"> </span><span class=\"nn\">world</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">world_shp</span> <span class=\"o\">=</span> <span class=\"n\">Path</span><span class=\"p\">(</span><span class=\"n\">world</span><span class=\"o\">.</span><span class=\"vm\">__file__</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">resolve</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">parent</span> <span class=\"o\">/</span> <span class=\"s2\">&quot;data&quot;</span> <span class=\"o\">/</span> <span class=\"s2\">&quot;TM_WORLD_BORDERS-0.3.shp&quot;</span>\n</code></pre></div>\n<p>Anois, oscail an comhad cruth teorainneacha domhanda ag baint úsáide as comhéadan GeodjangoS:Class: ~django.contrib.gis.gdal.datasource:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.gdal</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">DataSource</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">ds</span> <span class=\"o\">=</span> <span class=\"n\">DataSource</span><span class=\"p\">(</span><span class=\"n\">world_shp</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\">ds</span><span class=\"p\">)</span>\n<span class=\"go\">/ ... /geodjango/world/data/TM_WORLD_BORDERS-0.3.shp (ESRI Shapefile)</span>\n</code></pre></div>\n<p>Is féidir le sraitheanna éagsúla de ghnéithe geospásúla a bheith ag rudaí foinse sonraí; áfach, ní cheadaítear ach sraith amháin a bheith ag comhaid chruthacha:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">ds</span><span class=\"p\">))</span>\n<span class=\"go\">1</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">lyr</span> <span class=\"o\">=</span> <span class=\"n\">ds</span><span class=\"p\">[</span><span class=\"mi\">0</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\">lyr</span><span class=\"p\">)</span>\n<span class=\"go\">TM_WORLD_BORDERS-0.3</span>\n</code></pre></div>\n<p>Is féidir leat cineál geoiméadrach an chiseal a fheiceáil agus cé mhéad gné atá ann:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">lyr</span><span class=\"o\">.</span><span class=\"n\">geom_type</span><span class=\"p\">)</span>\n<span class=\"go\">Polygon</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">lyr</span><span class=\"p\">))</span>\n<span class=\"go\">246</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Unfortunately, the shapefile data format does not allow for greater\nspecificity with regards to geometry types. This shapefile, like many\nothers, actually includes <code class=\"docutils literal notranslate\"><span class=\"pre\">MultiPolygon</span></code> geometries, not Polygons. It's\nimportant to use a more general field type in models: a GeoDjango\n<code class=\"docutils literal notranslate\"><span class=\"pre\">MultiPolygonField</span></code> will accept a <code class=\"docutils literal notranslate\"><span class=\"pre\">Polygon</span></code> geometry, but a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">PolygonField</span></code> will not accept a <code class=\"docutils literal notranslate\"><span class=\"pre\">MultiPolygon</span></code> type geometry. This is\nwhy the <code class=\"docutils literal notranslate\"><span class=\"pre\">WorldBorder</span></code> model defined above uses a <code class=\"docutils literal notranslate\"><span class=\"pre\">MultiPolygonField</span></code>.</p>\n</aside>\n<p>The <a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/gdal/#django.contrib.gis.gdal.Layer\" title=\"django.contrib.gis.gdal.Layer\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Layer</span></code></a> may also have a spatial reference\nsystem associated with it. If it does, the <code class=\"docutils literal notranslate\"><span class=\"pre\">srs</span></code> attribute will return a\n<a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/gdal/#django.contrib.gis.gdal.SpatialReference\" title=\"django.contrib.gis.gdal.SpatialReference\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SpatialReference</span></code></a> object:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">srs</span> <span class=\"o\">=</span> <span class=\"n\">lyr</span><span class=\"o\">.</span><span class=\"n\">srs</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">srs</span><span class=\"p\">)</span>\n<span class=\"go\">GEOGCS[&quot;WGS 84&quot;,</span>\n<span class=\"go\">DATUM[&quot;WGS_1984&quot;,</span>\n<span class=\"go\">    SPHEROID[&quot;WGS 84&quot;,6378137,298.257223563,</span>\n<span class=\"go\">        AUTHORITY[&quot;EPSG&quot;,&quot;7030&quot;]],</span>\n<span class=\"go\">    AUTHORITY[&quot;EPSG&quot;,&quot;6326&quot;]],</span>\n<span class=\"go\">PRIMEM[&quot;Greenwich&quot;,0,</span>\n<span class=\"go\">    AUTHORITY[&quot;EPSG&quot;,&quot;8901&quot;]],</span>\n<span class=\"go\">UNIT[&quot;degree&quot;,0.0174532925199433,</span>\n<span class=\"go\">    AUTHORITY[&quot;EPSG&quot;,&quot;9122&quot;]],</span>\n<span class=\"go\">AXIS[&quot;Latitude&quot;,NORTH],</span>\n<span class=\"go\">AXIS[&quot;Longitude&quot;,EAST],</span>\n<span class=\"go\">AUTHORITY[&quot;EPSG&quot;,&quot;4326&quot;]]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">srs</span><span class=\"o\">.</span><span class=\"n\">proj</span>  <span class=\"c1\"># PROJ representation</span>\n<span class=\"go\">&#39;+proj=longlat +datum=WGS84 +no_defs&#39;</span>\n</code></pre></div>\n<p>Tá an comhad cruth seo sa chóras tagartha spásúil WGS84 a bhfuil tóir orthu - is é sin le rá, úsáideann na sonraí domhanfhad, péirí domhanleithead in aonaid céimeanna.</p>\n<p>In addition, shapefiles also support attribute fields that may contain\nadditional data. Here are the fields on the World Borders layer:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">lyr</span><span class=\"o\">.</span><span class=\"n\">fields</span><span class=\"p\">)</span>\n<span class=\"go\">[&#39;FIPS&#39;, &#39;ISO2&#39;, &#39;ISO3&#39;, &#39;UN&#39;, &#39;NAME&#39;, &#39;AREA&#39;, &#39;POP2005&#39;, &#39;REGION&#39;, &#39;SUBREGION&#39;, &#39;LON&#39;, &#39;LAT&#39;]</span>\n</code></pre></div>\n<p>Ligfidh an cód seo a leanas duit scrúdú a dhéanamh ar na cineálacha OGR (m.shláimhir nó sreang) a bhaineann le gach ceann de na réimsí:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"p\">[</span><span class=\"n\">fld</span><span class=\"o\">.</span><span class=\"vm\">__name__</span> <span class=\"k\">for</span> <span class=\"n\">fld</span> <span class=\"ow\">in</span> <span class=\"n\">lyr</span><span class=\"o\">.</span><span class=\"n\">field_types</span><span class=\"p\">]</span>\n<span class=\"go\">[&#39;OFTString&#39;, &#39;OFTString&#39;, &#39;OFTString&#39;, &#39;OFTInteger&#39;, &#39;OFTString&#39;, &#39;OFTInteger&#39;, &#39;OFTInteger64&#39;, &#39;OFTInteger&#39;, &#39;OFTInteger&#39;, &#39;OFTReal&#39;, &#39;OFTReal&#39;]</span>\n</code></pre></div>\n<p>Is féidir leat athrá thar gach gné sa chiseal agus faisnéis a bhaint as geoiméadacht na gné (rochtain tríd an tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">geom</span></code>) chomh maith le réimsí tréithe na ngné (a gcuirtear rochtain ar a luacha** trí mhodh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>):</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">for</span> <span class=\"n\">feat</span> <span class=\"ow\">in</span> <span class=\"n\">lyr</span><span class=\"p\">:</span>\n<span class=\"gp\">... </span>    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">feat</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">&quot;NAME&quot;</span><span class=\"p\">),</span> <span class=\"n\">feat</span><span class=\"o\">.</span><span class=\"n\">geom</span><span class=\"o\">.</span><span class=\"n\">num_points</span><span class=\"p\">)</span>\n<span class=\"gp\">...</span>\n<span class=\"go\">Guernsey 18</span>\n<span class=\"go\">Jersey 26</span>\n<span class=\"go\">South Georgia South Sandwich Islands 338</span>\n<span class=\"go\">Taiwan 363</span>\n</code></pre></div>\n<p><a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/gdal/#django.contrib.gis.gdal.Layer\" title=\"django.contrib.gis.gdal.Layer\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Layer</span></code></a> objects may be sliced:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">lyr</span><span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">:</span><span class=\"mi\">2</span><span class=\"p\">]</span>\n<span class=\"go\">[&lt;django.contrib.gis.gdal.feature.Feature object at 0x2f47690&gt;, &lt;django.contrib.gis.gdal.feature.Feature object at 0x2f47650&gt;]</span>\n</code></pre></div>\n<p>Agus is féidir gnéithe aonair a aisghabháil ag a n-ID gné:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">feat</span> <span class=\"o\">=</span> <span class=\"n\">lyr</span><span class=\"p\">[</span><span class=\"mi\">234</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\">feat</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">&quot;NAME&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">San Marino</span>\n</code></pre></div>\n<p>Féadfar geoiméadraí teorann a onnmhairiú mar WKT agus GeoJSON:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">geom</span> <span class=\"o\">=</span> <span class=\"n\">feat</span><span class=\"o\">.</span><span class=\"n\">geom</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"o\">.</span><span class=\"n\">wkt</span><span class=\"p\">)</span>\n<span class=\"go\">POLYGON ((12.415798 43.957954,12.450554 ...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"o\">.</span><span class=\"n\">json</span><span class=\"p\">)</span>\n<span class=\"go\">{ &quot;type&quot;: &quot;Polygon&quot;, &quot;coordinates&quot;: [ [ [ 12.415798, 43.957954 ], [ 12.450554, 43.979721 ], ...</span>\n</code></pre></div>\n</section>\n<section id=\"layermapping\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Sraith</span> <span class=\"pre\">maping</span></code><a class=\"heading-anchor\" href=\"#layermapping\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Chun na sonraí a iompórtáil, bain úsáid as <code class=\"docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code> i script Python. Cruthaigh comhad ar a dtugtar <code class=\"docutils literal notranslate\"><span class=\"pre\">load.py</span></code> taobh istigh den fheidhmchlár <code class=\"docutils literal notranslate\"><span class=\"pre\">world</span></code>, leis an gcód seo a leanas:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">pathlib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Path</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.utils</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">LayerMapping</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">WorldBorder</span>\n\n<span class=\"n\">world_mapping</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;fips&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;FIPS&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;iso2&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ISO2&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;iso3&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ISO3&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;un&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;UN&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;NAME&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;area&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;AREA&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;pop2005&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;POP2005&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;region&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;REGION&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;subregion&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;SUBREGION&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;lon&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;LON&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;lat&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;LAT&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;mpoly&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;MULTIPOLYGON&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n\n<span class=\"n\">world_shp</span> <span class=\"o\">=</span> <span class=\"n\">Path</span><span class=\"p\">(</span><span class=\"vm\">__file__</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">resolve</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">parent</span> <span class=\"o\">/</span> <span class=\"s2\">&quot;data&quot;</span> <span class=\"o\">/</span> <span class=\"s2\">&quot;TM_WORLD_BORDERS-0.3.shp&quot;</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">run</span><span class=\"p\">(</span><span class=\"n\">verbose</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">):</span>\n    <span class=\"n\">lm</span> <span class=\"o\">=</span> <span class=\"n\">LayerMapping</span><span class=\"p\">(</span><span class=\"n\">WorldBorder</span><span class=\"p\">,</span> <span class=\"n\">world_shp</span><span class=\"p\">,</span> <span class=\"n\">world_mapping</span><span class=\"p\">,</span> <span class=\"n\">transform</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n    <span class=\"n\">lm</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">(</span><span class=\"n\">strict</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span> <span class=\"n\">verbose</span><span class=\"o\">=</span><span class=\"n\">verbose</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cúpla nóta faoin méid atá ar siúl:</p>\n<ul class=\"simple\">\n<li><p>Each key in the <code class=\"docutils literal notranslate\"><span class=\"pre\">world_mapping</span></code> dictionary corresponds to a field in the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">WorldBorder</span></code> model. The value is the name of the shapefile field\nthat data will be loaded from.</p></li>\n<li><p>The key <code class=\"docutils literal notranslate\"><span class=\"pre\">mpoly</span></code> for the geometry field is <code class=\"docutils literal notranslate\"><span class=\"pre\">MULTIPOLYGON</span></code>, the\ngeometry type GeoDjango will import the field as. Even simple polygons in\nthe shapefile will automatically be converted into collections prior to\ninsertion into the database.</p></li>\n<li><p>Níl an cosán chuig an bhformáid iomlán - is é sin le rá, má bhogann tú an feidhmchlár <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>domhan` (le fo-eolaire <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>sonraí <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>) go suíomh difriúil, oibreoidh an script fós.</p></li>\n<li><p>Tá an eochairfhocal <code class=\"docutils literal notranslate\"><span class=\"pre\">transform`</span> <span class=\"pre\">socraithe</span> <span class=\"pre\">go</span> <span class=\"pre\">``False</span></code> toisc nach gá na sonraí sa chomhad cruth a thiontú - tá sé i WGS84 cheana féin (SRID = 4326).</p></li>\n</ul>\n<p>Ina dhiaidh sin, glaoch ar an bhlaosc Django ón eolaire tionscadail <code class=\"docutils literal notranslate\"><span class=\"pre\">geodjango</span></code>:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-9-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>shell\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-9-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py shell\n</code></pre></div></div></div>\n<p>Ansin, iompórtáil an modúl <code class=\"docutils literal notranslate\"><span class=\"pre\">load</span> <span class=\"pre\">``,</span> <span class=\"pre\">glaoigh</span> <span class=\"pre\">ar</span> <span class=\"pre\">an</span> <span class=\"pre\">ngnáthamh</span> <span class=\"pre\">``run</span></code>, agus féach ar <code class=\"docutils literal notranslate\"><span class=\"pre\">Layermapping</span></code> ag déanamh an obair:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">world</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">load</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">load</span><span class=\"o\">.</span><span class=\"n\">run</span><span class=\"p\">()</span>\n</code></pre></div>\n</section>\n<section id=\"try-ogrinspect\">\n<span id=\"ogrinspect-intro\"></span><h3>Bain triail as <code class=\"docutils literal notranslate\"><span class=\"pre\">ogrinspect</span></code><a class=\"heading-anchor\" href=\"#try-ogrinspect\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Now that you've seen how to define geographic models and import data with the\n<a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/layermapping/\"><span class=\"doc\">Fóntais allmhairithe sonraí Layermapping</span></a>, it's possible to further automate this\nprocess with use of the <a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/commands/#django-admin-ogrinspect\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">ogrinspect</span></code></a> management command. The\n<a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/commands/#django-admin-ogrinspect\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">ogrinspect</span></code></a> command  introspects a GDAL-supported vector data source\n(e.g., a shapefile) and generates a model definition and <code class=\"docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code>\ndictionary automatically.</p>\n<p>Tá úsáid ghinearálta an ordaithe mar seo a leanas:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-10-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>ogrinspect<span class=\"w\"> </span><span class=\"o\">[</span>options<span class=\"o\">]</span><span class=\"w\"> </span>&lt;data_source&gt;<span class=\"w\"> </span>&lt;model_name&gt;<span class=\"w\"> </span><span class=\"o\">[</span>options<span class=\"o\">]</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-10-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py ogrinspect [options] <span class=\"p\">&lt;</span>data_source<span class=\"p\">&gt;</span> &lt;model_name<span class=\"p\">&gt;</span> [options]\n</code></pre></div></div></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">data_source</span></code> is the path to the GDAL-supported data source and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">model_name</span></code> is the name to use for the model. Command-line options may\nbe used to further define how the model is generated.</p>\n<p>Mar shampla, atháirgeann an t-ordú seo a leanas beagnach an tsamhail <code class=\"docutils literal notranslate\"><span class=\"pre\">Worldborder</span></code> agus an foclóir mapála a cruthaíodh thuas, go huathoibríoch:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-11-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>ogrinspect<span class=\"w\"> </span>world/data/TM_WORLD_BORDERS-0.3.shp<span class=\"w\"> </span>WorldBorder<span class=\"w\"> </span><span class=\"se\">\\</span>\n<span class=\"w\">    </span>--srid<span class=\"o\">=</span><span class=\"m\">4326</span><span class=\"w\"> </span>--mapping<span class=\"w\"> </span>--multi\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-11-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py ogrinspect world\\data\\TM_WORLD_BORDERS-0.3.shp WorldBorder \\\n    --srid=4326 --mapping --multi\n</code></pre></div></div></div>\n<p>Cúpla nóta faoi na roghanna líne ordaithe a thugtar thuas:</p>\n<ul class=\"simple\">\n<li><p>Socraíonn an rogha <code class=\"docutils literal notranslate\"><span class=\"pre\">--srid</span> <span class=\"pre\">=</span> <span class=\"pre\">4326</span></code> an SRID don réimse geografach.</p></li>\n<li><p>Insíonn an rogha <code class=\"docutils literal notranslate\"><span class=\"pre\">--mapping</span></code> le <code class=\"docutils literal notranslate\"><span class=\"pre\">ogrinspect</span></code> foclóir mapála a ghiniúint freisin le húsáid le:class: ~django.contrib.gis.utils.layermapping.</p></li>\n<li><p>Sonraítear an rogha <code class=\"docutils literal notranslate\"><span class=\"pre\">--multi</span></code> ionas gurb é an réimse geografach a:class: ~django.contrib.gis.db.models.multipolygonfield in ionad ach a:class: ~django.contrib.gis.db.models.polygonfield.</p></li>\n</ul>\n<p>Táirgeann an t-ordú an t-aschur seo a leanas, ar féidir a chóipeáil go díreach isteach sa models.py` d'fheidhmchlár GeoDjango:</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=\"c1\"># This is an auto-generated Django model module created by ogrinspect.</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">WorldBorder</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">fips</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n    <span class=\"n\">iso2</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n    <span class=\"n\">iso3</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">)</span>\n    <span class=\"n\">un</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n    <span class=\"n\">area</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n    <span class=\"n\">pop2005</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n    <span class=\"n\">region</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n    <span class=\"n\">subregion</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n    <span class=\"n\">lon</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FloatField</span><span class=\"p\">()</span>\n    <span class=\"n\">lat</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">FloatField</span><span class=\"p\">()</span>\n    <span class=\"n\">geom</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">MultiPolygonField</span><span class=\"p\">(</span><span class=\"n\">srid</span><span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">)</span>\n\n\n<span class=\"c1\"># Auto-generated `LayerMapping` dictionary for WorldBorder model</span>\n<span class=\"n\">worldborders_mapping</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;fips&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;FIPS&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;iso2&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ISO2&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;iso3&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ISO3&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;un&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;UN&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;NAME&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;area&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;AREA&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;pop2005&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;POP2005&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;region&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;REGION&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;subregion&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;SUBREGION&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;lon&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;LON&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;lat&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;LAT&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;geom&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;MULTIPOLYGON&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"spatial-queries\">\n<h2>Ceisteanna Spásúla<a class=\"heading-anchor\" href=\"#spatial-queries\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"spatial-lookups\">\n<h3>Cuardaigh Spásúla<a class=\"heading-anchor\" href=\"#spatial-lookups\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>GeoDjango adds spatial lookups to the Django ORM. For example, you\ncan find the country in the <code class=\"docutils literal notranslate\"><span class=\"pre\">WorldBorder</span></code> table that contains\na particular point. First, fire up the management shell:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-12-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>shell\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-12-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py shell\n</code></pre></div></div></div>\n<p>Anois, sainmhínigh pointe spéise [#] _:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">pnt_wkt</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;POINT(-95.3385 29.7245)&quot;</span>\n</code></pre></div>\n<p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">pnt_wkt</span></code> string represents the point at -95.3385 degrees longitude,\n29.7245 degrees latitude. The geometry is in a format known as\nWell Known Text (WKT), a standard issued by the Open Geospatial\nConsortium (OGC). <a class=\"footnote-reference brackets\" href=\"#id14\" id=\"id8\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>4<span class=\"fn-bracket\">]</span></a>  Import the <code class=\"docutils literal notranslate\"><span class=\"pre\">WorldBorder</span></code> model, and perform\na <code class=\"docutils literal notranslate\"><span class=\"pre\">contains</span></code> lookup using the <code class=\"docutils literal notranslate\"><span class=\"pre\">pnt_wkt</span></code> as the parameter:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">world.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">WorldBorder</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">WorldBorder</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">mpoly__contains</span><span class=\"o\">=</span><span class=\"n\">pnt_wkt</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;WorldBorder: United States&gt;]&gt;</span>\n</code></pre></div>\n<p>Here, you retrieved a <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> with only one model instance: the border of\nthe United States (exactly what you would expect).</p>\n<p>Similarly, you may also use a <a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/geos/\"><span class=\"doc\">GEOS geometry object</span></a>. Here, you can combine the <code class=\"docutils literal notranslate\"><span class=\"pre\">intersects</span></code> spatial\nlookup with the <code class=\"docutils literal notranslate\"><span class=\"pre\">get</span></code> method to retrieve only the <code class=\"docutils literal notranslate\"><span class=\"pre\">WorldBorder</span></code> instance\nfor San Marino instead of a queryset:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.geos</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Point</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">pnt</span> <span class=\"o\">=</span> <span class=\"n\">Point</span><span class=\"p\">(</span><span class=\"mf\">12.4604</span><span class=\"p\">,</span> <span class=\"mf\">43.9420</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">WorldBorder</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\">mpoly__intersects</span><span class=\"o\">=</span><span class=\"n\">pnt</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;WorldBorder: San Marino&gt;</span>\n</code></pre></div>\n<p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">contains</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">intersects</span></code> lookups are just a subset of the available\nqueries -- the <a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/db-api/\"><span class=\"doc\">API Bunachar Sonraí GeodJango</span></a> documentation has more.</p>\n</section>\n<section id=\"automatic-spatial-transformations\">\n<span id=\"id9\"></span><h3>Claochluithe Spásúla<a class=\"heading-anchor\" href=\"#automatic-spatial-transformations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>When doing spatial queries, GeoDjango automatically transforms\ngeometries if they're in a different coordinate system. In the following\nexample, coordinates will be expressed in <a class=\"reference external\" href=\"https://spatialreference.org/ref/epsg/32140/\">EPSG SRID 32140</a>,\na coordinate system specific to south Texas <strong>only</strong> and in units of\n<strong>meters</strong>, not degrees:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.geos</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">GEOSGeometry</span><span class=\"p\">,</span> <span class=\"n\">Point</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">pnt</span> <span class=\"o\">=</span> <span class=\"n\">Point</span><span class=\"p\">(</span><span class=\"mf\">954158.1</span><span class=\"p\">,</span> <span class=\"mf\">4215137.1</span><span class=\"p\">,</span> <span class=\"n\">srid</span><span class=\"o\">=</span><span class=\"mi\">32140</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tabhair faoi deara gur féidir “pnt” a thógáil le EWKT freisin, foirm “leathnaithe” de WKT a chuimsíonn an SRID:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">pnt</span> <span class=\"o\">=</span> <span class=\"n\">GEOSGeometry</span><span class=\"p\">(</span><span class=\"s2\">&quot;SRID=32140;POINT(954158.1 4215137.1)&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Fillfidh ORM GeodJango luachanna geoiméadrachta go huathoibríoch i SQL claochlú, rud a ligeann don fhorbróir oibriú ag leibhéal níos airde teastartha:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">WorldBorder</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">mpoly__intersects</span><span class=\"o\">=</span><span class=\"n\">pnt</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=\"o\">.</span><span class=\"n\">query</span><span class=\"p\">)</span>  <span class=\"c1\"># Generating the SQL</span>\n<span class=\"go\">SELECT &quot;world_worldborder&quot;.&quot;id&quot;, &quot;world_worldborder&quot;.&quot;name&quot;, &quot;world_worldborder&quot;.&quot;area&quot;,</span>\n<span class=\"go\">&quot;world_worldborder&quot;.&quot;pop2005&quot;, &quot;world_worldborder&quot;.&quot;fips&quot;, &quot;world_worldborder&quot;.&quot;iso2&quot;,</span>\n<span class=\"go\">&quot;world_worldborder&quot;.&quot;iso3&quot;, &quot;world_worldborder&quot;.&quot;un&quot;, &quot;world_worldborder&quot;.&quot;region&quot;,</span>\n<span class=\"go\">&quot;world_worldborder&quot;.&quot;subregion&quot;, &quot;world_worldborder&quot;.&quot;lon&quot;, &quot;world_worldborder&quot;.&quot;lat&quot;,</span>\n<span class=\"go\">&quot;world_worldborder&quot;.&quot;mpoly&quot; FROM &quot;world_worldborder&quot;</span>\n<span class=\"go\">WHERE ST_Intersects(&quot;world_worldborder&quot;.&quot;mpoly&quot;, ST_Transform(%s, 4326))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">qs</span>  <span class=\"c1\"># printing evaluates the queryset</span>\n<span class=\"go\">&lt;QuerySet [&lt;WorldBorder: United States&gt;]&gt;</span>\n</code></pre></div>\n<aside class=\"admonition-raw-queries admonition\" id=\"gis-raw-sql\">\n<p class=\"admonition-title\">Fiosrúcháin amh</p>\n<p>Agus tú ag úsáid: doc: fiosrúcháin am, ní mór duit do réimsí geoiméadrachta a fhilleadh ionas gur féidir le GEOS an luach réimse a ai&lt;/topics/db/sql&gt; thint:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">connection</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"c1\"># or if you&#39;re querying a non-default database:</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">connections</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">connection</span> <span class=\"o\">=</span> <span class=\"n\">connections</span><span class=\"p\">[</span><span class=\"s2\">&quot;your_gis_db_alias&quot;</span><span class=\"p\">]</span>\n<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\">raw</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"s2\">&quot;SELECT id, name, </span><span class=\"si\">%s</span><span class=\"s2\"> as point from myapp_city&quot;</span> <span class=\"o\">%</span> <span class=\"p\">(</span><span class=\"n\">connection</span><span class=\"o\">.</span><span class=\"n\">ops</span><span class=\"o\">.</span><span class=\"n\">select</span> <span class=\"o\">%</span> <span class=\"s2\">&quot;point&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Níor chóir duit ceisteanna amh a úsáid ach nuair a bhíonn a fhios agat go díreach cad atá á dhéanamh agat.</p>\n</aside>\n</section>\n<section id=\"lazy-geometries\">\n<h3>Geoiméadraí leisciúla<a class=\"heading-anchor\" href=\"#lazy-geometries\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>GeoDjango loads geometries in a standardized textual representation. When the\ngeometry field is first accessed, GeoDjango creates a\n<a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GEOSGeometry</span></code></a> object, exposing powerful\nfunctionality, such as serialization properties for popular geospatial\nformats:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">sm</span> <span class=\"o\">=</span> <span class=\"n\">WorldBorder</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=\"s2\">&quot;San Marino&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">sm</span><span class=\"o\">.</span><span class=\"n\">mpoly</span>\n<span class=\"go\">&lt;MultiPolygon object at 0x24c6798&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">sm</span><span class=\"o\">.</span><span class=\"n\">mpoly</span><span class=\"o\">.</span><span class=\"n\">wkt</span>  <span class=\"c1\"># WKT</span>\n<span class=\"go\">MULTIPOLYGON (((12.4157980000000006 43.9579540000000009, 12.4505540000000003 43.9797209999999978, ...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">sm</span><span class=\"o\">.</span><span class=\"n\">mpoly</span><span class=\"o\">.</span><span class=\"n\">wkb</span>  <span class=\"c1\"># WKB (as Python binary buffer)</span>\n<span class=\"go\">&lt;read-only buffer for 0x1fe2c70, size -1, offset 0 at 0x2564c40&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">sm</span><span class=\"o\">.</span><span class=\"n\">mpoly</span><span class=\"o\">.</span><span class=\"n\">geojson</span>  <span class=\"c1\"># GeoJSON</span>\n<span class=\"go\">&#39;{ &quot;type&quot;: &quot;MultiPolygon&quot;, &quot;coordinates&quot;: [ [ [ [ 12.415798, 43.957954 ], [ 12.450554, 43.979721 ], ...</span>\n</code></pre></div>\n<p>Áirítear leis seo rochtain ar na hardoibríochtaí geoiméadracha go léir a sholáthraíonn leabharlann GEOS:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">pnt</span> <span class=\"o\">=</span> <span class=\"n\">Point</span><span class=\"p\">(</span><span class=\"mf\">12.4604</span><span class=\"p\">,</span> <span class=\"mf\">43.9420</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">sm</span><span class=\"o\">.</span><span class=\"n\">mpoly</span><span class=\"o\">.</span><span class=\"n\">contains</span><span class=\"p\">(</span><span class=\"n\">pnt</span><span class=\"p\">)</span>\n<span class=\"go\">True</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">pnt</span><span class=\"o\">.</span><span class=\"n\">contains</span><span class=\"p\">(</span><span class=\"n\">sm</span><span class=\"o\">.</span><span class=\"n\">mpoly</span><span class=\"p\">)</span>\n<span class=\"go\">False</span>\n</code></pre></div>\n</section>\n<section id=\"geographic-annotations\">\n<h3>Anótaí geografacha<a class=\"heading-anchor\" href=\"#geographic-annotations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>GeoDjango also offers a set of geographic annotations to compute distances and\nseveral other operations (intersection, difference, etc.). See the\n<a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/gis/functions/\"><span class=\"doc\">Feidhmeanna Bunachar Sonraí</span></a> documentation.</p>\n</section>\n</section>\n<section id=\"putting-your-data-on-the-map\">\n<h2>Cuir do chuid sonraí ar an léarscáil<a class=\"heading-anchor\" href=\"#putting-your-data-on-the-map\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"geographic-admin\">\n<h3>Riarachán Geografach<a class=\"heading-anchor\" href=\"#geographic-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"/ga/6.1/ref/contrib/admin/\"><span class=\"doc\">Django's admin application</span></a> supports editing\ngeometry fields.</p>\n<section id=\"basics\">\n<h4>Buneilimintí<a class=\"heading-anchor\" href=\"#basics\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Ligeann riarachán Django d'úsáideoirí geoiméadraí a chruthú agus a mhodhnú ar léarscáil slippy JavaScript (faoi thiomáint ag <a class=\"reference external\" href=\"https://openlayers.org/\">OpenLayers</a>).</p>\n<p>Déanaimis tumadóireacht isteach. Cruthaigh comhad darb ainm admin.py` taobh istigh den fheidhmchlár <code class=\"docutils literal notranslate\"><span class=\"pre\">domh</span></code> leis an gcód seo a leanas:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">admin</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">WorldBorder</span>\n\n<span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">site</span><span class=\"o\">.</span><span class=\"n\">register</span><span class=\"p\">(</span><span class=\"n\">WorldBorder</span><span class=\"p\">,</span> <span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">ModelAdmin</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ansin, cuir do urls.py` in eagar san fhillteán feidhmchláir <code class=\"docutils literal notranslate\"><span class=\"pre\">geodjango</span></code> mar seo a leanas:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">admin</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">include</span><span class=\"p\">,</span> <span class=\"n\">path</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;admin/&quot;</span><span class=\"p\">,</span> <span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">site</span><span class=\"o\">.</span><span class=\"n\">urls</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Cruthaigh úsáideoir riaracháin:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-13-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>createsuperuser\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-13-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py createsuperuser\n</code></pre></div></div></div>\n<p>Ansin, cuir tús leis an bhfreastalaí forbartha Django:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-14-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>runserver\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-14-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py runserver\n</code></pre></div></div></div>\n<p>Faoi dheireadh, brabhsáil chuig <code class=\"docutils literal notranslate\"><span class=\"pre\">http://localhost:8000/admin/</span></code>, agus logáil isteach leis an úsáideoir a chruthaigh tú díreach. Brabhsáil chuig aon cheann de na hiontrálacha <code class=\"docutils literal notranslate\"><span class=\"pre\">Worldborder</span></code> - is féidir na teorainneacha a chur in eagar trí chliceáil ar pholugún agus na coirteanna a tharraingt go dtí an suíomh atá ag teastáil.</p>\n</section>\n<section id=\"gismodeladmin\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">GisModelAdmin</span></code><a class=\"heading-anchor\" href=\"#gismodeladmin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Leis an: class: ~django.contrib.gis.admin.gismodelAdmin, úsáideann GeoDjango ciseal <a class=\"reference external\" href=\"https://www.openstreetmap.org/\">OpenStreetMap</a> sa riarachán. Soláthraíonn sé seo níos mó comhthéacs (lena n-áirítear sonraí sráide agus smachta) ná mar atá ar fáil len:class: ~django.contrib.admin.modelAdmin (a úsáideann an tacar sonraí <a class=\"reference external\" href=\"http://web.archive.org/web/20201024202709/https://earth-info.nga.mil/publications/vmap0.html\">Level Léarscáil Vector 0</a> WMS atá óstáilte ag <a class=\"reference external\" href=\"https://www.osgeo.org/\">OsGeo</a>).</p>\n<p>Caithfear na comhaid aistrithe dáta PROJ a shuiteáil (féach an:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Treoracha suiteála PROJ &lt;proj4&gt;`le haghaidh tuilleadh sonraí).</p>\n<p>Má chomhlíonann tú an riachtanas seo, ansin bain úsáid as an rang rogha <code class=\"docutils literal notranslate\"><span class=\"pre\">GisModelAdmin</span></code> i do chomhad <code class=\"docutils literal notranslate\"><span class=\"pre\">admin.py</span></code>:</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=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">site</span><span class=\"o\">.</span><span class=\"n\">register</span><span class=\"p\">(</span><span class=\"n\">WorldBorder</span><span class=\"p\">,</span> <span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">GISModelAdmin</span><span class=\"p\">)</span>\n</code></pre></div>\n<p class=\"rubric\">Fonótaí</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"id11\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id1\">1</a><span class=\"fn-bracket\">]</span></span>\n<p>Buíochas speisialta do Bjørn Sandvik de <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>mastermaps.net`&lt; <a class=\"reference external\" href=\"https://mastermaps.net/\">https://mastermaps.net/</a>&gt; _ as an tacar sonraí seo a sholáthar agus a chothabháil.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"id12\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id2\">2</a><span class=\"fn-bracket\">]</span></span>\n<p>Scríobh Dane Springmeyer, Josh Livni, agus Christopher Schmidt aipeanna bunúsacha GeodJango.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"id13\" 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>Is é an pointe seo <a href=\"#id15\"><span class=\"problematic\" id=\"id16\">`Ionad Dlí Ollscoil Houston`_</span></a>. &lt; <a class=\"reference external\" href=\"https://www.law.uh.edu/\">https://www.law.uh.edu/</a>&gt;</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"id14\" 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>&lt; <a class=\"reference external\" href=\"https://www.ogc.org/standards/sfs\">https://www.ogc.org/standards/sfs</a>&gt;Open Geospatial Consortium, Inc., <a href=\"#id17\"><span class=\"problematic\" id=\"id18\">`Sonraíocht Gné Simplí OpenGIS Do SQL`_</span></a>.</p>\n</aside>\n</aside>\n</section>\n</section>\n</section>","rootId":"geodjango-tutorial","toc":[{"title":"Réamhrá","anchor":"introduction","children":[]},{"title":"Ag bhunú","anchor":"setting-up","children":[{"title":"Cruthaigh Bunachar Sonraí Spásúil","anchor":"create-a-spatial-database","children":[]},{"title":"Cruthaigh Tionscadal Nua","anchor":"create-a-new-project","children":[]},{"title":"Cumraigh settings.py","anchor":"configure-settings-py","children":[]}]},{"title":"Sonraí Geografacha","anchor":"geographic-data","children":[{"title":"Teorainneacha Domhanda","anchor":"worldborders","children":[]},{"title":"Úsáid ogrinfo chun sonraí spásúla a scrúdú","anchor":"use-ogrinfo-to-examine-spatial-data","children":[]}]},{"title":"Samhlacha Geografacha","anchor":"geographic-models","children":[{"title":"Samhail Geografach a shainiú","anchor":"defining-a-geographic-model","children":[]},{"title":"Rith `imirce","anchor":"run-migrate","children":[]}]},{"title":"Sonraí Spásúla a Iom","anchor":"importing-spatial-data","children":[{"title":"Comhéadan GDAL","anchor":"gdal-interface","children":[]},{"title":"Sraith maping","anchor":"layermapping","children":[]},{"title":"Bain triail as ogrinspect","anchor":"try-ogrinspect","children":[]}]},{"title":"Ceisteanna Spásúla","anchor":"spatial-queries","children":[{"title":"Cuardaigh Spásúla","anchor":"spatial-lookups","children":[]},{"title":"Claochluithe Spásúla","anchor":"automatic-spatial-transformations","children":[]},{"title":"Geoiméadraí leisciúla","anchor":"lazy-geometries","children":[]},{"title":"Anótaí geografacha","anchor":"geographic-annotations","children":[]}]},{"title":"Cuir do chuid sonraí ar an léarscáil","anchor":"putting-your-data-on-the-map","children":[{"title":"Riarachán Geografach","anchor":"geographic-admin","children":[{"title":"Buneilimintí","anchor":"basics","children":[]},{"title":"GisModelAdmin","anchor":"gismodeladmin","children":[]}]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Tagairt API","url":"/ga/6.1/ref/"},{"docname":"ref/contrib/index","title":"Pacáistí contrib","url":"/ga/6.1/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeodJango","url":"/ga/6.1/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/index","title":"GeodJango","url":"/ga/6.1/ref/contrib/gis/"},"next":{"docname":"ref/contrib/gis/install/index","title":"Suiteáil GeodJango","url":"/ga/6.1/ref/contrib/gis/install/"},"formats":{"html":"/ga/6.1/ref/contrib/gis/tutorial/","markdown":"/ga/6.1/ref/contrib/gis/tutorial.md","json":"/ga/6.1/ref/contrib/gis/tutorial.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/contrib/gis/tutorial.txt","official":"https://docs.djangoproject.com/ga/6.1/ref/contrib/gis/tutorial/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}