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

Как определить весь набор файлов для пользовательской карты (sit)

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
Как определить весь набор файлов для пользовательской карты (sit)
 
Добрый день.

 Есть задача передать по сети пользовательскую карту, для этого необходимо определить названия сопутствующих файлов (*.shd, *.sse, ...). Столкнулись с проблемой, что расширения имеют разный регистр (например, SSE или sse), причем это можно наблюдать в примерах для ГИС Оператор (/usr/Operator11/Data), что для Linux совершенно разные файлы. Подскажите пожалуйста, как программно определить все необходимые файлы для выбранной пользовательской карты.
Используется ГИС Конструктор для Qt Designer x64 (версия 11.9.1), ОС Astra Linux.

С уважением, Попов Александр.
 
Здравствуйте!

Для передачи пользовательской карты удобно использовать экспорт в sxf.
В ГИС Конструктор для этого существует семейство функций ExportToSxf:

Код
// Сохранить (экспортировать) карту в двоичный формат SXF 
 // mapname - имя файла сохраняемой карты;
 // list    - номер листа для многолистовой карты или 1;
 // sxfname - имя создаваемого файла SXF, обычно совпадает с
 //           именем карты, но имеет расширение SXF;
 // flag    - вид хранимых координат (0 - метры, 4 - радианы
 //           для карты, поддерживающей геодезические координаты,
 //           -1 - определить по виду координат на карте);
 //           Если карты не было в документе - она может быть создана (добавлена) 
 // handle  - идентификатор окна диалога, которому посылаются уведомительные 
 //           сообщения (HWND для Windows, CALLBACK-Функция для Linux);
 // select  - фильтр выгружаемых объектов и слоев, если необходима выборочная 
 //           обработка данных;
 // Для топокарт, хранящих координаты в метрах, координаты всегда хранятся
 // в зоне, указанной в паспорте карты
 // При ошибке возвращает ноль

_VECIMP long int _VECAPI ExportToSxf(const char * mapname,
long int list,
const char * sxfname,
long int flag,
HMESSAGE handle,
HSELECT select);
 
Спасибо. Хотел бы уточнить, при экспорте в sxf и обратно в sit(x) будут ли карты  идентичны?
Вопрос:
1. Гарантируют эти методы сохранность порядка отображения знаков?
2. Изменяется ли порядковый номер на листе у знаков?
 
1.В общем случае порядок отображения знаков сохраняется. Но могут быть исключения.
2.Порядковый номер может измениться. Не меняется уникальный номер объекта на карте. Он запрашивается функцией:
Код
 // Запросить уникальный номер объекта
 // info - идентификатор объекта карты в памяти
 // При ошибке возвращает 0

_MAPIMP long int _MAPAPI mapObjectKey(HOBJ info);
Страницы: 1
Читают тему (гостей: 1)



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

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