dirección principal en el mapa 2D de datos


8

Puede ser una pregunta muy simple. Agradeceríamos cualquier comentario, guía o solución completa. Sin embargo, preferimos soluciones incompletas pero ideas prácticas novedosas.
- ¿Cómo encontrar la dirección principal de variación, es decir, la diagonal principal en la siguiente figura de ejemplo (noreste, suroeste)?
Cualquier algoritmo e idea de codificación o fragmento es bienvenido.

ingrese la descripción de la imagen aquí

Actualizaciones:
Encontramos que el procedimiento mencionado en la respuesta aceptada es casi PCA (Análisis de componentes principales) en su implementación más simple. PCA funcionó muy bien. La dirección resultante coincide perfectamente con lo que podríamos esperar, visualmente.


3
¿Solo tiene disponible la imagen ráster del mapa de contornos, o tiene los datos de elevación sin procesar a partir de los cuales se generan los contornos?
Jason R

1
Ambos tipos de datos están disponibles. Los datos originales son una matriz. Los contornos se generan más tarde en función de la matriz. Ese es el número de niveles en contornear es felxible.
Desarrollador el

Respuestas:



4

Aqui hay algunas ideas:

  1. Si los contornos aún no están en estructuras de datos separadas, use un algoritmo de seguimiento de bordes (también conocido como "seguimiento de contornos") para seguir cada uno. Una vez que tenga el contorno, encuentre los dos puntos más alejados. Una vez que tenga los dos puntos más alejados (diámetro de Feret), tome el punto medio de esos puntos, proyecte una línea perpendicular y compruebe lo que puede ser algo así como un eje menor de una forma elíptica aproximada. Verifique el par de puntos 2º más lejanos y su "eje menor", el 3º punto más alejado, etc.
  2. Desde el centro de masa del contorno más interno, escanee hacia afuera en direcciones radiales. Mantenga un registro de los puntos de cruce en cada contorno. La dirección radial (o grupo de direcciones radiales) con la mayor distancia promedio de contorno a contorno tendrá la pendiente más suave y la distancia más larga.
  3. Realice una prueba de "gota de agua". Esto requiere un poco de física. Imagine que tiene una gota de agua o una pelota en su pico (en algún lugar dentro del contorno más interno). Empújalo en alguna dirección radial theta. Dada la gravedad y una superficie nominalmente sin fricción, calcule la velocidad de su caída / bola cuando llegue al plano horizontal inferior.

Para cualquiera de las técnicas anteriores, considere los ángulos de 0 a 179, aunque puede usar una técnica radial (0 a 359 grados). Si hay más de una respuesta máxima, encuentre el radio más largo (o lo que sea) que tenga más vecinos con respuestas grandes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.