Polygone über internationale Datenlinie [-180 .. + 180 Länge]

9

Ich versuche, Polygone für Satellitenorbitalschwaden zu erzeugen. Bisher habe ich eine Methode, um zwei Linien zu erzeugen, die die Kante jedes Schwads in [lat, long] darstellen. Einige der Schwaden überqueren die internationale Datenlinie und wickeln sich so um:

Schwad umwickeln

Ich konnte dies lösen mit ogr2ogr -wrapdateline:

ogr2ogr -wrapdateline  -f "ESRI Shapefile" test.shp orbits.shp

Was die Linien wahrscheinlich teilt

Ich möchte jetzt in der Lage sein, Polygone im Inneren beider Linien zu erzeugen. In dem Fall, in dem eine Kante des Schwads die Datenlinie kreuzt, wird beispielsweise ein Polygon ausgefüllt, wenn es auf der anderen Seite auftritt, z.

füllen

Ich brauche eine Methode, die automatisiert ist, da ich die Aufgabe oft wiederholen muss. Am liebsten in Python, da ich so die Zeilen generiert habe. Hier sind die beiden Shapefiles, die die Linien enthalten: Wraparound ; datelinefixed

James
quelle
Weitere Ideen finden Sie in verwandten Themen unter gis.stackexchange.com/questions/429 und gis.stackexchange.com/questions/18562 . Möglicherweise könnten auch die in gis.stackexchange.com/questions/17788 vorgestellten Ideen hilfreich sein. Ich frage mich jedoch, was Sie unter "Interieur" verstehen: Diese Polygone sind nicht genau definiert. Sie müssen also mindestens Informationen angeben, um anzugeben, (a) welche Seite jeder Polylinie als "Interieur" gilt und (b) wie um sie in der Nähe der Pole abzuschneiden.
whuber

Antworten:

2

Sie können eine benutzerdefinierte Mercator-Projektion erstellen, die ungefähr in der Mitte des Schwads zentriert ist. Verwenden Sie zum Beispiel für Schwad 25:

+proj=merc +lon_0=-140 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

In dieser Projektion wird der Schwad nicht durch die Datenlinie unterbrochen. Sie können das Polygon aus der Linie erstellen.

Geben Sie hier die Bildbeschreibung ein

Erstellen Sie dann ein geschnittenes Polygon zwischen -179,95 ° O und 179,95 ° E in EPSG: 4326:

Nr;WKT
1;POLYGON ((-179.95 89, 179.95 89, 179.95 -89, -179.95 -89, -179.95 89))

Projizieren Sie es auch in Ihr benutzerdefiniertes CRS und subtrahieren Sie es vom Schwadpolygon.

Nach der erneuten Projektion auf EPSG: 4326 wird der Schwad korrekt durch die Datenlinie geteilt:

Geben Sie hier die Bildbeschreibung ein

Fahren Sie mit allen Schwaden fort, die die Datenlinie überschreiten.

AndreJ
quelle
1

Ich würde den Prozess der Erzeugung der Swathe-Linie so umschreiben, dass er im selben kontinuierlichen Longintudinalraum beginnt und endet. dh wenn eine Linie bei 170 ° begann und bei -170 ° endete, würde ich den Prozess so umschreiben, dass er bei 190 ° endet, ohne bei -180.180 zu wickeln

Dann können Sie ununterbrochene Polygone zwischen Ihren Linien erstellen.

Verwenden Sie dann einen Clip-Prozess, um die Polygone an der Linie 180, -180 zu teilen und alle Teile, die außerhalb des Bereichs -180.180 liegen, zu verschieben, indem Sie 360 ​​° entsprechend addieren oder subtrahieren.

Erledigen Sie einfach alles, bevor Sie es mit einer bestimmten Projektion / einem bestimmten Datum speichern

Herr Lila
quelle