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 kuncigeometry
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).srid
: SRID digunakan untuk isigeometry
. 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',
'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.