Pergunta

Eu tenho um banco de dados com pontos de interesse que todos têm um endereço.

Eu quero saber o que é o Método/Nome/Chamada para conseguir tudo próximo Pois de uma determinada posição.

Entendo que preciso converter todos os meus endereços para as coordenadas LAT / LON, pelo menos, mas minha pergunta é:

Para um determinado Lat / Long, como faço para obter do banco de dados / matriz que Pois estão próximos por distância, por exemplo:

Você está aqui 0,0 PIOI mais próximo em um Raio de 2 km são:

  • POI A (a 1,1 km)
  • POI C (a 1,3 km)
  • POI F (a 1,9 km)

Não tenho ideia do que devo procurar para conseguir o que quero :-(

Qualquer ajuda é muito apreciada.obrigada

Foi útil?

Solução

Quero saber qual é o método/nome/chamada para obter todos os PIOs próximos de uma determinada posição.

Calculando o Grande distância do círculo entre duas coordenadas de latitude/longitude é fácil com o Fórmula Haversine. Você pode querer ler mais e conferir a implementação em Calcule a distância, rolamento e mais entre pontos de latitude/longitude por Chris Veness.

Para um determinado Lat / Long, como faço para obter do banco de dados / matriz que Pois estão próximos por distância?

Se você tiver apenas um punhado de POIs, poderá simplesmente calcular a distância de grande círculo do seu ponto a cada POI. Em seguida, basta classificar a lista de resultados pela distância.

No entanto, se você estiver tendo muitos POIs, considere usar um banco de dados com indexação espacial recursos. Mysql, PostGresql e SQL Server 2008 Todos têm recursos geográficos (nativamente ou por extensões), que incluem indexação espacial e implementações da fórmula de Haversine.

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