Estou tentando criar um quadrado de milha axial (ou círculo) em torno de um ponto central, onde todos os lados da praça estejam x milhas do centro. Eu preciso das coordenadas dos 4 cantos.
Está mexendo no meu cérebro tentando colocar minha cabeça em volta? Eu posso calcular a distância entre dois pontos usando a fórmula Haversine, mas a matemática não é o meu ponto forte e eu não entendo o pecado, porque etc .. e tentar resolver isso me perdeu!
Me deparei com Calculando latitude / longitude X milhas a partir do ponto? mas eu simplesmente não entendo!
Alguém teria a gentileza de explicar como eu faço isso em termos de maçãs e peras?
Explicar exatamente o que estou tentando fazer;
Eu tenho um site, onde os usuários podem procurar por edifícios em uma área específica. Eles entrarão em uma cidade ou local (do qual saberei até o final) e pesquisam em um raio específico de, digamos, 10 milhas do local.
Eu preciso encontrar o mínimo / máximo de lat e longs do raio de 10 milhas para que eu possa consultar meu banco de dados usando uma cláusula where semelhante a:
Where buildingLat <= maxLat
and buildingLat <= minLat
and buildingLong >= minLong
or buildingLong >= maxLong
Eu preciso de algum tipo de fórmula!
Minhas coordenadas estão em graus decimais
Finalmente, minha resposta é: (em c #)
Provavelmente não preciso das 4 coordenadas, mas acho que são bastante precisas.
EDITAR
Tendo acabado de perceber, se eu definir os cantos do meu quadrado x milhas a partir do ponto central, as bordas do meu quadrado não serão as mesmas x milhas. (disse que a matemática não era meu ponto forte). Para obter a distância dos pontos de canto do ponto central, se eu quiser as bordas dos quadrados em x milhas, usei o Teorema de Pitágoras para calcular a distância da diagonal. (em um triângulo retângulo, o quadrado da hipotenusa (a diagonal) é igual ao quadrado dos outros dois lados)
fonte
* cos(lat)
ao converter graus em milhas e/ cos(lat)
ao converter milhas em graus.Se você estiver usando um banco de dados com reconhecimento espacial, poderá converter sua área de interesse no mesmo sistema de coordenadas em que seus dados são armazenados e, em seguida, fazer uma comparação de maçãs com maçãs.
Por exemplo:
fonte
Eu usei o que está nesta página
Para θ, usei -45 graus (em radianos) para o "ponto superior esquerdo" e 135 graus para o "canto inferior direito"
(Recentemente, fiz a mesma pergunta no site de matemática )
fonte