Pergunta

I tem um conjunto de pontos a partir de (0,0,0) traçando um caminho percorrido por um veículo em 3D com cada ponto sendo a distância percorrida na respectiva dimensão. Eu preciso fazer 2 coisas

  1. Let (0,0,0) denotam uma latitude e longitude. Como faço para converter o meu conjunto de pontos em 3D ao seu equivalente em latitude e longitude?
  2. Traçar-lo quadro-a-quadro (com um atraso por isso é utilizável para um vídeo) no Google Maps / Terra / whatever

Todas as sugestões?

EDIT: Agora a plotagem é factível e a conversão não é graças a David

Foi útil?

Solução

Seria fácil de usar JavaScript para pontos animados que movem sobre um mapa do Google no seu browser. Eu não tenho certeza que tipo de vídeo que você está tentando obter, no entanto.

O Google Maps ainda tem um método de API que irá processar um mapa com o caminho desenhado sobre o mapa. Você pode ver sobre este aqui na parte inferior da página.

Outras dicas

Para o Google Earth, há um grande exemplo aqui : desça até "Exemplo: Mostrando movimento de um ponto ao longo do caminho"

Para a API do Google Maps, Este exemplo estava no Google Maps Demonstração Galeria . É uma espécie de áspero, mas você começa a idéia de que você poderia fazer.

Então você tem um ponto de partida (0,0) em um (arbitrária) sistema de coordenadas, e um (latitude, longitude) ponto correspondente em outro (geocêntrico) sistema de coordenadas. Seu problema é, dado um conjunto de conhecidos (x, y) offsets da sua origem, como você encontra as (, longitude latitude) pontos correspondentes? (Am I entender sua pergunta até agora?)

A resposta simples é apenas para usar a 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

tomadas a partir deste link: http: //www.movable-type. co.uk/scripts/latlong.html

Edit 2: (Oh, eu esqueci de mencionar: esta fórmula assume que tem coordenadas polares (r, q) em vez de coordenadas cartesianas (x, y) Mas a conversão entre aqueles é não muito difícil .)

A resposta um pouco mais longa é que se você está fazendo isso ao longo de um espaço grande o suficiente, a matemática fica muito complicado, porque da forma como altura é medida e como a superfície da Terra está em forma. Você provavelmente vai querer ler sobre sistemas de coordenadas geográficas; este artigo Wikipedia é um bom ponto de partida. Você também pode encontrar o biblioteca PROJ.4 útil.

Editar:

Se você precisa tomar altura (z) medições em conta, a matemática fica ainda mais complexa. O (IER) solução mais fácil é fazer 2,5-dimensão matemática - isto é, calcular o (x, y) de coordenadas, com um conjunto de fórmulas, e em seguida, fazer o (z) de coordenadas separadamente. Isso só funciona sobre uma área pequena o suficiente, desde que você está assumindo essencialmente que a superfície da terra é plana para o espaço que você está trabalhando. No entanto, isso pode ser bom o suficiente para sua aplicação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top