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

Владимир Егоров (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Владимир Егоров
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 11 12 13 14 15 16 17 18 19 20 21
[MAPAPI] Как получить значение семантической характеристики (формулы)?, Как получить значение семантической характеристики, если это формула TFDIGITAL или TFSTRING
 
Здравствуйте.

Беру карту "Карта горных проходов и перевалов.sit", перебираю объекты и печатаю значения их характеристик.

Вижу у многих объектов характеристику (семантическую) "Код КЭУЗ" с ключом 11525, типом значения 22 (SEMTYPE::TFDIGITAL) и самим значением "0" - в виде строки.

Значение пытался вычислить с помощью функции mapSemanticValueName:
[CODE] char buf[256+1];
       long rc = mapSemanticValueName(parentObject->descriptor(), number, buf, 256l);
       if (rc == 0) return fail();
       ret.m_textValue = gis::common::parseStringFromKOI8_R(buf);[/CODE]Вопрос - функция mapSemanticValueName умеет вычислять значение формулы и оно действительно равно "0"?

Или для семантических характеристик вида SEMTYPE::TFDIGITAL необходимо применять специальные функции из mapapi ?



Для других видов характерстик всё работает, получаю что-то вроде этого (valueType - это как раз значение из enum SEMTYPE) :[CODE]QINFO : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[7]:" "Отметки командных высот"
QINFO  : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[7]" "semantic Абсолютная высота" key: "HEIGTHABS" value: "467,00" "467" valueType: 1
QINFO  : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[7]" "semantic Код КЭУЗ" key: "11525" value: "0" "0" valueType: 22
...
...
...
QINFO  : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[19]:" "Шаблон 3 "
QINFO  : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[19]" "semantic Верхняя часть подписи" key: "11541" value: "68-5" "68-5" valueType: 0
QINFO  : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[19]" "semantic Нижняя часть подписи" key: "11542" value: "10" "10" valueType: 0
QINFO  : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[19]" "semantic Произв.надпись внутри знака" key: "5400" value: "ЖБ" "ЖБ" valueType: 0
QINFO  : GisTestsTestCore::testOpenVSMap(карта горных проходов и перевалов.sit) "Obj[19]" "semantic Код КЭУЗ" key: "11525" value: "0" "0" valueType: 22
[/CODE]
Версия
ГИС Конструктор для Qt Designer x64  (версия 12.2.0, Qt 4.8, Qt 5.5, платформа x64,  ОС "Astra Linux Special Edition",  релиз "Смоленск")


В руководстве программиста искал примеры - но там только про программируемые формулы.
На форуме тоже не нашёл топиков.
Размещение на QDMapView виджетов с прозрачным фоном, Проблема отрисовки виджетов с прозрачным фоном, размещенных поверх карты
 
Попробуйте через qss задать стиль, в котором указать цвет фона с альфа каналом.

Пример для QToolBar с именем объекта mapToolbar:
[CODE]/* тулбар на QMainWindow, внутри которого лежит виджет с картой */
QToolBar#mapToolBar {
/* серый фон, почти полностью прозрачный */
background-color: rgba(160,160,160, 15%);
border: 1px solid rgba(50,50,50, 100%);
spacing: 3px;
}[/CODE]
MAPAPI LISTREGISTER: MaterialType и MaterialKind, Уточнение по назначению полей MaterialType и MaterialKind
 
Спасибо.

Вот где я это видел, просто вспомнить всё никак не мог =).

Пример перечислений оставлю, может пригодится кому.
[CODE]/**
* @brief The SxfMaterialKind enum вид исходного материала.
*/
enum class SxfMaterialKind: unsigned char{
   MapMaterial = 1, ///< картматериал
   PhotoPlane = 2,  ///< фотоплан
   Snapshot = 3     ///< фотоснимок
};
/**
* @brief The SxfMaterialType enum тип исходного картографического материала (ИКМ)
*/
enum class SxfMaterialType: unsigned char{
   //для картматериала - SxfMaterialKind::MapMaterial
   MMPrint = 1,                  ///< тиражный оттиск
   MMPubOriginal = 2,            ///< издательский оригинал
   MMOriginal = 3,               ///< составительский оригинал
   MMChangeOriginal = 4,         ///< оригинал изменений
   //для фотоснимков - SxfMaterialKind::Snapshot
   SSSpace = 1,                  ///< космический
   SSAir =   2,                  ///< аэроснимки
   SSTheodolite = 3              ///< фототеодолитные снимки
};[/CODE]
MAPAPI LISTREGISTER: MaterialType и MaterialKind, Уточнение по назначению полей MaterialType и MaterialKind
 
