2009-04-16 8 views
1

В настоящее время я работаю над проектом 3D-визуализации, и я столкнулся с проблемой, которую я заметил, что мы делали это хакерски.Трансформация координат (LL + Elevation to WGS84)

Я не слишком опытен с самой системой WGS84, и мне было интересно, существует ли «правильный» способ преобразования точки LL в координату WGS с учетом определенного значения высоты над земной орбитой.

Как мы это делаем, теперь происходит обычное преобразование из LL в WGS84, а затем берет единичный вектор этого и умножая его на сумму высоты и радиуса Земли. Это не похоже на самый эффективный метод, и мне интересно, есть ли более приемлемый способ сделать это преобразование.

+0

Я не совсем уверен, что понимаю, что вы пытаетесь сделать здесь. Вы говорите, что пытаетесь преобразовать LatLong в WGS 84 на высотах, существенно отличающихся от поверхности Земли? –

+0

Крис: Это точно. Я знаю, что WGS84 в основном для точек на поверхности, но WGS84 - наша внутренняя система координат. Скажем, если я хочу нарисовать лист 5000 м над земной поверхностью, мне нужно преобразовать углы (и внутренние точки, кривые) в WGS84. –

ответ

2

Многие библиотеки проекций, такие как Proj.4 и библиотеки, использующие его как GDAL/OGR, позволят вам указать высоту.

В проекте EPSG имеется база данных, в которой указывается «правильный» способ реализации этого, почти для каждой проекции, включая WGS84 в географических и прогнозируемых системах координат. Это свободно доступная база данных (хотя в формате MS Access).

+0

http://n2.nabble.com/WGS84-Lat-Lon-to-XYZ-convercion-td2063901.html Спасибо, библиотека PROJ.4 - отличный пример того, что мы можем использовать. –