OSM für alle Strände nach Westen abfragen? - QGIS bevorzugt

17

Ich möchte alle Strände auf diesem Planeten (oder eine bestimmte Teilmenge davon) identifizieren, die nach Westen weisen (+/- 20-30 Grad).

Meine Idee ist, OSM als Datenquelle zu verwenden. Durch Extrahieren aller Polygone mit dem Tag "natural = beach" erhalte ich einen Datensatz / ein Shapefile aller Bereiche, die als Strände gekennzeichnet sind. So weit, ist es gut.

Ich weiß auch, dass ich Küstenlinien-Daten (zum Beispiel von OSM oder Natural Earth) verwenden kann, um die Ausrichtung der Strände zu bestimmen.

Wenn Sie die Strandformen puffern, um kleinere Fehlpaarungen zu korrigieren, und diese mit der Küstenlinie schneiden, sollten Sie mir Daten liefern, auf welcher Seite der Form das Wasser zugewandt ist. Die Verwendung der Max / Min-Werte aller Schnittpunkte sollte mir eine Vorstellung von der Peilung geben. (90 Grad +/- 20-30 Grad wären in Ordnung ...)

Und dort bin ich verloren ...

Mein bevorzugtes Tool wäre QGIS, aber auch PostGIS wäre in Ordnung.

Hat jemand eine clevere Idee, wie man dieses Rätsel löst?

jdoe
quelle
4
Anstatt Puffer zu verwenden. Wäre es nicht einfacher, herauszufinden, wie Sie alle Elemente in Ihrem Shapefile ein Stück nach Osten verschieben können, und dann eine Schnittmenge zwischen dem Shapefile der Küste und dem Shapefile der Strände auszuführen? Sie überlappen sich nur dort, wo die Strände nach Westen weisen.
Tim Couwelier
Tim - schöne Idee. Ich bin mir nicht sicher, ob es wirklich für "seltsame" Geometrien funktioniert. Ich habe eine weitere Idee erhalten: Nehmen Sie die Küste als Linien und den Schwerpunkt der Strandpolygone, indem Sie v.net im Gras verwenden und den Schwerpunkt an der nächsten Linie (oder in Postgis) ausrichten. Jetzt haben Sie eine Linie, die die Richtung darstellt. Berechnen Sie die Peilung vom Anfangspunkt des Schwerpunkts bis zum Endpunkt der Linie mit Trigger. Obwohl es nett ist, ist es nicht vollständig "in" QGIS. Weitere clevere Ideen?
Jdoe
Wenn Sie eine Möglichkeit finden, die Küste in eine Reihe von Punktdaten und auch die Strandschwerpunkte zu verwandeln, können Sie die Nearest Neighbor Analysis wie hier beschrieben ausführen: link Anstatt die Attribute wie im Beispiel gezeigt zu verknüpfen , stellen Sie sicher, dass x, y-Werte für die beiden übereinstimmenden Datensätze. Mit dem Feldrechner können Sie die relativen Unterschiede zwischen den x- und y-Werten für den Schwerpunkt und den nächstgelegenen Punkt ermitteln. Anhand des Vorzeichens des x-Unterschieds wissen Sie, ob es sich um West oder Ost handelt, und anhand des Verhältnisses von diff (y) / diff (x), wie westlich.
Tim Couwelier
Da mir die Zeichen ausgehen, gilt Folgendes: Wenn die Schwerpunkte x-Wert> Küstenlinie x-Wert sind, zeigt der Strand nach Westen. Mit den x- und y-Koordinaten der beiden können Sie den Winkel zur y-Achse berechnen: (y2-y1) / (x2-x1) gibt die Neigung der Linie an, die Sie zurück in Grad
umrechnen
5
Sie können Ihre Daten rastern, Werte für offenes Wasser auf Null und Strände auf 1 setzen und dann das Tool Terrain Analysis-> Aspect ausführen. Sie erhalten ein Raster der Abwärtsrichtung und können Zellen auswählen, die "westlich" genug sind.
WxMacMan

Antworten:

1

Der Elevation-Service in ArcGIS Online umfasst sofort einsatzbereite weltweite Daten sowie eine integrierte Rasterfunktion zum Generieren von Aspekten. Es ist auch ziemlich einfach, gleichzeitig nach Aspektwerten (290-250 Grad) und Höhenwerten zu filtern (z. B. 0 bis 10 Meter, je nachdem, wie Sie einen Strand definieren - oder haben Sie die Strände bereits abgegrenzt?). Ich weiß nicht, ob Sie bereit sind, die ArcGIS-Technologie zu verwenden. Wenn ja, kann ich Ihnen einige Muster-REST-Anforderungen senden.

Die angehängte PNG wird nicht richtig nach Höhe gefiltert, sondern zeigt das Konzept ...Bildbeschreibung hier eingeben

Cody B.

Benkelman
quelle