#c# #geolocation #geocoding #geography
#c# #геолокация #геокодирование #география
Вопрос:
Допустим, у меня есть географический квадрат / прямоугольник, в котором у меня есть определения широты северо-западного и юго-восточного углов.
Я хотел бы расширить этот квадратный прямоугольник на 500 метров в каждом направлении. Какой подход я должен использовать? Пример был бы отличным.
P.S. Земля не плоская, как некоторые хотели бы заставить нас поверить, поэтому я готов придерживаться приблизительной модели.
Ответ №1:
Найдите преобразование из угловых минут и секунд в метры, преобразуйте, добавьте и преобразуйте обратно.
Редактировать: Окружность Земли в метрах равна ~ 40 000 000 (исходное определение метра). Поскольку похоже, что вам нужно решение для произвольного прямоугольника, предположим, что это сфера, а затем 360 * 500 / 40,000,000 = 0,0045 градуса = 16,2 угловых секунды — это то, что вам нужно добавить к каждой стороне.
Ответ №2:
Преобразование широты / длины в расстояние выполняется с помощью формулы Haversine, но я не думаю, что инвертировать ее тривиально. Однако для такого короткого расстояния вам, вероятно, сойдет с рук вычисление расстояния в метрах секунды дуги на вашей заданной широте и соответствующее умножение.