Ogcoordinatetransformation.transform () дает неверные координатыC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ogcoordinatetransformation.transform () дает неверные координаты

Сообщение Anonymous »

Я пытаюсь сделать некоторые преобразования в локальном в глобальном (EPSG: 3042 в EPSG: 4326) в скрипте ROS2 C ++ с использованием GDAL. < /p>

Код: Выделить всё

OGRCoordinateTransformation *Transformation;

OGRSpatialReference poLocal, poGlobal;
poLocal.importFromEPSG(epsg_local);
poGlobal.importFromEPSG(WGS84);
poGlobal.SetAxisMappingStrategy(OAMS_TRADITIONAL_GIS_ORDER);

OGRCoordinateTransformationOptions options;
options.SetAreaOfInterest(-4.0, 40.0, -2.0, 41.0);

Transformation = OGRCreateCoordinateTransformation(&poLocal, &poGlobal, options);

Transformation->Transform(n, y, x, z);
< /code>
epsg_local
и wgs84 являются целыми значениями 3042 и 4326 соответственно. 40.7796147581481 .
Я проверил эти значения как с помощью epsg.io, так и с помощью gdaltransform -s_srs epsg: 3042 -t_srs epsg: 4326
Однако после запуска выше c++ 30.955960867356925 3.3330599352594454 , что отличается от ожидаемого результата. координаты там. Тем не менее, это не мешает мне дать мне неправильные. < /P>
Что может быть причиной такого поведения? Они были выбраны потому, что они были необходимы для некоторых других библиотек.

Подробнее здесь: https://stackoverflow.com/questions/797 ... oordinates
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»