«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как рассчитать расстояние и создать ограничивающую рамку на основе широты и долготы?

Как рассчитать расстояние и создать ограничивающую рамку на основе широты и долготы?

Опубликовано 16 ноября 2024 г.
Просматривать:861

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

Измерение расстояния и создание граничной рамки на основе широты и долготы

Вычисление расстояния между двумя географическими координатами (широтой и долготой) имеет важное значение для различные приложения, такие как картография и навигация. Расстояние по большому кругу, также известное как формула Хаверсина, дает точную оценку расстояния между двумя точками на поверхности Земли.

После определения расстояния следующим шагом будет определение ограничивающей рамки. вокруг определенной точки. Это поле служит для инкапсуляции точки в определенном географическом регионе. Чтобы создать этот блок, нам нужно найти точки, расположенные на заданном расстоянии к северу и востоку от исходной точки.

Реализация Java

Следующий фрагмент кода Java предоставляет реализация формулы Хаверсинуса для расчета расстояния между двумя точками и создания ограничивающей рамки:

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);
    }
}

Использование:

Введите координаты широты и долготы двух точек в основном методе. Код рассчитает расстояние по большому кругу между точками и выведет его на консоль. Он также вычислит самые северные и самые восточные точки, расположенные на заданном расстоянии от исходной точки.

Дополнительные соображения:

  • Расстояние рассчитывается в миль. Если вам нужны километры, умножьте результат на 1,60934.
  • Формула Хаверсина предполагает, что Земля представляет собой идеальную сферу. Для большей точности рассмотрите возможность использования формулы Винсенти, которая учитывает форму земного эллипсоида.
  • Эта реализация не обеспечивает проверку входных данных. Убедитесь, что входные координаты являются допустимыми значениями широты и долготы.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3