Lagi

CartoDB - Multipoligon tidak menunjukkan persimpangan


Saya mengalami masalah dengan Multipoligon di CartoDB.

Saya memiliki skenario yang sangat sederhana: Baris multi poligon di atas meja yang perlu ditampilkan di peta. Faktanya adalah ketika lebih dari dua poligon bertabrakan, MapView hanya menampilkan bagian yang tidak umum di antara poligon. Ini sangat sederhana untuk ditunjukkan:

(Itu adalah 3 poligon asli, dirender secara manual menggunakan Google Maps API)

(Ini adalah rendering CartoDB. Area yang tumpang tindih tidak ada!)

Yang paling gila adalah bahwa penyaji menunjukkan bagian yang ditutupi oleh tiga poligon. Anda dapat melihat area kecil Botafogo, area ini ditutupi oleh tiga poligon dan ditampilkan dengan benar pada rendering CartoDB.

Adakah yang tahu mengapa ini terjadi dan bagaimana cara memperbaikinya? Saya tidak dapat menemukan sesuatu yang berguna pada dokumentasi. Satu-satunya solusi yang bisa saya lakukan adalah dengan melakukan beberapa operasi menggunakan Postgis (ST_Polygonize) tetapi jika saya melakukan ini, saya akan kehilangan opsi pemfilteran, karena saya akan menggunakan kueri khusus. Juga, bagi saya, tidak masuk akal mengapa CartoDB tidak menunjukkan area yang tumpang tindih.


Dalam kasus Anda, poligon terakhir memiliki urutan terbalik di simpul sehingga itu sebabnya mapnik (perpustakaan yang kami gunakan untuk rendering) geometri dihapus.

Jika Anda menyusun ulang urutan poligon terbaru (dengan st_reverse misalnya), itu akan ditampilkan seperti yang Anda harapkan. Saya tidak benar-benar tahu apakah itu yang diharapkan dan itu adalah bug mapnik, saya sarankan Anda untuk mengajukan tiket di repo-nya.

Ini adalah poligon "tetap":

MULTIPOLYGON (((- 43,162879943848 -22,913021404896, -43,183307647705 -22,891041392518, -43,209915161133 -22,897841345212, -43,209915161132 -22,909068428006, -43,21626663208 -22,92092701284, -43,220729827881 -22,93310074698, -43,196353912354 -22,940372845276, -43,187084197998 -22,953493251659, -43,168888092041 -22,953809390333, - 43,148288726807 -22,921875654802, -43,162879943848 -22,913021404896)), ((- 43,142280578613 -22,966296276961, -43,175239562988 -22,944482988916, -43,207511901855 -22,941953684522, -43,233604431152 -22,9495414559, -43,246307373047 -22,98115258902, -43,262100219727 -22,984313295763, -43,264846801758 -22,965031834579, -43,293685913086 -22,963767380373, -43,29231262207 -23,004224047371, -43,215408325195 -22,988422103968, -43,189830780029 -22,991266590272, -43,142280578613 -22,966296276961)), ((- 43,220901489258 -22,922349973292, -43,221416473389 -22,93626257684, -43,305015563965 -22,995059145473, -43,243560791016 -22,999799689663, -43,122024536133 - 22.947960705279,-43.164596557617 -22.9043247036,- 43.198757171631 -22.903692194474,-43.213176727295 -22.912072700955,-43.220901489258 -22.922349973292)))


Tonton videonya: Analysis with CARTO (Oktober 2021).