Здравствуйте.
Беру карту "Карта горных проходов и перевалов.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", релиз "Смоленск")
В руководстве программиста искал примеры - но там только про программируемые формулы.
На форуме тоже не нашёл топиков.
Беру карту "Карта горных проходов и перевалов.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", релиз "Смоленск")
В руководстве программиста искал примеры - но там только про программируемые формулы.
На форуме тоже не нашёл топиков.