Как расширить географический квадрат на 500 метров?

#c# #geolocation #geocoding #geography

#c# #геолокация #геокодирование #география

Вопрос:

Допустим, у меня есть географический квадрат / прямоугольник, в котором у меня есть определения широты северо-западного и юго-восточного углов.

Я хотел бы расширить этот квадратный прямоугольник на 500 метров в каждом направлении. Какой подход я должен использовать? Пример был бы отличным.

P.S. Земля не плоская, как некоторые хотели бы заставить нас поверить, поэтому я готов придерживаться приблизительной модели.

Ответ №1:

Найдите преобразование из угловых минут и секунд в метры, преобразуйте, добавьте и преобразуйте обратно.

Редактировать: Окружность Земли в метрах равна ~ 40 000 000 (исходное определение метра). Поскольку похоже, что вам нужно решение для произвольного прямоугольника, предположим, что это сфера, а затем 360 * 500 / 40,000,000 = 0,0045 градуса = 16,2 угловых секунды — это то, что вам нужно добавить к каждой стороне.

Ответ №2:

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