Rumah  >  Artikel  >  hujung hadapan web  >  Membetulkan Isu Lukisan GeoJSON D3.js: Bagaimana untuk Membetulkan Susunan Penggulungan?

Membetulkan Isu Lukisan GeoJSON D3.js: Bagaimana untuk Membetulkan Susunan Penggulungan?

Linda Hamilton
Linda Hamiltonasal
2024-10-22 06:32:03207semak imbas

Fixing D3.js GeoJSON Drawing Issue: How to Correct the Winding Order?

D3.js Salah Melukis GeoJSON: Masalah Tertib Penggulungan

Apabila cuba menggambarkan wilayah Rusia menggunakan data geoJSON, pengaturcara menghadapi masalah di mana D3.js melukis satu segi empat tepat hitam dan bukannya garis peta yang dikehendaki. Percanggahan ini timbul daripada isu dengan tertib penggulungan koordinat dalam fail geoJSON.

Memahami Tertib Penggulungan

Koordinat GeoJSON boleh diatur sama ada mengikut arah jam atau lawan jam , mewakili bahagian dalam atau luar sesuatu bentuk. Kebanyakan alatan dan pengesah mengabaikan tertib ini, tetapi D3.js menggunakan matematik ellipsoidal, yang memerlukan penggulungan yang betul untuk mengelakkan daripada mencipta poligon terbalik yang meliputi seluruh dunia.

Mengenal pasti Isu

Setelah memeriksa laluan SVG, ternyata beberapa laluan dilukis dengan tepat manakala yang lain meliputi seluruh planet kecuali ruang yang dimaksudkan. Ini kerana data tersebut mengandungi gabungan kedua-dua belitan mengikut arah jam dan lawan jam, membawa D3.js untuk menganggap poligon terbalik sebagai segala-galanya di planet ini yang bukan kawasan sasaran.

Menyelesaikan Isu

Untuk menyelesaikan masalah ini, koordinat mesti disusun semula. Penyelesaian yang mudah ialah menggunakan perpustakaan turf.js:

<code class="js">var fixed = features.map(function(feature) {
    return turf.rewind(feature,{reverse:true});
});</code>

Ini memundurkan setiap poligon untuk mengikut tertib penggulungan yang betul, seperti yang dinyatakan oleh spesifikasi geoJSON. Walau bagaimanapun, D3.js menggunakan tertib penggulungan yang bertentangan, jadi parameter terbalik ditetapkan kepada benar.

Melaraskan Paparan Peta

Selepas membetulkan tertib penggulungan, pelarasan selanjutnya boleh dibuat untuk meningkatkan penampilan peta. Dengan menambahkan kaedah fitSize pada unjuran, peta boleh diskalakan dan diterjemahkan untuk mencapai paparan yang lebih sesuai.

Atas ialah kandungan terperinci Membetulkan Isu Lukisan GeoJSON D3.js: Bagaimana untuk Membetulkan Susunan Penggulungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn