Здравствуйте!
Требуется выполнит преобразование географических координат при помощи библиотеки gdal, как в окне "Расчёт координат" в ГИС Оператор 11.
Для создания конвектора используется следующий код
Результат преобразования в радианах, полученный при помощи таких конвекторов, всегда имеет погрешность от результата работы окна "Расчёт координат" в 7 знаке после запятой.
Например: при преобразовании следующих координат СК42
мы получает следующий результат.
Окно "Расчёт координат" с этими данными имеет следующий вид.
Почему возникает такая погрешность? В чём ошибка?
Требуется выполнит преобразование географических координат при помощи библиотеки gdal, как в окне "Расчёт координат" в ГИС Оператор 11.
Для создания конвектора используется следующий код
Код |
---|
OGRSpatialReference basisSpatial; OGRSpatialReference convertSpatial; int EPSG_SK42 = 4284; basisSpatial.importFromEPSG(EPSG_SK42); basisSpatial.SetAngularUnits(SRS_UA_RADIAN, 1.); int EPSG_WGS84 = 4326; convertSpatial.importFromEPSG(EPSG_WGS84); convertSpatial.SetAngularUnits(SRS_UA_RADIAN, 1.); OGRCoordinateTransformation* converter = OGRCreateCoordinateTransformation(&basisSpatial, &convertSpatial); |
Например: при преобразовании следующих координат СК42
Код |
---|
double b = 0.979008908; double l = 0.772872035; converter->Transform(1, &l, &b); |
Код |
---|
WGS-84 широта 0.979011619 долгота 0.772841217 ПЗ-90.02 широта 0.979011570 долгота 0.772841131 |
Почему возникает такая погрешность? В чём ошибка?
Изменено: Александр - 28.02.2023 18:15:43