"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como calcular a distância e criar uma caixa delimitadora de latitude e longitude?

Como calcular a distância e criar uma caixa delimitadora de latitude e longitude?

Publicado em 2024-11-16
Navegar:352

How to Calculate Distance and Create a Bounding Box from Latitude and Longitude?

Medindo a distância e criando uma caixa delimitadora a partir da latitude e da longitude

Calcular a distância entre duas coordenadas geográficas (latitude e longitude) é essencial para diversas aplicações, como mapeamento e navegação. A distância do grande círculo, também conhecida como fórmula de Haversine, fornece uma estimativa precisa da distância entre dois pontos ao longo da superfície da Terra.

Depois que a distância for determinada, a próxima etapa é definir uma caixa delimitadora em torno de um ponto específico. Esta caixa serve para encapsular o ponto dentro de uma região geográfica específica. Para criar esta caixa, precisamos encontrar os pontos localizados a uma determinada distância norte e leste do ponto original.

Implementação Java

O seguinte trecho de código Java fornece uma implementação da fórmula Haversine para calcular a distância entre dois pontos e criar uma caixa delimitadora:

import java.lang.Math;

public class DistanceBoundingBox {

    public static void main(String[] args) {
        double lat1 = 37.386051; // Latitude of the origin point
        double lng1 = -122.083855; // Longitude of the origin point

        double distance = 10; // Distance in miles to extend the bounding box
        
        double lat2 = lat1   distance / 69; // Calculate the northernmost point
        double lng2 = lng1   distance / Math.cos(lat1 / 57.2957795) / 69; // Calculate the easternmost point

        System.out.println("Distance between the two points: "   distance);
        System.out.println("North: "   lat2);
        System.out.println("East: "   lng2);
    }
}

Uso:

Insira as coordenadas de latitude e longitude de dois pontos no método principal. O código irá calcular a distância do grande círculo entre os pontos e imprimi-la no console. Ele também calculará os pontos mais ao norte e ao leste que estão localizados a uma determinada distância do ponto original.

Considerações adicionais:

  • A distância é calculada em milhas. Se você precisar de quilômetros, multiplique o resultado por 1,60934.
  • A fórmula de Haversine assume que a Terra é uma esfera perfeita. Para maior precisão, considere usar a fórmula de Vincenty, que leva em conta a forma elipsóide da Terra.
  • Esta implementação não lida com a validação de entrada. Certifique-se de que as coordenadas de entrada sejam valores válidos de latitude e longitude.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3