Jak zbudować minimalny wypukły kadłub przekraczający linię 180 stopni?

13

Buduję wypukłe kadłuby dla gatunków zamieszkujących Indo-Pacyfik (~ od 20 do -65 stopni długości geograficznej). Problem, z którym się spotkałem, polega na tym, że w przypadku gatunków, które można znaleźć po obu stronach linii długości 180 stopni, zrekonstruowany kadłub rozszerza się na całej warstwie, zamiast uwzględniać punkty w znacznie mniejszym wielokącie zawierającym oba końce warstwy. Przyczyną tego zachowania jest to, że linia ta reprezentuje krawędź warstwy, a QGIS nie zawija map wektorowych (patrz zdjęcie poniżej ... moja „reputacja” jest teraz „wystarczająco dobra, aby ją uwzględnić, dziękuję).

wprowadź opis zdjęcia tutaj

Po przemyśleniu i przejrzeniu Google'a, oto niektóre z możliwych podejść do problemu, z którym się spotkałem; nie jestem jednak zbyt pewien ich zalet lub implementacji:

  1. Zmień środkowy południk z 0 (tj. Greenwich), powiedzmy 150 stopni. Jak można to zrobić? Czy zmieniłoby to tylko wyświetlanie mapy (przydatne jako takie), czy też przyczyniłoby się do budowy prawidłowego wypukłego kadłuba?

  2. Zmień układ współrzędnych z formatu +/- 180 stopni na format 0 do 360 stopni. Najwyraźniej coś takiego można osiągnąć za pomocą funkcji „ST_Shift_Longitude” w PostGIS, która dodaje 360 ​​stopni do ujemnych długości geograficznych. Czy istnieje prostszy sposób na zrobienie tego? Również ta funkcja tworzy mapę centryczną o 180 stopniach, która nie byłaby końcem świata, ale mapa centryczna o 150 stopniach byłaby lepsza (~ środek Indo-Pacyfiku).

    Dziękujemy za poświęcony czas i pomoc oraz przepraszamy za długi post.

Bernardo
źródło
1
Wypukłe kadłuby mają sens tylko wtedy, gdy używany jest rzutowany układ współrzędnych
2
Chociaż ogólnie masz rację, @Dan, w wielu przypadkach wypukły kadłub ma sens - i jest to prawdopodobnie jeden z nich. Możemy zdefiniować wypukły kadłub dowolnego zestawu punktów na kuli, konstruując ich stożek (będący połączeniem promieni pochodzących ze środka ziemi i przechodzących przez punkty) i przecinając wypukły kadłub tych promieni (uważany za podzbiór przestrzeń) z kulą.
whuber
Powiązane pytanie na gis.stackexchange.com/questions/17788 dotyczy obliczenia ramek granicznych punktów, które mogą przekroczyć południk + -180 stopni. W tym przypadku jednak rozwiązanie w rzutowanych współrzędnych (jak sugeruje @Dan Patterson) lub rozwiązanie 3D wygląda jak najlepsze zakłady. Uważaj jednak: większość systemów GIS nadal ma problemy z radzeniem sobie z danymi obejmującymi ten południk. Przeprowadź testy przy użyciu prostych zestawów danych przed zastosowaniem dowolnego rozwiązania.
whuber

Odpowiedzi:

4

Możesz użyć GRASS GIS (w QGIS dostępnym za pomocą przybornika GRASS lub nowszego, wtyczki Sextante), który jest w stanie obsłużyć globalne zawijanie w wierszu daty.

Oto przykład z losowymi punktami w tej strefie z wypukłym wielokątem kadłuba wygenerowanym za pomocą v.hull :

wprowadź opis zdjęcia tutaj

markusN
źródło
0

Jeśli chcesz przenieść środkowy południk mapy świata z Greenwich do czegoś innego, otrzymujesz takie same przesunięcia, jakie napotkałeś, ale z tłem mapy, jeśli jest zbudowane z wielokątów wektorowych.

Zobacz to pytanie i obejście tego rozwiązania:

Przeprojektowanie zbioru danych o Ziemi Naturalnej do World Eckert I.

Chociaż napisany do projekcji Eckerta, powinien działać dla wszystkich światowych poglądów skupionych na meridianach innych niż Greenwich.

Użycie tła rastrowego, takiego jak Blue Marble, pozwoliłoby uniknąć tego problemu.

AndreJ
źródło