Bagaimana cara membuat lambung cembung minimum melintasi garis 180 derajat?

13

Saya telah membangun lambung cembung untuk spesies yang mendiami Indo-Pasifik (~ dari 20 hingga -65 derajat bujur). Masalah yang saya temui adalah bahwa untuk spesies yang dapat ditemukan di kedua sisi garis bujur 180 derajat, lambung yang direkonstruksi meluas melintasi seluruh lapisan daripada memasukkan titik-titik dalam poligon yang jauh lebih kecil yang terdiri dari kedua ujung lapisan. Penyebab perilaku ini adalah bahwa garis ini mewakili tepi lapisan, dan QGIS tidak membungkus peta vektor (lihat gambar di bawah ... 'reputasi' saya sekarang 'cukup baik untuk memasukkannya, terima kasih).

masukkan deskripsi gambar di sini

Setelah beberapa pemikiran dan googling, ini adalah beberapa pendekatan yang mungkin untuk masalah yang saya temui; namun, saya tidak terlalu yakin akan prestasi atau implementasinya:

  1. Ubah meridian pusat dari 0 (yaitu Greenwich) menjadi katakanlah 150 derajat. Bagaimana ini bisa dilakukan? Apakah ini hanya mengubah tampilan peta (berguna per se), atau apakah itu juga berkontribusi pada pembangunan lambung cembung yang benar?

  2. Ubah sistem koordinat dari format +/- 180 derajat ke format 0 hingga 360 derajat. Rupanya, sesuatu di sepanjang garis ini dapat dicapai dengan menggunakan fungsi 'ST_Shift_Longitude' di PostGIS, yang menambahkan 360 derajat ke garis bujur negatif. Apakah ada cara yang lebih sederhana untuk melakukan ini? Juga fungsi ini menghasilkan peta 180 derajat sentris, yang tidak akan menjadi akhir dunia tetapi peta 150 derajat sentris akan lebih baik (~ pusat Indo-Pasifik).

    Terima kasih atas waktu dan bantuan Anda, dan maaf untuk posting yang panjang.

Bernardo
sumber
1
Hull cembung hanya masuk akal ketika sistem koordinat yang diproyeksikan digunakan
2
Meskipun Anda benar secara umum, @ Dan, ada banyak kasus di mana convex hull tidak masuk akal - dan ini mungkin salah satu dari mereka. Kita dapat mendefinisikan lambung cembung dari setiap himpunan titik pada bola dengan membangun kerucut mereka (yang merupakan gabungan dari sinar yang berasal dari pusat bumi dan melewati titik-titik) dan memotong lambung cembung dari sinar-sinar tersebut (dianggap sebagai bagian dari subset dari ruang) dengan bola.
whuber
Sebuah pertanyaan terkait di gis.stackexchange.com/questions/17788 meminta untuk menghitung kotak pembatas dari poin yang mungkin melintasi meridian + -180 derajat. Namun, dalam kasus ini, solusi dalam koordinat yang diproyeksikan (seperti yang disarankan oleh @Dan Patterson) atau solusi 3D terlihat seperti taruhan terbaik. Namun waspadalah: sebagian besar GIS masih memiliki masalah dalam menangani data yang meridian meridian ini. Lakukan tes dengan dataset sederhana sebelum melakukan solusi apa pun.
whuber

Jawaban:

4

Anda dapat menggunakan GRASS GIS (dalam QGIS tersedia melalui GRASS toolbox atau lebih baik, plugin Sextante) yang dapat menangani global wrap-around pada baris tanggal.

Berikut ini contoh dengan titik acak di zona itu dengan cembung poligon cembung yang dihasilkan dengan v.hull :

masukkan deskripsi gambar di sini

markN
sumber
0

Jika Anda ingin memindahkan meridian pusat dari peta dunia dari Greenwich ke sesuatu yang lain, Anda mendapatkan salah penempatan yang sama seperti yang Anda temui, tetapi dengan latar belakang Peta, jika dibangun oleh poligon vektor.

Lihat tanya jawab ini untuk pemecahannya:

Memproyeksikan ulang dataset Natural Earth ke World Eckert I

Meskipun ditulis untuk proyeksi Eckert, itu harus bekerja untuk semua pandangan di seluruh dunia yang berpusat pada meridian yang berbeda dari Greenwich.

Menggunakan latar belakang raster seperti Blue Marble akan menghindari masalah ini.

AndreJ
sumber