Здравствуйте.

В структуре LISTREGISTER  (mapcreat.h в mapapi) есть поля MaterialType и MaterialKind.
Каким перечислениям они соответствуют ?[CODE]MaterialKind - это enum MAPPROJECTION ?
MaterialType - это enum MAPTYPE ?[/CODE]В самой структуре они описаны следующим образом:
[CODE] int MaterialKind ; // Вид исходного материала
 int         MaterialType           ;  // Тип ИКМ[/CODE]
где ИКМ (как я понял) - это исходный картографический материал.
Конвертирование SXF 3.0 в SXF 4.0, Конвертирование SXF 3.0 в SXF 4.0
 
Ага, формат очень старый (20 лет уже?).
На него даже спецификацию трудно найти.

Но иногда встречается, поэтому и спрашивал.
Перепривязка района работ в другую зону., Установка другой зоны для MAP (векторной) карты.
 
Как-то сложновато получается. Проще видимо эскпорт в набор SXF сделать и обратно заимпортировать уже в другой зоне.
Я только ещё не смотрел как экспорт делается.
Спасибо.

Создать лист в выходной карте (кроме первого листа) - в смысле первый лист уже будет после создания выходной карты?
Перепривязка района работ в другую зону., Установка другой зоны для MAP (векторной) карты.
 
Здравствуйте!

В контексте использования mapapi.
Ситуация:
Импортируем набор SXF файлов в MAP формат.
Поддерживаем выбор зоны привязки (берётся по зоне первого SXF файла).
То есть, допустим, есть набор листов карты, захватывающий 5-ую и 6-ую зону, выбрали первым файлом SXF с 5-ой зоной, получили на выходе MAP карту,
привязанную по 5-ой зоне.

Можно ли сконвертировать данную карту в 6-ую зону ? (с использованием mapapi, установить проекцию или как-то ещё?)

У меня пока только вариант сделать обратно экспорт в набор SXF файлов, и снова импорт с указанием другой зоны.

Исходный набор SXF файлов недоступен - карта MAP создана на одной машине, заливается на кучу поставочных устройств уже без исходных SXF.

P.S. Заранее извиняюсь форум не шерстил на эту тему, если где-то уже обсуждалось можно просто ссылкой в меня кинуть.
P.P.S. ГИС Конструктор Free для Qt Designer
         (версия 11, x32 среда выполнения программы:
         виртуальный образ ОС формата VMWare, созданный на основе
инсталляции,
         полученной от ОАО "Радиоавионика")
Плоские прямоугольные координаты СК-42, зоны проекции Гаусса-Крюгера (вроде это так правильно называется, я не геодезист).
Изменено: Владимир Егоров - 17.11.2017 16:57:44
Конвертирование SXF 3.0 в SXF 4.0, Конвертирование SXF 3.0 в SXF 4.0
 
Да, я знаю что можно использовать программу для конвертирования SXF3.0 в SXF4.0.
Меня интересовало можно ли это сделать используя mapapi, то есть программно.
Судя по вашему ответу нельзя.
Спасибо =)
Конвертирование SXF 3.0 в SXF 4.0, Конвертирование SXF 3.0 в SXF 4.0
 
Здравствуйте.

Есть ли возможность программно (используя mapapi) сконвертировать устаревшие форматы SXF (версии 3) в формат SXF (4-ой версии) ?

ГИС Конструктор Free для Qt Designer
(версия 11, x32 среда выполнения программы:
виртуальный образ ОС формата VMWare, созданный на основе
инсталляции, полученной от ОАО "..."),
без компонента по работе с ГИС Сервером.
Страницы: Пред. 1 ... 11 12 13 14 15 16 17 18 19 20 21



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

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