Wie baue ich eine minimale konvexe Hülle, die die 180-Grad-Linie überschreitet?

13

Ich habe konvexe Rümpfe für Arten gebaut, die im Indopazifik leben (~ 20 bis -65 Längengrade). Das Problem, auf das ich gestoßen bin, ist, dass sich der rekonstruierte Rumpf für die Arten, die sich auf beiden Seiten der 180-Grad-Längenlinie befinden, über die gesamte Schicht ausdehnt, anstatt die Punkte in einem viel kleineren Polygon, das beide Enden der Schicht umfasst, einzuschließen. Die Ursache für dieses Verhalten ist, dass diese Linie den Rand des Layers darstellt und QGIS keine Vektorkarten umschließt (siehe Abbildung unten ... Mein "Ruf" ist jetzt "gut genug, um ihn einzuschließen, danke").

Bildbeschreibung hier eingeben

Nach einigem Nachdenken und googeln sind dies einige der möglichen Herangehensweisen an das Problem, auf das ich gestoßen bin. Ich bin mir jedoch nicht sicher, ob sie von Nutzen oder Umsetzung sind:

  1. Ändern Sie den Mittelmeridian von 0 (dh Greenwich) auf 150 Grad. Wie geht das? Würde dies lediglich die Kartendarstellung verändern (nützlich an sich) oder würde es auch zur Konstruktion der richtigen konvexen Hülle beitragen?

  2. Ändern Sie das Koordinatensystem von einem +/- 180-Grad-Format in ein 0- bis 360-Grad-Format. Anscheinend kann etwas in diese Richtung mit der Funktion 'ST_Shift_Longitude' in PostGIS erreicht werden, die die negativen Längengrade um 360 Grad erhöht. Gibt es einen einfacheren Weg, dies zu tun? Diese Funktion erzeugt auch eine 180-Grad-zentrierte Karte, was nicht das Ende der Welt wäre, aber eine 150-Grad-zentrierte Karte wäre besser (das Zentrum des Indopazifiks).

    Vielen Dank für Ihre Zeit und Hilfe, und entschuldigen Sie sich für den langen Beitrag.

Bernardo
quelle
1
Konvexe Hüllen sind nur dann sinnvoll, wenn ein projiziertes Koordinatensystem verwendet wird
2
Obwohl Sie im Allgemeinen Recht haben, @Dan, gibt es viele Fälle, in denen die konvexe Hülle Sinn ergibt - und dies ist wahrscheinlich einer davon. Wir können die konvexe Hülle jeder Menge von Punkten auf der Kugel definieren, indem wir ihren Kegel konstruieren (der die Vereinigung von Strahlen darstellt, die vom Erdmittelpunkt ausgehen und durch die Punkte verlaufen) und die konvexe Hülle dieser Strahlen schneiden (die als Teilmenge von Strahlen betrachtet werden) Raum) mit der Kugel.
whuber
Eine verwandte Frage unter gis.stackexchange.com/questions/17788 fordert Sie auf, Begrenzungsrahmen für Punkte zu berechnen, die den Meridian von + -180 Grad überschreiten könnten. Im vorliegenden Fall sehen jedoch entweder eine Lösung in projizierten Koordinaten (wie von @Dan Patterson vorgeschlagen) oder die 3D-Lösung wie die besten Wetten aus. Beachten Sie jedoch, dass die meisten GIS immer noch Probleme haben, mit Daten umzugehen, die sich über diesen Meridian erstrecken. Führen Sie Tests mit einfachen Datensätzen durch, bevor Sie sich auf eine Lösung festlegen.
whuber

Antworten:

4

Sie können GRASS GIS (in QGIS verfügbar über GRASS Toolbox oder besser Sextante Plugin) verwenden, das das globale Wrap-Around an der Datumsgrenze handhaben kann.

Hier ein Beispiel mit zufälligen Punkten in dieser Zone mit konvexem Rumpfpolygon, das mit v.hull generiert wurde :

Bildbeschreibung hier eingeben

markusN
quelle
0

Wenn Sie den Mittelmeridian der Weltkarte von Greenwich auf einen anderen Punkt verschieben möchten, erhalten Sie dieselben Fehler, die Sie festgestellt haben, jedoch mit dem Kartenhintergrund, wenn er aus Vektorpolygonen aufgebaut ist.

In diesen Fragen und Antworten finden Sie eine Problemumgehung:

Neuprojektion des Natural Earth-Datensatzes nach World Eckert I

Obwohl es für die Eckert-Projektion geschrieben wurde, sollte es für alle weltweiten Ansichten funktionieren, die sich auf Meridiane konzentrieren, die sich von Greenwich unterscheiden.

Die Verwendung eines Raster-Hintergrunds wie Blue Marble vermeidet dieses Problem.

AndreJ
quelle