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.
0 votos
Dado que me he quedado sin caracteres, aquí va: si el valor x de los centroides > valor x del punto de la línea de costa, la playa está orientada hacia el oeste. las coordenadas x e y de los dos te permitirían calcular el ángulo hacia el eje y: (y2-y1)/(x2-x1) te da la inclinación de la línea, que puedes volver a convertir en grados
0 votos
Realizar consultas costeras por países y subregiones que tengan costa oeste, sólo es un problema si tienen ambas costas. A continuación, busque el ángulo más cercano a la intersección vertical con el ecuador y elimine los ángulos que no le gusten.
0 votos
Me parece que "Mirando al oeste" no es un criterio suficientemente estricto. ¿Qué pasa con una playa en forma de media luna (forma común). ¿Está "orientada al oeste" siempre y cuando pueda situarme en un punto de la misma y tenga una línea de visión hacia el oeste no interrumpida por la costa u otras islas? ¿Las islas que se interponen reducen la "orientación oeste" de una playa?
0 votos
@PaulRamsey - Estoy completamente de acuerdo. Hay muchas formas de definir la "humedad", pero la mía personal es que puedo ver la puesta de sol sobre el agua. Sí - ese lugar cambia dependiendo de la época del año. Así que una playa es "húmeda" si hay al menos un lugar donde se puede ver la puesta de sol durante el año.
0 votos
¿Has mirado ya los datos de tu línea costera? ¿Ha comparado la línea de costa con los polígonos de las playas? Las líneas costeras no son sencillas y pueden ser de pleamar, bajamar o medias. No tiene sentido encontrar una solución si los datos no son los esperados.
5 votos
Podría rasterizar sus datos, ajustar los valores de aguas abiertas a cero y las playas a 1, y luego ejecutar la herramienta Análisis del terreno->Aspecto. Obtendría un raster de la dirección de la pendiente descendente y podría elegir las celdas que son lo suficientemente "westy".
0 votos
@WxMacMan sí se puede tener la orientación con este método, tal vez usted puede dar una playa de identificación en la primera banda de la trama y 0 / 1 en la segunda banda para que pueda recuperar fácilmente la playa de la derecha con la identificación después de filtrar en la orientación