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

Запросить паспортные данные из файла MTW

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
Запросить паспортные данные из файла MTW
 
Добрый день!
Версия ГИС Конструктор 14.0.1.21
Подскажите, каким образом можно получить паспортные данные из файла матрицы высот формата MTW. Необходимо, в первую очередь, получить координаты углов матрицы.
Например, для получения паспорта файла SXF есть функция:
Код
_VECIMP long int _VECAPI mapGetAnySxfInfoByNameUn(const WCHAR * name, MAPREGISTEREX * mapreg, LISTREGISTER * sheet);

Есть что-то подобное для файлов MTW?
 
Здравствуйте!    

Работа с матричными электронными картами рассматривается в пункте 3.8.26 «Работа с матричной электронной картой» Руководства программиста.

Для матрицы высот можно запросить описание матрицы высот с помощью функции mapGetMtrDescribeUn(mtrapi.h):

Код
  // Запросить описание файла матричных данных
  // hMap - идентификатор открытой основной векторной карты
  // number - номер файла в цепочке
  // describe - адрес структуры, в которой будет размещено
  // описание матрицы
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetMtrDescribe(HMAP hMap, long int number, MTRDESCRIBE *describe);
_MAPIMP long int _MAPAPI mapGetMtrDescribeUn(HMAP hMap, long int number, MTRDESCRIBEUN *describe);
Из полученного описания матрицы высот в виде структуры MTRDESCRIBEUN можно получить габариты матрицы в метрах– FrameMeters.

Дополнительно можно получить габариты отображаемой матрицы в метрах в системе координат документа с помощью функции mapGetActualMtrFrame(mtrapi.h):  
Код
  // Запросить фактические габариты отображаемой матрицы в метрах в системе координат документа
  // При отображении матрицы по рамке возвращаются габариты рамки
  // hMap -  идентификатор открытых данных
  // number - номер матрицы в списке открытых матриц
  // frame  - адрес структуры, в которой будут размещены габариты матрицы в метрах
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetActualMtrFrame(HMAP hMap, DFRAME *frame, long int number);
 
То есть без открытия основной векторной карты получить габариты матрицы нельзя? А если кроме файла mtw больше ничего нет?
 
Для работы с матрицей достаточно открыть только ее, например, с помощью функции mapOpenMtrUn(mtrapi.h) или mapOpenAnyData(mapapi.h).
Код
  // Открыть матричные данные
  // Возвращает идентификатор открытой матричной карты (TMapAccess*)
  // mtrname - имя открываемого файла
  // mode - режим чтения/записи (GENERIC_READ, GENERIC_WRITE или 0)
  // GENERIC_READ - все данные только на чтение
  // При ошибке возвращает ноль

_MAPIMP HMAP _MAPAPI mapOpenMtrUn(const WCHAR *mtrname, long int mode = 0);
_MAPIMP HMAP _MAPAPI mapOpenMtr(const char *mtrname, long int mode = 0);
Подробнее с открытием карт можно ознакомиться в пункте 3.8.1 Руководства Программиста.
Страницы: 1
Читают тему (гостей: 1)



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

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