Pregunta

Tengo un conjunto de puntos que comienzan desde (0,0,0) trazando una ruta tomada por un vehículo en 3D, siendo cada punto la distancia recorrida en su dimensión respectiva. Necesito hacer 2 cosas

  1. Sea (0,0,0) denotar una latitud y longitud. ¿Cómo convierto mi conjunto de puntos en 3D a su equivalente en latitud y longitud?
  2. Plotéelo cuadro por cuadro (con un retraso para que se pueda usar para un video) en Google Maps / Earth / lo que sea

¿Alguna sugerencia?

EDITAR: ahora el trazado es factible y la conversión no es gracias a David

¿Fue útil?

Solución

Sería fácil usar JavaScript para animar puntos que se mueven en un mapa de Google en su navegador. Sin embargo, no estoy seguro de qué tipo de video estás tratando de obtener.

Google Maps incluso tiene un método API que representará un mapa con su ruta dibujada sobre el mapa. Puede ver esto aquí en la parte inferior de la página.

Otros consejos

Para Google Earth, hay un gran ejemplo aquí : desplácese hacia abajo hasta " Ejemplo: Mostrar movimiento de un punto a lo largo de una ruta "

Para la API de Google Maps, Este ejemplo estaba en el Galería de demostración de Google Maps . Es un poco difícil, pero tienes la idea de lo que puedes hacer.

Entonces tiene un punto de inicio (0,0) en un sistema de coordenadas (arbitrario) y un punto correspondiente (latitud, longitud) en otro sistema de coordenadas (geocéntrico). Su problema es, dado un conjunto de compensaciones conocidas (x, y) desde su origen, ¿cómo encuentra los puntos correspondientes (latitud, longitud)? (¿Estoy entendiendo tu pregunta hasta ahora?)

La respuesta simple es usar la fórmula:

lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ))
lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1), cos(d/R)−sin(lat1)*sin(lat2))
d/R is the angular distance (in radians), where d is the distance travelled and R is the earth’s radius

Tomado de este enlace: http: //www.movable-type. co.uk/scripts/latlong.html

Edición 2: (Oh, olvidé mencionar: esta fórmula asume que tienes coordenadas polares (R, ?) en lugar de coordenadas cartesianas (x, y). Pero la conversión entre ellas es no es demasiado difícil .)

La respuesta un poco más larga es que si está haciendo esto en un espacio lo suficientemente grande, las matemáticas se vuelven muy complicadas, debido a cómo se mide la altura y cómo se forma la superficie de la tierra. Probablemente desee leer sobre sistemas de coordenadas geográficas; este artículo de Wikipedia es un buen punto de partida. También puede encontrar útil la PROJ.4 library .

Editar:

Si necesita tener en cuenta las medidas de altura (z), las matemáticas se vuelven aún más complejas. La solución fácil (ier) es hacer cálculos matemáticos de 2.5 dimensiones, es decir, calcular la coordenada (x, y) con un conjunto de fórmulas y luego hacer la coordenada (z) por separado. Esto solo funciona en un área lo suficientemente pequeña, ya que esencialmente asume que la superficie de la tierra es plana para el espacio en el que está trabajando. Sin embargo, eso puede ser lo suficientemente bueno para su aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top