2012-05-08 10 views
9

El problema que estoy enfrentando es la siguiente:Necesita un consejo de marco para la ruta de validación mapa

Dados dos polígonos que definen las fronteras de un laberinto y un camino en el medio (ver foto abajo), me gustaría saber cuando crucé las fronteras del laberinto.

En lo que respecta a las entradas que tengo:

  • un archivo bordes que definen a los dos polígonos (sólo los puntos que conectar las líneas rectas)
  • Un archivo con todos los waypoints que había visitado, en el orden de aparición

Necesito calcular un puntaje para esa ruta en función de la cantidad de tiempo pasado en la zona restringida.

¿Cuál es la mejor manera de hacerlo? (Algoritmo/Tecnología/Biblioteca) No tengo restricciones tecnológicas, así que la solución puede ser cualquier cosa, por ejemplo, Java, C, Perl (este es mi favorito), etc.

Empecé a trabajar en una solución, pero luego me di cuenta de este problema debe haber sido resuelto millones de veces en el pasado y no hay razón para "reinventar la rueda" :)

Soy nuevo en el tipo de problemas Geográficos/Geométricos, y agradecería cualquier consejo sobre qué enfoque debo tomar .

Saludos

example map

Respuesta

5

Ésta es una Point in polygon

  1. Construir una lista de polígonos de "bordes que definen un archivo de los dos polígonos (sólo los puntos que conectan las líneas rectas)"
  2. Aplicar point_in_polygon() (perl implementation, su favorito) por cada "waypoints que había visitado"
+0

bienvenido a SO! gracias por la respuesta nítida - ¡funciona como un encanto! – aviad

Cuestiones relacionadas