Tengo una cuadrícula de valores que se parece a la imagen siguiente (el blanco es valores altos, el valor de fondo negro es cero).Ruta de trama siguiente algoritmos
Estoy intentando escribir algún tipo de código de seguimiento de camino a empezar por el final de una de las líneas y rastrear hasta el otro extremo, pasando a través de los más altos valores posibles (es decir, el mientras más elegidos estén los píxeles en la línea, mejor) pero llegando al otro extremo.
He estado luchando con esto por un tiempo, y parece que no logro nada. Trato de trabajar. Entonces me pregunté si ya se había desarrollado un algoritmo genérico para este tipo de problema. He realizado muchas búsquedas, pero la mayoría de los algoritmos de ruta parecen estar diseñados para funcionar en vectores/redes, no en cuadrículas de trama como esta.
¿Alguna idea?
Se trata de un problema de costo-distancia clásica que tiene ha sido desarrollado para datos ráster muchas veces. Por ejemplo, en R puede usar el paquete gdistance. – RobertH
Gracias @RobertH: parece un paquete útil. El problema con el que todavía estoy luchando es cómo hacer esto cuando no necesariamente sé dónde están el principio y el final de las líneas: es decir, ¡también tengo que reconocer los puntos finales de las líneas! Si tienes alguna idea sobre eso, házmelo saber. – robintw
Quizás así, suponiendo que el blanco es un valor superior a 250: 'r <- raster ('archivo'); start <- which (r [1,]> 250); end <- ncell (r) -ncol (celda) + que (r [nrow (r),]> 250) 'Desde el inicio y el final puede calcular coordenadas como en' xyFromCell (r, start) ' – RobertH