Apa perbedaan antara GeoJSON dan TopoJSON dan kapan saya akan menggunakannya?
The deskripsi TopoJSON pada GitHub menyiratkan file TopoJSON 80% lebih kecil. Jadi mengapa tidak menggunakan TopoJSON saja setiap saat?
Apa perbedaan antara GeoJSON dan TopoJSON dan kapan saya akan menggunakannya?
The deskripsi TopoJSON pada GitHub menyiratkan file TopoJSON 80% lebih kecil. Jadi mengapa tidak menggunakan TopoJSON saja setiap saat?
Jawaban:
Jika Anda peduli dengan ukuran file atau topologi, gunakan TopoJSON. Jika Anda juga tidak peduli, gunakan GeoJSON demi kesederhanaan.
Keuntungan utama TopoJSON adalah ukurannya. Dengan menghilangkan redundansi dan menggunakan pengkodean bilangan bulat presisi tetap yang lebih efisien, file TopoJSON sering kali urutan besarnya lebih kecil daripada file GeoJSON. Keuntungan sekunder dari file TopoJSON adalah bahwa pengkodean topologi memiliki aplikasi yang berguna, seperti penyederhanaan pelestarian topologi (mirip dengan MapShaper ) dan pembuatan mesh otomatis (seperti dalam batas negara bagian dalam contoh choropleth ini ).
Keunggulan ini menimbulkan biaya: format file yang lebih kompleks. Dalam JavaScript, misalnya, Anda biasanya menggunakan pustaka klien TopoJSON untuk mengonversi TopoJSON menjadi GeoJSON untuk digunakan dengan alat standar seperti d3.geoPath . (Dengan Python, Anda dapat menggunakan topojson.py .) Selain itu, format integer TopoJSON memerlukan koordinat kuantisasi, yang berarti dapat menyebabkan kesalahan pembulatan jika Anda tidak berhati-hati. (Lihat dokumentasinya untuk topojson -q
.)
Untuk manipulasi geometri sisi server yang tidak memerlukan topologi, maka GeoJSON mungkin adalah pilihan yang lebih sederhana. Jika tidak, jika Anda memerlukan topologi atau ingin mengirim geometri melalui kabel ke klien, gunakan TopoJSON.
TopoJSON sangat ideal untuk fitur rapi yang "melekat" satu sama lain, seperti wilayah administratif, tetapi tidak membantu dengan data yang lebih berantakan atau organik. Jika data Anda hanya berupa poin, maka TopoJSON sama sekali tidak membantu.
Itu tergantung banyak pertimbangan. Diantaranya adalah sebagai berikut:
1) Sifat (model data) dari fitur atau fitur yang ingin Anda wakili 2) Atribut apa pun yang ingin Anda kaitkan dengan fitur tersebut 3) Bagaimana Anda ingin fitur ini berperilaku di halaman (statis vs. dinamis)
Namun, ini adalah pertanyaan yang sulit dijawab secara abstrak. Mengenai beberapa hal spesifik, jika Anda memiliki cakupan poligon yang berdekatan atau situasi lain di mana fitur berbagi batas, model topojson memungkinkan Anda untuk mengeksploitasi redundansi dan memasukkannya ke dalam model.
Baca dokumentasinya, membedah contoh (mis., Bl.ocks.org), lalu dapatkan beberapa data dan wakili di geojson dan topojson dan buat visualisasi Anda sendiri.