Координаты GPS: 1 км площади вокруг точки

Привет,

Я надеялся, что кто-то там может предоставить мне уравнение для вычисления квадрата 1 км (X от a.aaa до b.bbb, Y от c.ccc до c.ccc) вокруг данной точки, скажем, lat = 53.38292839 и lon = -6.1843984? Мне также понадобится 2 км, 5 км и 10 км квадратов вокруг точки.

Я пробовал погулять вокруг безрезультатно... Это поздно ночью и надеялся, что кто-то может быстро исправить, прежде чем я углубиться в тригонометрию...

Я буду использовать все это в Javascript, хотя любой язык в порядке.

И нет, это не проблема домашней работы; (

Большое спасибо заранее,

Ответ 1

Если бы мир был идеальной сферой, согласно основной тригонометрии...

Степени широты имеют одинаковое линейное расстояние в любой точке мира, потому что все линии широты имеют одинаковый размер. Таким образом, 1 градус широты равен 1/360-й окружности Земли, что составляет 1 360 км от 40 075 км.

Длина линий долготы зависит от широты. Линия долготы на широте l будет равна cos (l) * 40 075 км. Одна градус долготы будет 1/360-й.

Итак, вы можете отступить от этого. Предполагая, что вы хотите что-то очень близкое к одному квадратному километру, вам понадобится 1 * (360/40075) = 0,008983 градуса по широте.

В вашем примере широта 53.38292839 линия долготы будет равна cos (53.38292839) * 40075 = [приблизительно] 23903,297 км. Таким образом, 1 км составляет 1 * (360/23903,297) = 0,015060 градусов.

В действительности Земля не идеальная сфера, она толще на экваторе. И приведенное выше дает действительно хороший ответ для большей части полезной области мира, но склонно идти немного странно возле полюсов (где прямоугольники в длинном/лат-стопе выглядят как прямоугольники на земном шаре). Например, если вы были на экваторе, гипотетическая линия долготы составляет 0 км. Итак, как вы будете иметь дело с необходимостью подсчета градусов, это будет зависеть от того, почему вы хотите, чтобы цифры.

Ответ 2

Вот что из моих заметок, которые будут использоваться на Android с десятичным GPS.

Lat Long: NY City 40N 47 73W 58 40.783333 73.966667

Мойка DC 38N 53 77W 02 38.883333 77.033333

дает = 209 миль!! ОЧЕНЬ ЗАКРЫТЬ

Расстояние (мили) (x) = 69,1 (lat2-lat1) Расстояние (мили) (y) = 53,0 (long2 - long1) Поскольку воронные мухи sqrt (x2 + y2)... duh! @

delta (LAT)/Mile =.014472 delta (LONG)/Mile =.018519

Использование окна в качестве приближения Чтобы найти кого-то в пределах 100 миль (100 север /100 юг, 100 E/100 Вт) От 0,0  -14,472/+ 14,472, -18,519/18,519

Ответ 3

Простейшим способом генерации квадрата gps, заданного центром, будет использование косвенного алгоритма Винчентий. Здесь приведен код Javascript, где показано, как это сделать http://www.movable-type.co.uk/scripts/latlong.html. Создание квадрата с помощью круга не сложно. Квадраты равны расстоянию до каждой точки. Поэтому, учитывая центральную точку, расстояние от центра, изменить подшипник от 0 или любое число в зависимости от поворота квадрата и приращения на 90 градусов или PI/2 радианов. Увеличивая на 90 градусов каждый раз, и вы встанете с квадратом в круговом пространстве.

Я сам использую это для генерации точек GPS вокруг центральной точки с заданным расстоянием .---. -/- 0-- -/- .---.