Преобразование GPS-координат в 3D-модель

Как говорится в вопросе, я хочу использовать координаты GPS (скажем, из карт Google) для построения 3D-модели (дороги).

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

Затем, используя эти данные, вы вводите их в программу, которая создает карту высот с координатами, полученными из карт Google.

Я пытаюсь сделать демонстрацию на С# (XNA), чтобы вы могли быстро сгенерировать курс вашего района для симулятора вождения (пока я правильно понимаю основные участки дороги, все в порядке, я не смогу добавить подробные характеристики дороги например, канава рядом с дорогой или небольшие неровности на фактическом дорожном покрытии).

Есть ли у кого-нибудь идеи о том, с чего бы я вообще начал с такой проблемы (уже пробовал Google, но лучшее, что я смог найти, это здесь)


person heyred    schedule 21.05.2013    source источник
comment
Если вы каким-то образом можете получить все координаты для этого маршрута как можно более подробно, разве это не так же просто, как вычислить расстояние между каждой координатой, чтобы получить положение дороги? Если расстояние от точки А до точки В в направлении Z составляет 10 метров, нарисуйте 10 метров. movable-type.co.uk/scripts/latlong.html я не знаю, сколько деталей вы можете получить с карт Google; дорожные неровности и тому подобное, но, возможно, расчет маршрута — это начало.   -  person Deukalion    schedule 21.05.2013
comment
Вы также можете проверить это: developers.google.com/maps/documentation/directions Пример JSON: maps.googleapis. com/maps/api/directions/, который дает вам все координаты между двумя или более маршрутами. Так что это просто запрос к картам Google, а затем расчет расстояния и создание маршрута.   -  person Deukalion    schedule 21.05.2013


Ответы (2)


GPS-координаты (широта, долгота, высота) используют сферическую 3D-модель. Что вам нужно, так это преобразование в декартову 3D-модель.

В этом случае вы можете преобразовать их в координаты ECEF, тогда это координаты x, y, z.

Обзор ECEF см. на странице ECEF.

person AlexWien    schedule 21.05.2013

Отправной точкой может быть просмотр библиотек Dotspatial для .NET: http://dotspatial.codeplex.com/

Я использовал эти библиотеки, но в основном для сбора GPS-координат с внешнего устройства. Например, я не использовал эти координаты на карте. Документация ограничена, но если вы покопаетесь, вы сможете найти некоторую информацию.

person Davio    schedule 21.05.2013
comment
Спасибо, Давио, я обязательно посмотрю на это. - person heyred; 21.05.2013