На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Карты в разных проекциях

Поиск  Пользователи  Правила  Войти
Форум » Linux » ГИС Панорама для Linux
Страницы: 1
RSS
Карты в разных проекциях, Совмещения карт с разными проекциями.
 
Добрый день. Существует следующая ситуация: карта в формате RSW, в проекции    EPSG:3857 (Popular Visualisation Pseudo Mercator). Создана в SASplanet. Дополнительно поверх нее открываем  слой RSW в проекции "Равноугольная Гаусса-Крюгера". Видим не совпадение координат.
Вопрос: Есть ли возможность добиться совпадения координат, не переводя базовую карты в Гаусса-Крюгера? Как правильно выполнить перевод базовой карты в Гаусса-Крюгера? Спасибо.
 
Цитата
Петр Кусоцкий написал:
Добрый день. Существует следующая ситуация: карта в формате RSW, в проекции    EPSG:3857 (Popular Visualisation Pseudo Mercator). Создана в SASplanet. Дополнительно поверх нее открываем  слой RSW в проекции "Равноугольная Гаусса-Крюгера". Видим не совпадение координат.
Вопрос: Есть ли возможность добиться совпадения координат, не переводя базовую карты в Гаусса-Крюгера? Как правильно выполнить перевод базовой карты в Гаусса-Крюгера? Спасибо.
Добрый день! При добавлении RSW к RSW в разных системах координат выполняется преобразование к системе координат первого RSW.
Для этого параметры систем координат должны быть заполнены в полях паспорта растра.
Изменено: Елена Кузнецова - 10.01.2022 15:23:03
 
Спасибо за ответ. Уточните, правильно ли я делаю.

У базовой карты из   MAPREGISTEREX получаю   EPSGCode, с его помощью заполняю параметры систем координат:

Код
  MAPREGISTEREX mapreg;
  DATUMPARAM datum;
  ELLIPSOIDPARAM ellipsoid;

  memset((void *)&mapreg, 0, sizeof(MAPREGISTEREX));
  memset((void *)&datum, 0, sizeof(DATUMPARAM));
  memset((void *)&ellipsoid, 0, sizeof(ELLIPSOIDPARAM));

  mapGetParametersForEPSG( myEPSGCode, &mapreg, &datum, &ellipsoid);

  //формирую rsw c заданными параметрами системы координат
  HMAP tmpRst = mapCreateRaster(rswOutKoi8r.constData(),
                                  params.pictureSize.width(),
                                  params.pictureSize.height(),
                                  24,
                                  nullptr,
                                  0,
                                  params.meterInX,
                                  params.meterInY,
                                  &lb,
                                  mapreg,
                                  &datum,
                                  &ellipsod);
Изменено: Петр Кусоцкий - 12.01.2022 13:12:31
 
Правильно.Кроме того, если растр уже существует, то его параметры можно установить так (если они не были заполнены):
 // Установить данные о проекции растра
 // hMap   - идентификатор открытых данных
 // number - номер файла в цепочке
 // Структуры MAPREGISTEREX, DATUMPARAM, ELLIPSOIDPARAM описаны в mapcreat.h
 // ttype  - тип локального преобразования координат (см. TRANSFORMTYPE в mapcreat.h) или 0
 // tparm - параметры локального преобразования координат (см. mapcreat.h)
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetRstProjectionDataPro(HMAP hMap, int number,  MAPREGISTEREX  *mapregister, DATUMPARAM     *datumparam,  ELLIPSOIDPARAM *ellipsoidparam,
                                                   long int ttype, LOCALTRANSFORM * tparm);
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности