Как я могу получить широту и долготу «x» метра от широты и долготы? - PullRequest
3 голосов
/ 01 марта 2011

У меня есть расстояние в метрах и широта и долгота. Теперь я хочу широту и долготу от заданной точки отсчета на x метров в четырех направлениях (юг, север, восток и запад).

Как я могу получить это значение?

Мне нужно написать это на C #, но любой псевдокод или логическое руководство будет приветствоваться.

Обновление:

У меня есть координаты в качестве опорных точек, из которых я хочу рассчитать расстояния 5 метров в северном направлении, сохраняя долготу постоянной. Поэтому я хочу рассчитать широту на расстоянии 5 метров от моей контрольной точки. То же самое я должен сделать для всех трех направлений в направлении восток-запад. Я держу долготу постоянной.

Пожалуйста, дайте мне знать, если какая-либо формула мы можем использовать для этого.

Ответы [ 4 ]

8 голосов
/ 01 марта 2011

Насколько точно это должно быть? Часто можно предположить, что Земля представляет собой сферу с радиусом 6360 км. В этом случае один градус к северу или югу составляет 10000/90 километров (именно так был определен метр). Восток / Запад немного сложнее, один градус на восток составляет 10000/90 км * cos (широта).

1 голос
/ 01 марта 2011

Эта электронная таблица из обследования артиллерийских вооружений содержит полные преобразования в макросе сценария vb, которые можно преобразовать.

Он должен дать вам новое местоположение на основе градусов и времени.

Переформатировать широту и долготу координаты между: градусы, минуты & Секунды; десятичные градусы; а также Форматы в градусах и десятичных минутах.

0 голосов
/ 22 октября 2014

Пример Javascript:

function translateCoordinates(distance, Lat,Lng, angle) {
    distanceNorth = Math.sin(angle) * distance;
    distanceEast = Math.cos(angle) * distance;
    earthRadius = 6371000;
    newLat = Lat + (distanceNorth / earthRadius) * 180 / Math.PI;
    newLon = Lng + (distanceEast / (earthRadius * Math.cos(newLat * 180 / Math.PI))) * 180 / Math.PI;

    return [newLat, newLon];
}

Таким образом, вы можете преобразовать его в алгоритм c #

0 голосов
/ 23 мая 2011

Другой способ рассчитать это - преобразовать градусы в радианы: Pi радиан равен 180 градусам. Простая точка относительно радиана - длина на окружности (поверхность Земли) - радиус * радиан. Таким образом, 1 градус * пи / 180 * 6360 км = 110,947 км, где пи = 3,14.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...