17 votos

¿Consultar en OSM todas las playas orientadas al oeste? - Preferiblemente QGIS

Quiero identificar todas las playas de este planeta (o de un subconjunto determinado del mismo) que están orientadas hacia el oeste (+/- 20-30 grados).

Mi idea es utilizar OSM como fuente de datos. Extrayendo todos los polígonos que tienen la etiqueta "natural=playa" obtengo un conjunto de datos / shapefile de todas las zonas marcadas como playas. Hasta aquí todo bien.

También sé que puedo utilizar los datos de la línea de costa (de OSM o de Natural Earth, por ejemplo) para identificar el frente de las playas.

Si tampono las formas de la playa para corregir pequeños desajustes y las intersecciono con la línea de costa, obtendré datos sobre qué lado de la forma está orientado hacia el agua. Los valores máximos y mínimos de todos los puntos de intersección me darán una idea de la orientación. (90 grados +/- 20-30 grados estaría bien...)

Y ahí es donde me pierdo...

Mi herramienta preferida sería QGIS, pero PostGIS también estaría bien.

¿Hay alguien por aquí con una idea ingeniosa de cómo resolver este rompecabezas?

4 votos

En lugar de utilizar búferes .. ¿No sería más fácil averiguar cómo desplazar todos los elementos de su shapefile un poco hacia el este, y luego ejecutar un Intersect entre el shapefile de la línea de costa y el shapefile de las playas? Sólo se solaparán donde las playas estén orientadas al oeste.

0 votos

Tim, buena idea. No estoy seguro de que funcione realmente para geometrías "extrañas". He recibido otra idea: tomar la costa como líneas y el centroide de los polígonos de la playa utilizando v.net en hierba ajustar el centroide a la línea más cercana (o en postgis). ahora tienes una línea que representa la dirección. calcular el rumbo desde el punto inicial del centroide hasta el punto final de la línea utilizando trig. Aunque bonito, no está totalmente "dentro" de QGIS. ¿Alguna otra idea inteligente?

0 votos

Si encuentra la forma de convertir la línea de costa en una serie de datos de puntos y los centroides de las playas, puede probar con el Análisis del Vecino más Cercano, tal y como se describe aquí: enlace En lugar de unir los atributos como se muestra en el ejemplo, asegúrese de que los valores x,y de los dos conjuntos de datos coinciden. utilizando la calculadora de campo puede encontrar las diferencias relativas entre los valores x e y para el centroide y el punto más cercano. En función del signo de la diferencia x sabrás si es oeste o este, y en función de la relación diff(y)/diff(x) sabrás si es oeste.

1voto

mdarwin Puntos 26

El servicio de elevación de ArcGIS Online incluye datos mundiales listos para usar, así como una función ráster integrada para generar aspectos. También es bastante sencillo filtrar simultáneamente un rango de valores de aspecto (290-250 grados), así como la elevación (por ejemplo, de 0 a 10 metros, dependiendo de cómo se defina una playa, o tal vez ya se tengan delineadas las playas). No sé si está abierto a utilizar la tecnología ArcGIS - si es así, puedo enviarle algunas peticiones REST de ejemplo.

El png adjunto no está bien filtrado para la elevación, pero muestra el concepto... enter image description here

Cody B.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X