Estoy trabajando en un proyecto donde las siguientes funciones deben ser implementadas:
La predicción de la ubicación de los buques (en ambiente marítimo) en un tiempo futuro. (Se puede hacer con el filtro de Kalman, IMM filtro y algunos otros algoritmos). Los barcos pueden estar en cualquier parte del mundo.
Evitando masas de tierra durante la predicción.
Encontrar las rutas más cortas a lo largo de las costas.
Estoy totalmente terminado con la primera parte que es la predicción sin considerar la línea de costa de información. Tengo problemas con las funciones 2 y 3.
Función 2 A veces, la predicción de la ubicación puede caer en la masa de tierra de la zona, lo cual es totalmente inaceptable. Yo estoy usando la zona costera shapefile http://openstreetmapdata.com/data/coastlines. Este archivo se ha convertido XY valores del mundo a costa de datos. He cargado este shapefile en postgreSQL y utilizar postgis para leer de la base de datos.
Mi idea es ir a través de todos los polígonos (línea de costa definidos en base a polígonos) y comprobar si la conexión de la línea de la ubicación actual y la predicción de la ubicación cruza el polígono. Si se cruza, eso significa que tenemos que encontrar donde la nave intercepta la costa en primer lugar. Pero si yo siga este método va a través de todos los polígonos, se va a tardar una eternidad. (Tiene alrededor de 62000 polígonos y cada uno de ellos tiene miles de puntos). Algún consejo sobre esto?
Pensé inicialmente dividiendo el mapa del mundo jerárquicos de las áreas (Nivel 1: 10 polígonos; Nivel 2: cada polígono tiene 10 polígonos en el interior). Pero no estoy seguro de cómo dividir el mapa del mundo en los niveles de polígonos necesito. Es la funcionalidad de postgis útil para esto? O cualquier otro bibliotecas para este propósito? Creo que este tipo de funcionalidad deben estar disponibles ya. Pero yo no soy capaz de averiguar hasta ahora.
Función 3 Ya que ahora sabemos de donde el barco intercepta la costa en primer lugar, podemos predecir su ruta a lo largo de la línea de costa mediante el algoritmo de la ruta más corta, dado que conocen el destino de la información. Pero para ello, es necesario dividir el mapa de la costa en las redes por lo que el camino más corto puede ser utilizado. ¿Cómo puede hacer que las cuadrículas base en esto a lo largo de las costas? Yo no estoy haciendo el procesamiento de la imagen aquí. Lo que tengo es este shapefile ahora. O debo ir con algunos de procesamiento de imagen, enfoque y hacer que la red de las costas? Si es así por favor proporcionar algunos enlaces.