Измерение расстояния и создание граничной рамки на основе широты и долготы
Вычисление расстояния между двумя географическими координатами (широтой и долготой) имеет важное значение для различные приложения, такие как картография и навигация. Расстояние по большому кругу, также известное как формула Хаверсина, дает точную оценку расстояния между двумя точками на поверхности Земли.
После определения расстояния следующим шагом будет определение ограничивающей рамки. вокруг определенной точки. Это поле служит для инкапсуляции точки в определенном географическом регионе. Чтобы создать этот блок, нам нужно найти точки, расположенные на заданном расстоянии к северу и востоку от исходной точки.
Реализация 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);
}
}
Использование:
Введите координаты широты и долготы двух точек в основном методе. Код рассчитает расстояние по большому кругу между точками и выведет его на консоль. Он также вычислит самые северные и самые восточные точки, расположенные на заданном расстоянии от исходной точки.
Дополнительные соображения:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3