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

Функция picexLoadTiffToRstAndCompressEx

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: Пред. 1 2
RSS
Функция picexLoadTiffToRstAndCompressEx
 
Здравствуйте. В нашей версии библиотеки нет функции picexLoadGdalFileToRswAndCompressPro, но есть picexLoadGdalFileToRswAndCompressExUn. Она работает, но есть несколько вопросов.
1)Структуру TASKPARM не обязательно заполнять?
2)Если я выставляю compression в 0,  то compressJpegQuality не анализируется?
3)Флаг flagIgnoreGeoTiff при выставлении единицы игнорирует привязку из geotiff тэгов или наоборот?
4)Что происходит если выставить флаг flagCreateDuplicate в единицу?
5)В чем различие между picexLoadGdalFileToRswAndCompressExUn, picexLoadGdalFileToRswUn, picexLoadGdalFileToRswExUn и picexLoadGdalFileToRswAndCompressUn?
Код
// Загрузка растровых данных посредством библиотеки GDAL
// обрабатываются файлы графических форматов (IMG, PNG, GIF)
//    Map - карта,содержащая векторные данные
//    inputname - имя загружаемого файла
//    rstname   - имя RST-файла
//    meterInElementX - размер в метрах элемента по X
//    meterInElementY - размер в метрах элемента по Y
//    point     - точка привязки растра (в метрах)
//                (положение юго-западного угла растра в районе)
//    Handle - диалог визуального сопровождения процесса обработки.
//    compression - флаг использования сжатия при формировании RST-файла (0/1)
//    flagMessage - параметр не используется
//                   Управление диагностическими сообщениями осуществляется
//                   вызовом функции mapMessageEnable.
//                   Если mapIsMessageEnable() возвращает 0, то
//                   диагностические сообщения не выдаются.
//    flagWorkLog - флаг ведения журнала
//                          (при ==1, выполняется ведения журнала
//                           при == 0, не выполняется ведения журнала)
//    При ошибке возвращает ноль
//    Диалогу визуального сопровождения процесса обработки посылаются
//    сообщения:
//    -  (WM_PROGRESSBAR) Извещение об изменении состония процесса
//       WPARAM - текущее состоние процесса в процентах (0% - 100%)
//       Если функция-отклик возвращает WM_PROGRESSBAR, то процесс завершается.
//
//    -  (WM_ERROR) Извещение об ошибке
//       LPARAM - указатель на структуру ERRORINFORMATION
//       Структура ERRORINFORMATION описана в picexprm.h,
//       WM_PROGRESSBAR и WM_ERROR - в maptype.h


_PICIMP long int _PICAPI picexLoadGdalFileToRswAndCompressExUn(HMESSAGE handle,
                                                 TASKPARM* parm,
                                                 const WCHAR* inputname,
                                                 const WCHAR* rstname,
                                                 double* meterInPixelX,
                                                 double* meterInPixelY,
                                                 DOUBLEPOINT *point,
                                                 long int compression,
                                                 long int compressJpegQuality,
                                                 long int flagMessage,
                                                 long int flagWorkLog,
                                                 long int flagIgnoreGeoTiff,
                                                 long int flagCreateDuplicate);

Код
_PICIMP long int _PICAPI picexLoadGdalFileToRswUn(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);


_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);


_PICIMP long int _PICAPI picexLoadGdalFileToRswAndCompressUn(HMESSAGE handle,
                                                  TASKPARM* parm,
                                                  const WCHAR* inputname,
                                                  const WCHAR* rstname,
                                                  double* meterInPixelX,
                                                  double* meterInPixelY,
                                                  DOUBLEPOINT *point,
                                                  long int compression,
                                                  long int compressJpegQuality,
                                                  long int flagMessage,
                                                  long int flagWorkLog,
                                                  long int flagIgnoreGeoTiff);
Изменено: Nikita Sarychev - 11.08.2022 13:00:56
 
Здравствуйте.
Отвечаем на возникшие вопросы:
- cтруктуру TASKPARM заполнять не обязательно. В таком случае в качестве указателя на структуру в функцию необходимо подавать нуль;
- приоритетным является флаг compression. Флаг compressJpegQuality справедлив в том случае, если compression установлен в 2, т.е. к выходному растру применяется JPEG-сжатие.
 Для растров, у которых количество бит на пиксель 1, 4 или 8 рекомендуется применять сжатие по методу LZW.
Для 24-х битных (и более) растров рекомендуется применять сжатие по методу JPEG.
Код
compression - флаг сжатия изображения
//              0 - сжатие к блокам изображения применяться не будет
//              1 - сжатие по методу LZW
//              2 - сжатие по методу JPEG (справедливо для 24 битных растров)
//    compressJpegQuality - степень сжатия блока растра по алгоритму JPEG
//              Возможные значения: 1 - 100
//              Рекомендуемое значение: 60

- если флаг flagIgnoreGeoTiff установлен в 1, то игнорируются данные о привязке и проекции из исходного растра (если, конечно, они там есть).
В данном случае в качестве привязки растра применяются координаты точки, переданные в функцию посредством аргумента DOUBLEPOINT *point.
   

Код
//    flagIgnoreGeoTiff - (0/1) флаг игнорирования тегов, содержащих привязку и СК
//                 0 - привязка и СК считываются из тега
//                 исходного файла и устанавливаются в выходной растр
//                 1 - привязка устанавливается в выходной растр из
//                 аргумента DOUBLEPOINT *point, СК не устанавливается

-  flagCreateDuplicate (0/1) - флаг создания уменьшенных копий изображения выходного растра.
Растр RSW поддерживает три уровня уменьшенных копий (обзорного изображения).
Применение уменьшенных копий существенно ускоряет отображение растра при масштабировании.
 Уменьшенные копии можно сформировать непосредственно во время конвертирования растра (flagCreateDuplicate=1).
Если уменьшенные копии не сформированы при конвертировании (flagCreateDuplicate=0), то при первом отображении растра в соответствующем мелком масштабе уменьшенные копии будут созданы.
 Для больших растров (ГБайты) возможны замедления в момент формирования уменьшенных копий.  
 
- перечисленные функции отличаются набором аргументов.
Все они предназначены для конвертирования растровых данных в формат RSW.
При чтении растровых данных исходных файлов и их распаковке применяется библиотека GDAL.  
   

Код
_PICIMP long int _PICAPI picexLoadGdalFileToRswAndCompressExUn(HMESSAGE handle,
                                                 TASKPARM* parm,
                                                 const WCHAR* inputname,
                                                 const WCHAR* rstname,
                                                 double* meterInPixelX,
                                                 double* meterInPixelY,
                                                 DOUBLEPOINT *point,
                                                 long int compression,
                                                 long int compressJpegQuality,
                                                 long int flagMessage,
                                                 long int flagWorkLog,
                                                 long int flagIgnoreGeoTiff,
                                                 long int flagCreateDuplicate);

_PICIMP long int _PICAPI picexLoadGdalFileToRswUn(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);

_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);

_PICIMP long int _PICAPI picexLoadGdalFileToRswAndCompressUn(HMESSAGE handle,
                                                  TASKPARM* parm,
                                                  const WCHAR* inputname,
                                                  const WCHAR* rstname,
                                                  double* meterInPixelX,
                                                  double* meterInPixelY,
                                                  DOUBLEPOINT *point,
                                                  long int compression,
                                                  long int compressJpegQuality,
                                                  long int flagMessage,
                                                  long int flagWorkLog,
                                                  long int flagIgnoreGeoTiff);
Страницы: Пред. 1 2
Читают тему (гостей: 1)



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

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