Como obter PIOs próximos
-
27-09-2019 - |
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
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.