Как найти новые координаты с начальной координатой и расстоянием? - PullRequest
0 голосов
/ 12 февраля 2019

Если у меня есть начальные координаты, координата 0 = [29.205, -93.4683] и расстояние 10 км, как мне найти координату в 10 км слева от -93.4683, координату в 10 км к югу от 29.205 и координату, которая10 км к югу и 10 км осталось?Или это невозможно?

1 Ответ

0 голосов
/ 11 апреля 2019

Этот вопрос мог бы быть более актуальным на ГИС-стеке.

Я полагаю, что ваши координаты широта и долгота.Поскольку вы хотите вычислить смещение в километрах, и это смещение довольно мало, самый простой способ - преобразовать значения в UTM (которые являются значениями в метрах), выполнить перевод в UTM и снова преобразовать в широту и долготу.Ради этого примера я использовал библиотеку Python utm, вычисляющую преобразования.

utm.from_latlon(29.205,-93.4683) дает преобразование координат в UTM.Географическое положение находится в плитке 15R и в результате задайте следующие координаты (454477.6336829163, 3230788.981221904) в порядке (easting, northing).Как сказано выше, эти координаты даны в метрах.

10 км влево означает 10 км к западу, учитывая географическое местоположение, а перевод в UTM можно вычислить как 454477.6336829163 - 10000 = 444477.6336829163.

10 км к югу, для северногополушарие в UTM означает 3230788.981221904 - 10000 = 3220788.981221904

Относительно местоположения переведенная позиция все еще находится в тайле 15R UTM, поэтому обратное преобразование в широту и долготу можно вычислить с помощью:

utm.to_latlon(444477.6336829163, 3220788.981221904, 15, 'R'), который возвращает (29.11434747694546, -93.5706694557042).

Можно видеть, что этот результат имеет смысл.Широта немного меньше, поскольку мы немного южнее, а долгота немного отрицательнее, поскольку мы немного западнее.

...