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

picexLoadGdalFileToRsw

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active
Страницы: 1
RSS
picexLoadGdalFileToRsw
 
Здравствуйте!
Вопрос по функции picexLoadGdalFileToRsw. Я пытаюсь с помощью нее получить файл растра rsw из файла изображения png.
Предаю в нее:
double meterInPixelX  = 10000;
double meterInPixelY  = 10000;
DOUBLEPOINT SWpoint;
SWpoint.X = 5.1521e+06;
SWpoint.Y = 6.81197e+06;

picexLoadGdalFileToRswUn(0, 0,imgName,rstName,&meterInPixelX, &meterInPixelY,&SWpoint,0,0,0);
Функция возвращает не 0.

Файл растра формируется, но параметры привязки (meterInPixelX, meterInPixelY,SWpoint) игнорируются. Т.е. вне зависимости от того, что будет в параметрах meterInPixelX, meterInPixelY, SWpoint, растр всегда одинаковый. Так должно быть?  
 
Цитата
Дмитрий Т написал:
Здравствуйте!
Вопрос по функции picexLoadGdalFileToRsw. Я пытаюсь с помощью нее получить файл растра rsw из файла изображения png.
Предаю в нее:
double meterInPixelX  = 10000;
double meterInPixelY  = 10000;
DOUBLEPOINT SWpoint;
SWpoint.X = 5.1521e+06;
SWpoint.Y = 6.81197e+06;

picexLoadGdalFileToRswUn(0, 0,imgName,rstName,&meterInPixelX, &meterInPixelY,&SWpoint,0,0,0);
Функция возвращает не 0.

Файл растра формируется, но параметры привязки (meterInPixelX, meterInPixelY,SWpoint) игнорируются. Т.е. вне зависимости от того, что будет в параметрах meterInPixelX, meterInPixelY, SWpoint, растр всегда одинаковый. Так должно быть?  

Здравствуйте!

Для передачи привязки и размеров элемента в выходной файл RSW вместо picexLoadGdalFileToRswUn предлагаю воспользоваться функцией picexLoadGdalFileToRswExUn.
Код
_PICIMP long int _PICAPI picexLoadGdalFileToRswExUn(HMESSAGE handle, TASKPARM* parm,
                                                    const WCHAR  * inputname,
                                                    const WCHAR  * rstname,
                                                    double* meterInPixelX,
                                                    double* meterInPixelY,
                                                    DOUBLEPOINT *point,
                                                    long int compression,
                                                    long int flagMessage,
                                                    long int flagWorkLog,
                                                    long int flagIgnoreGeoTiff);
Доступ к исходному графическому файлу в Функциях picexLoadGdalFileToRswUn и picexLoadGdalFileToRswExUn осуществляется при помощи методов библиотеки GDAL.
Внутри графических файлов, или в текстовых файлах настройки, находящихся рядом, могут содержаться привязка, размеры элемента и параметры системы координат.
В функции picexLoadGdalFileToRswExUn добавлен дополнительный параметр flagIgnoreGeoTiff.
Параметр flagIgnoreGeoTiff предназначен для игнорирования параметров привязки, размеров элемента и системы координат, определенных библиотекой GDAL.
При вызове функции picexLoadGdalFileToRswExUn в качестве параметра flagIgnoreGeoTiff передайте 1.
В этом случае параметры привязки будут браться из входных параметров функции:
                                                   double* meterInPixelX,
                                                   double* meterInPixelY,
                                                   DOUBLEPOINT *point.




Возможен другой вариант передачи параметров привязки в выходной растр RSW.
После импорта графического файла и получения растра RSW воспользуйтесь функциями:
Код
  // Установить привязку растра в районе работ(в метрах)
  // hMap       - идентификатор открытых данных
  // number     - номер файла в цепочке
  // location   - координаты юго-западного угла растра(в метрах)
  // При ошибке возвращает 0

_MAPIMP long int _MAPAPI mapSetRstLocation(HMAP hMap, long int number, DOUBLEPOINT *location);

  // Установка параметров растра
  // hMap            - идентификатор открытых данных
  // scale           - знаменатель масштаба
  // precision       - разрешение (точек на метр)
  // meterinelementX - количества метров на элемент  ПО ОСИ X
  // meterinelementY - количества метров на элемент  ПО ОСИ Y
  // meterinelementX и meterinelementY могут отличаться
  // Важно!!!
  // Для правильного отображения растров в 10-ой и более ранних версиях необходимо:
  //                         meterinelementX = scale / precision;
  // Если условие не выполняется, то meterinelementX и meterinelementY игнорируются и рассчитываются по формуле.

_MAPIMP long int _MAPAPI mapSetRstParameters(HMAP hMap, long int number,
                                             double scale, double precision,
                                             double meterinelementX,
                                             double meterinelementY);
 
Благодарю!
Страницы: 1
Читают тему (гостей: 1)



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

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