{"title":"Kegunaan impor data LayerMapping","version":"4.0","locale":"id","docname":"ref/contrib/gis/layermapping","url":"/id/4.0/ref/contrib/gis/layermapping/","canonical":"https://djangodocs.dev/id/4.0/ref/contrib/gis/layermapping/","summary":"Kelas LayerMapping menyediakan sebuah cara untuk memetakan isi dari berkas-berkas data spasial vektor (misalnya, shapefiles) kedalam model GeoDjango. Kegunaan ini…","html":"<span id=\"layermapping-data-import-utility\"></span><h1>Kegunaan impor data <code class=\"docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code><a class=\"heading-anchor\" href=\"#module-django.contrib.gis.utils.layermapping\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Kelas <a class=\"reference internal\" href=\"#django.contrib.gis.utils.LayerMapping\" title=\"django.contrib.gis.utils.LayerMapping\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code></a> menyediakan sebuah cara untuk memetakan isi dari berkas-berkas data spasial vektor (misalnya, shapefiles) kedalam model GeoDjango.</p>\n<p>Kegunaan ini tumbuh dari kebutuhan pribadi penulis untuk menhilangkan perulangan kode yang masuk menarik geometri dan bidang diluar lapisan vektor, merubah ke sistem kordinat lain (misalnya WGS84), dan kemudian memasukkan kedalam model GeoDjango.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Penggunaan <a class=\"reference internal\" href=\"#django.contrib.gis.utils.LayerMapping\" title=\"django.contrib.gis.utils.LayerMapping\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code></a> membutuhkan GDAL.</p>\n</aside>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Peringatan</p>\n<p>GIS data sources, like shapefiles, may be very large.  If you find\nthat <a class=\"reference internal\" href=\"#django.contrib.gis.utils.LayerMapping\" title=\"django.contrib.gis.utils.LayerMapping\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code></a> is using too much memory, set\n<a class=\"reference internal\" href=\"/id/4.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> to <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> in your settings.  When <a class=\"reference internal\" href=\"/id/4.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a>\nis set to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, Django <a class=\"reference internal\" href=\"/id/4.0/faq/models/#faq-see-raw-sql-queries\"><span class=\"std std-ref\">automatically logs</span></a>\n<em>every</em> SQL query -- and when SQL statements contain geometries, this may\nconsume more memory than is typical.</p>\n</aside>\n<section id=\"example\">\n<h2>Contoh<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<ol class=\"arabic\">\n<li><p>Anda butuh sumber data dudkung-GDAL, seperti shapefile (disini kami menggunakan shapefile poligon sederhana, <code class=\"docutils literal notranslate\"><span class=\"pre\">test_poly.shp</span></code>, dengan tiga fitur):</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.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=\"s1\">&#39;test_poly.shp&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">layer</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\">layer</span><span class=\"o\">.</span><span class=\"n\">fields</span><span class=\"p\">)</span> <span class=\"c1\"># Exploring the fields in the layer, we only want the &#39;str&#39; field.</span>\n<span class=\"go\">[&#39;float&#39;, &#39;int&#39;, &#39;str&#39;]</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\">layer</span><span class=\"p\">))</span> <span class=\"c1\"># getting the number of features in the layer (should be 3)</span>\n<span class=\"go\">3</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">layer</span><span class=\"o\">.</span><span class=\"n\">geom_type</span><span class=\"p\">)</span> <span class=\"c1\"># Should be &#39;Polygon&#39;</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=\"n\">layer</span><span class=\"o\">.</span><span class=\"n\">srs</span><span class=\"p\">)</span> <span class=\"c1\"># WGS84 in WKT</span>\n<span class=\"go\">GEOGCS[&quot;GCS_WGS_1984&quot;,</span>\n<span class=\"go\">    DATUM[&quot;WGS_1984&quot;,</span>\n<span class=\"go\">        SPHEROID[&quot;WGS_1984&quot;,6378137,298.257223563]],</span>\n<span class=\"go\">    PRIMEM[&quot;Greenwich&quot;,0],</span>\n<span class=\"go\">    UNIT[&quot;Degree&quot;,0.017453292519943295]]</span>\n</code></pre></div>\n</li>\n<li><p>Sekarang kami menentukan model Django yang sesuai (pastikan menggunakan <a class=\"reference internal\" href=\"/id/4.0/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">migrate</span></code></a>):</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<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">TestGeo</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\">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\">25</span><span class=\"p\">)</span> <span class=\"c1\"># corresponds to the &#39;str&#39; field</span>\n    <span class=\"n\">poly</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">PolygonField</span><span class=\"p\">(</span><span class=\"n\">srid</span><span class=\"o\">=</span><span class=\"mi\">4269</span><span class=\"p\">)</span> <span class=\"c1\"># we want our model in a different SRID</span>\n\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=\"s1\">&#39;Name: </span><span class=\"si\">%s</span><span class=\"s1\">&#39;</span> <span class=\"o\">%</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">name</span>\n</code></pre></div>\n</li>\n<li><p>Gunakan <a class=\"reference internal\" href=\"#django.contrib.gis.utils.LayerMapping\" title=\"django.contrib.gis.utils.LayerMapping\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code></a> untuk mengambil semua ditur-fitur dan menempatkan mereka dalam basisdata:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.utils</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">LayerMapping</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">geoapp.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TestGeo</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">mapping</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;name&#39;</span> <span class=\"p\">:</span> <span class=\"s1\">&#39;str&#39;</span><span class=\"p\">,</span> <span class=\"c1\"># The &#39;name&#39; model field maps to the &#39;str&#39; layer field.</span>\n<span class=\"go\">               &#39;poly&#39; : &#39;POLYGON&#39;, # For geometry fields use OGC name.</span>\n<span class=\"go\">               } # The mapping is a dictionary</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">lm</span> <span class=\"o\">=</span> <span class=\"n\">LayerMapping</span><span class=\"p\">(</span><span class=\"n\">TestGeo</span><span class=\"p\">,</span> <span class=\"s1\">&#39;test_poly.shp&#39;</span><span class=\"p\">,</span> <span class=\"n\">mapping</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">lm</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">(</span><span class=\"n\">verbose</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span> <span class=\"c1\"># Save the layermap, imports the data.</span>\n<span class=\"go\">Saved: Name: 1</span>\n<span class=\"go\">Saved: Name: 2</span>\n<span class=\"go\">Saved: Name: 3</span>\n</code></pre></div>\n</li>\n</ol>\n<p>Here, <a class=\"reference internal\" href=\"#django.contrib.gis.utils.LayerMapping\" title=\"django.contrib.gis.utils.LayerMapping\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code></a> transformed the three geometries from the shapefile\nin their original spatial reference system (WGS84) to the spatial reference\nsystem of the GeoDjango model (NAD83).  If no spatial reference system is\ndefined for the layer, use the <code class=\"docutils literal notranslate\"><span class=\"pre\">source_srs</span></code> keyword with a\n<a class=\"reference internal\" href=\"/id/4.0/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 to specify one.</p>\n</section>\n<section id=\"layermapping-api\">\n<h2>API <code class=\"docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code><a class=\"heading-anchor\" href=\"#layermapping-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.utils.LayerMapping\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">LayerMapping</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">model</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">data_source</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">mapping</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">layer</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">0</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">source_srs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">encoding</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">transaction_mode</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'commit_on_success'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">transform</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">unique</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">using</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'default'</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.utils.LayerMapping\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Berikut adalah argumen dan kata kunci yang mungkin digunakan selama penginstansiasi dari obyek <code class=\"docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code>.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Argument</p></th>\n<th class=\"head\"><p>Deskripsi</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">model</span></code></p></td>\n<td><p>Model geografis, <em>bukan</em> sebuah instance.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">data_source</span></code></p></td>\n<td><p>Jalur pada berkas sumber data didukung-OGR (misalnya, shapefile). Juga menerima contoh <a class=\"reference internal\" href=\"/id/4.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.DataSource\" title=\"django.contrib.gis.gdal.DataSource\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.gdal.DataSource</span></code></a>.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">mapping</span></code></p></td>\n<td><p>Sebuah dictionary: kunci-kunci adalah string berhubungan pada bidang model, dan nilai-nilai sesuai pada nama-nama bidang string untuk fitur OGR, atau jika bidang model adalah sebuah geografik lalu itu harus sesuai pada jenis geometri OGR, misalnya, <code class=\"docutils literal notranslate\"><span class=\"pre\">'POINT'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'LINESTRING'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'POLYGON'</span></code>.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Argumen Katakunci</p></th>\n<th class=\"head\"></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">layer</span></code></p></td>\n<td><p>Indeks dari lapisan untuk digunaan dari Data Source (awalan adalah 0)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">source_srs</span></code></p></td>\n<td><p>Use this to specify the source SRS manually (for\nexample, some shapefiles don't come with a <code class=\"docutils literal notranslate\"><span class=\"pre\">'.prj'</span></code>\nfile).  An integer SRID, WKT or PROJ strings, and\n<a class=\"reference internal\" href=\"/id/4.0/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\">django.contrib.gis.gdal.SpatialReference</span></code></a>\nobjects are accepted.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">encoding</span></code></p></td>\n<td><p>Menentukan penyandian kumpulan karakter dari string dalam sumber data OGR. Sebagai contoh, <code class=\"docutils literal notranslate\"><span class=\"pre\">'latin-1'</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">'utf-8'</span></code>, dan <code class=\"docutils literal notranslate\"><span class=\"pre\">'cp437'</span></code> adalah semua parameter penyandian sah.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">transaction_mode</span></code></p></td>\n<td><p>Mungkin <code class=\"docutils literal notranslate\"><span class=\"pre\">'commit_on_success'</span></code> (awalan) atau <code class=\"docutils literal notranslate\"><span class=\"pre\">'autocommit'</span></code>.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">transform</span></code></p></td>\n<td><p>Atur ini menjadi False akan meniadakan perubahan kordinat. Dengan kata lain, geometri akan dimasukkan ke dalam basisdata tidak dirubah dari keadaan asli mereka dalam sumber data.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">unik</span></code></p></td>\n<td><p>Sete ini pada nama, atau tuple dari nama, dari model diberikan akan membuat hanya model unik pada nama dinerikan. Geometri dari setiap fitur akan ditambahkan kedalam kumpulan berkaitan dengan model unik. Memaksa suasana perubahan menjadi <code class=\"docutils literal notranslate\"><span class=\"pre\">'autocommit'</span></code>.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">menggunakan</span></code></p></td>\n<td><p>Setel basisdata yang digunakan ketika mengimpor data spasial. Awalan adalah <code class=\"docutils literal notranslate\"><span class=\"pre\">'default'</span></code>.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<aside class=\"version-note version-changed\" data-version=\"3.2\">\n<p class=\"version-note-title\">Changed in Django 3.2</p><p>Support for <a class=\"reference external\" href=\"https://docs.python.org/3/library/pathlib.html#pathlib.Path\" title=\"(di Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">pathlib.Path</span></code></a> <code class=\"docutils literal notranslate\"><span class=\"pre\">data_source</span></code> was added.</p>\n</aside>\n<section id=\"save-keyword-arguments\">\n<h3>Argumen Kata Kunci <code class=\"docutils literal notranslate\"><span class=\"pre\">save()</span></code><a class=\"heading-anchor\" href=\"#save-keyword-arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.utils.LayerMapping.save\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">LayerMapping.</span></span><span class=\"sig-name descname\"><span class=\"pre\">save</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">verbose</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fid_range</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">step</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">progress</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">silent</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">stream</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">sys.stdout</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">strict</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.utils.LayerMapping.save\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Metode <code class=\"docutils literal notranslate\"><span class=\"pre\">save()</span></code> juga menerima kata kunci. Kata kunci ini digunakan untuk mengendalikan catatan keluaran, penanganan kesalahan, dan mengimpor jangkauan fitur khusus.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Simpan Argumen Kata Kunci</p></th>\n<th class=\"head\"><p>Deskripsi</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">fid_range</span></code></p></td>\n<td><p>Mungkin disetel dengan potongan atau tuple dari ID fitur (mulai, akhir) pada peta dari sumber data. Dengan akta lain, kata kunci ini mengadakan pengguna untuk memilih impor jangkauan subset dari fitur-fitur dalam sumber data geografis.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">progress</span></code></p></td>\n<td><p>Ketika kata kunci ini disetel, informasu keadaan akan dicetak memberikan angka dari fitur-fitur diolah dan berhasil disimpan. Secara awalan, informasi kemajuan akan dicetak setiap 1000 fitur diolah, bagaimanapun, awalan ini mungkin ditimpa dengan mengatur kata kunci ini dengan sebuah integer untuk jarak waktu yang diharapkan.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">silent</span></code></p></td>\n<td><p>Secara awalan, pemberitahuan kesalahan bukan-penting dicetak pada <code class=\"docutils literal notranslate\"><span class=\"pre\">sys.stdout</span></code>, tetapi kata kunci ini mungkin disetel untuk meniadakan pemberitahuan ini.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">step</span></code></p></td>\n<td><p>Jika disetel dengan integer, transaksi akan muncul pada setiap jangka waktu langkah. Sebagai contoh, jika <code class=\"docutils literal notranslate\"><span class=\"pre\">step=1000</span></code>, commit akan muncul setelah fitur ke 1000, fitur ke 2000 dll.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">stream</span></code></p></td>\n<td><p>Informasi keadaan akan ditulis ke penanganan berkas ini. Awalan menggunakan <code class=\"docutils literal notranslate\"><span class=\"pre\">sys.stdout</span></code>, tetapi obyek apapun dengan metode <code class=\"docutils literal notranslate\"><span class=\"pre\">write</span></code> didukung.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">strict</span></code></p></td>\n<td><p>Menjalankan pemetaan model akan menghentikan kesalahan pertama yang ditemui. Nilai awalan  perilaku (<code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>) adalah berusaha untuk melanjutkan.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">verbose</span></code></p></td>\n<td><p>Jika disetel, informasi akan dicetak selanjutnya pada setiap model simpan dijalankan pada basisdata.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n</section>\n<section id=\"troubleshooting\">\n<h2>Menyelesaikan masalah<a class=\"heading-anchor\" href=\"#troubleshooting\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"running-out-of-memory\">\n<h3>Kehabisan memori<a class=\"heading-anchor\" href=\"#running-out-of-memory\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Seperti dicatat dalam peringatan pada atas bagian ini, Django menyimpan semua permintaan SQL ketika <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG=True</span></code>. Setel <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG=False</span></code> dalam pengaturan ini, dan ini harus menghentikan penggunaan memori berlebihan ketika menjalankan tulisan <code class=\"docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code>.</p>\n</section>\n<section id=\"mysql-max-allowed-packet-error\">\n<h3>MySQL: kesalahan <code class=\"docutils literal notranslate\"><span class=\"pre\">max_allowed_packet</span></code><a class=\"heading-anchor\" href=\"#mysql-max-allowed-packet-error\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Jika anda menghadapi kesalahan berikut ketika menggunakan <code class=\"docutils literal notranslate\"><span class=\"pre\">LayerMapping</span></code> dan MySQL:</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\">OperationalError</span><span class=\"p\">:</span> <span class=\"p\">(</span><span class=\"mi\">1153</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Got a packet bigger than &#39;max_allowed_packet&#39; bytes&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Lalu pemecahan adalah untuk meningkatkan nilai dari pengaturan <code class=\"docutils literal notranslate\"><span class=\"pre\">max_allowed_packet</span></code> dalam konfigurasi MySQL anda. Sebagai contoh, nilai awalan mungkin sesuatu rendah seperti satu megabyte -- pengaturan dapat dirubah dalam berkas konfigurasi MySQL (<code class=\"docutils literal notranslate\"><span class=\"pre\">my.cnf</span></code>) dalam bagian <code class=\"docutils literal notranslate\"><span class=\"pre\">[mysqld]</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\">max_allowed_packet</span> <span class=\"o\">=</span> <span class=\"mi\">10</span><span class=\"n\">M</span>\n</code></pre></div>\n</section>\n</section>","rootId":"module-django.contrib.gis.utils.layermapping","toc":[{"title":"Contoh","anchor":"example","children":[]},{"title":"API LayerMapping","anchor":"layermapping-api","children":[{"title":"Argumen Kata Kunci save()","anchor":"save-keyword-arguments","children":[]}]},{"title":"Menyelesaikan masalah","anchor":"troubleshooting","children":[{"title":"Kehabisan memori","anchor":"running-out-of-memory","children":[]},{"title":"MySQL: kesalahan max_allowed_packet","anchor":"mysql-max-allowed-packet-error","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/4.0/ref/"},{"docname":"ref/contrib/index","title":"Paket contrib","url":"/id/4.0/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/id/4.0/ref/contrib/gis/"},{"docname":"ref/contrib/gis/utils","title":"Peralatan GeoDjango","url":"/id/4.0/ref/contrib/gis/utils/"}],"prev":{"docname":"ref/contrib/gis/utils","title":"Peralatan GeoDjango","url":"/id/4.0/ref/contrib/gis/utils/"},"next":{"docname":"ref/contrib/gis/ogrinspect","title":"Pemeriksaan OGR","url":"/id/4.0/ref/contrib/gis/ogrinspect/"},"formats":{"html":"/id/4.0/ref/contrib/gis/layermapping/","markdown":"/id/4.0/ref/contrib/gis/layermapping.md","json":"/id/4.0/ref/contrib/gis/layermapping.json"},"source":"https://github.com/django/django/blob/stable/4.0.x/docs/ref/contrib/gis/layermapping.txt","official":"https://docs.djangoproject.com/id/4.0/ref/contrib/gis/layermapping/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}