# Dokumentasi Django 4.2.9.dev20231204082947

# Penserial `GeoJSON`

GeoDjango menyediakan penserial khusus untuk bentuk GeoJSON. Lihat Menserialkan obyek-obyek Django untuk informasi lebih pada serialisasi.

Penserial `geojson` tidak bermaksud untuk data bolak-balik, ketika itu tidak mempunyai pendeserial setara. Sebagai contoh, anda tidak dapat menggunakan `loaddata` untuk memuat kembali keluaran dihasilkan oleh penserial ini. Jika anda berencena untuk memuat kembali data dikeluarkan, gunakan json serializer polos sebagai gantinya.

Sebagai tambahan pada pilihan dari penserial `json`, penserial `json` menerima pilihan tambahan berikut ketika itu dipanggil oleh `serializers.serialize()`:

- `geometry_field`: Sebuah string mengandung nama dari bidang geometri untuk digunakan untuk kunci `geometry` dari fitur GeoJSON. Ini hanya dibutuhkan ketika anda mempunyai sebuah model dengan lebih dari satu bidang geometri dan anda tidak ingin menggunakan pertama menentukan bidang geometri (secara awalan, bidang geometri pertama diambil).
- `id_field`: A string containing the name of a field to use for the `id` key of the GeoJSON feature. By default, the primary key of objects is used.
- `srid`: SRID digunakan untuk isi `geometry`. Awalan pada 4326 (WGS 84).

Pilihan fields dapat digunakan untuk membatasi bidang-bidang yang akan hadir dalam kunci `properties`, ketika itu bekerja dengan semua penserial.

Contoh:

    from django.core.serializers import serialize
    from my_app.models import City

    serialize("geojson", City.objects.all(), geometry_field="point", fields=["name"])

Akan mengeluarkan:

    {
        "type": "FeatureCollection",
        "crs": {"type": "name", "properties": {"name": "EPSG:4326"}},
        "features": [
            {
                "type": "Feature",
                "id": 1,
                "geometry": {"type": "Point", "coordinates": [-87.650175, 41.850385]},
                "properties": {"name": "Chicago"},
            }
        ],
    }

Ketika parameter `fields` tidak ditentukan, penserial `geojson` menambahkan kunci `pk` ke dictionary `properties` dengan primary key dari obyek sebagai nilai.

Changed in Django 4.2:

The `id` key for serialized features was added. Also, the `id_field` option was added to the `geojson` serializer.