Этот вопрос мог бы быть более актуальным на ГИС-стеке.
Я полагаю, что ваши координаты широта и долгота.Поскольку вы хотите вычислить смещение в километрах, и это смещение довольно мало, самый простой способ - преобразовать значения в 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)
.
Можно видеть, что этот результат имеет смысл.Широта немного меньше, поскольку мы немного южнее, а долгота немного отрицательнее, поскольку мы немного западнее.