Query OSM per tutte le spiagge esposte a ovest? - QGIS preferito


17

Voglio identificare tutte le spiagge di questo pianeta (o un determinato sottoinsieme di esso) che sono rivolte verso ovest (+/- 20-30 gradi).

La mia idea è quella di utilizzare OSM come origine dati. L'estrazione di tutti i poligoni che hanno il tag "natural = beach" mi dà un set di dati / shapefile di tutte le aree che sono contrassegnate come spiagge. Fin qui tutto bene.

So anche che posso usare i dati della costa (ad esempio da OSM o Natural Earth) per identificare il fronte delle spiagge.

Bufferare le forme della spiaggia per correggere piccoli disallineamenti e intersecarle con la costa dovrebbe fornirmi dati su quale lato della forma è rivolto verso l'acqua. L'uso dei valori max / min di tutti i punti di intersezione dovrebbe darmi un'idea del rilevamento. (90 gradi +/- 20-30 gradi andrebbero bene ...)

Ed è lì che mi sono perso ...

Il mio strumento preferito sarebbe QGIS, ma anche PostGIS sarebbe OK.

C'è qualcuno in giro con un'idea intelligente su come risolvere questo enigma?


4
Invece di usare i buffer .. Non sarebbe più facile capire come spostare tutti gli elementi nel tuo shapefile un po 'verso est, quindi eseguire un Intersect tra lo shapefile della costa e lo shapefile delle spiagge? Si sovrapporranno solo dove le spiagge si affacciano a ovest.
Tim Couwelier,

Tim - bella idea. Non sono sicuro che funzionerà davvero con geometrie "strane". Ho ricevuto un'altra idea: prendere la costa come linee e il centroide dei poligoni della spiaggia usando v.net in erba agganciare il centroide alla linea più vicina (o in postgis). ora hai una linea che rappresenta la direzione. calcola il rilevamento dal punto iniziale del centroide al punto finale della linea usando il trig. Anche se bello, non è completamente "all'interno" di QGIS. Altre idee intelligenti?
jdoe,

Se riesci a trovare un modo per trasformare la costa in una serie di dati puntuali e anche i centroidi della spiaggia, puoi provare l'analisi dei vicini più vicini come descritto qui: link Invece di unire gli attributi come mostrato nell'esempio, assicurati di avere x, valori y per i due set di dati corrispondenti. usando il calcolatore di campo è possibile trovare le differenze relative tra i valori xey per il centroide e il punto più vicino. In base al segno della differenza x si sa se è ovest o est e in base al rapporto diff (y) / diff (x) come occidentale.
Tim Couwelier,

Dato che ho finito i caratteri, ecco: se il centroide x-value> coast point x-value, la spiaggia è rivolta a ovest. le coordinate xey delle due ti permetterebbero di calcolare l'angolo verso l'asse y: (y2-y1) / (x2-x1) ti dà l'inclinazione della linea, che puoi riconvertire in gradi
Tim Couwelier

5
È possibile rasterizzare i dati, impostare i valori di acqua aperta su zero e le spiagge su 1, quindi eseguire lo strumento Analisi del terreno-> Aspetto. Otterresti un raster della direzione della pendenza verso il basso e sarai in grado di scegliere celle sufficientemente "ad ovest".
WxMacMan,

Risposte:


1

Il servizio di elevazione su ArcGIS Online include dati in tutto il mondo pronti all'uso e anche una funzione raster integrata per generare aspetto. È anche abbastanza semplice filtrare simultaneamente per una gamma di valori di aspetto (290-250 gradi) così come l'elevazione (ad esempio da 0 a 10 metri, a seconda di come si definisce una spiaggia - o forse hai già delineato le spiagge?). Non so se sei aperto all'utilizzo della tecnologia ArcGIS - in caso affermativo, posso inviarti alcune richieste REST di esempio.

Il png allegato non è adeguatamente filtrato per l'elevazione, ma mostra il concetto ...inserisci qui la descrizione dell'immagine

Cody B.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.