Семантика объекта |
Семантика объекта цифровой карты содержит атрибуты (свойства, метаданные) объекта, аналогично полям базы данных. В отличие от таблицы базы данных разные экземпляры объектов одного слоя могут иметь разный набор атрибутов, а ряд атрибутов могут повторяться с разными значениями. Например, один объект типа «лес» может иметь атрибут «тип растительности» со значением «сосна» и атрибут «средняя толщина деревьев», а другой объект типа «лес» будет иметь атрибут «тип растительности» со значением «береза» и атрибут «тип растительности» со значением «ель» без указания толщины деревьев. Семантика объекта состоит из кода семантической характеристики и ее значения. Семантики объекта могут быть обязательными, влияющими на вид (тоже обязательные), возможными, общими, служебными, повторяемыми. Значения обязательных семантик всегда должны быть присвоены объекту. При изменении семантик, влияющих на вид, автоматически меняется условный знак объекта. Возможные семантики могут быть не заполнены для отдельных экземпляров объектов. Назначение семантики объекту выполняется средствами Редактора классификатора. Общие семантики могут присваиваться любому объекту на векторной карте. Служебные семантики обычно являются общими, имеют фиксированные цифровые коды и предопределенное назначение. Например: 31001 МАСШТАБ ОТОБРАЖЕНИЯ ЗНАКА В ПРОЦЕНТАХ 31002 ЦВЕТ ОТОБРАЖЕНИЯ ЗНАКА RGB 31003 ВЫСОТА ШРИФТА В ММ 31004 НАЗВАНИЕ ШРИФТА 31007 ВЕС ЦВЕТА ОБЪЕКТА В ПРОЦЕНТАХ 31017 УГОЛ ПОВОРОТА ВЕКТОРНОГО ЗНАКА 31109 ТЕКСТ ПОДПИСИ В КЛАСТЕРЕ 31201 НАЗВАНИЕ УЛИЦЫ 31202 НОМЕР ДОМА 31203 НОМЕР КОРПУСА 31204 НОМЕР СТРОЕНИЯ 31205 НОМЕР ВЛАДЕНИЯ 31206 КОД УЛИЦЫ 31207 НАЗВАНИЕ ГОРОДА (НАСЕЛЕННОГО ПУНКТА) 31208 КОД ГОРОДА (НАСЕЛЕННОГО ПУНКТА) ПО ОКАТО 31209 ПОЧТОВЫЙ ИНДЕКС 32798 ИДЕНТИФИКАТОР ОБЪЕКТА В БАЗЕ ДАННЫХ 32799 ИДЕНТИФИКАТОР ОБЪЕКТА GUID 32800 КЛАССИФИКАЦИОННЫЙ КОД ОБЪЕКТА 32801 ПРИЗНАК ОБЪЕКТА, ИМЕЮЩЕГО ССЫЛКУ НА ПОДЧИНЕННЫЙ ОБЪЕКТ 32802 ПРИЗНАК ОБЪЕКТА, НА КОТОРЫЙ ИМЕЕТСЯ ССЫЛКА ОТ ГЛАВНОГО ОБЪЕКТА 32803 ПРИЗНАК ОБЪЕКТА, ВХОДЯЩЕГО В ГРУППУ РАВНОПРАВНЫХ ОБЪЕКТОВ 32804 ССЫЛКА НА ПОДПИСЬ ОТ ОБЪЕКТА 32805 ССЫЛКА НА ОБЪЕКТ ОТ ПОДПИСИ 32850 ДАТА СОЗДАНИЯ ОБЪЕКТА 32851 ВРЕМЯ СОЗДАНИЯ ОБЪЕКТА 32852 ИМЯ ОПЕРАТОРА 32853 ДАТА ОБНОВЛЕНИЯ ОБЪЕКТА 32854 ВРЕМЯ ОБНОВЛЕНИЯ ОБЪЕКТА 32855 ИМЯ ОПЕРАТОРА ОБНОВЛЕНИЯ 32859 ДАТА НАЧАЛА ОТСЧЕТА UTC 32860 ТЕКСТ ПОДПИСИ UTF-16, ДЛИННЕЕ 126 СИМВОЛОВ 32861 КОММЕНТАРИЙ К ОБЪЕКТУ
Семантика объекта заполняется с учетом ее типа, заданного в цифровом классификаторе векторной карты. Значение семантики может быть строкой, числом, датой, цветом, ссылкой на файл, URL-ссылкой, GUID, классифицированным значением из списка справочника, вычисляемой математической формулой, запрограммированной числовой или строковой формулой (сборная строка). Программируемые семантики реализуются через внешние динамически подключаемые библиотеки. Пользовательские семантики применяются для записи произвольных свойств объекта, не описанных в списке семантик классификатора RSC. Пользовательские семантики могут создаваться при импорте векторных данных (SHP, KML, MIF, DXF, WFS, GML, JSON и других), когда имена полей (ключи) атрибутов объектов не найдены в выбранном классификаторе RSC. Для поддержки таких семантик в различных задачах (Редактор карты, Расчеты по карте, Поиск объектов и в других) в классификаторе RSC на время сеанса работы ГИС создаются временные семантики в диапазоне кодов 660000 и выше. Имя семантики заполняется по имени поля в исходных векторных данных. Это обеспечивает работу с пользовательскими семантиками и семантиками из RSC в общем списке в различных задачах. При одновременном открытии нескольких карт с одним классификатором список временных семантик будет дополнен пользовательскими семантиками со всех карт. При открытии разных комбинаций карт временные коды в разных сеансах могут иметь разные значения. При экспорте векторных карт в файлы SXF и TXF пользовательская семантика записывается с кодом 32862 и записью данных вида «имя_поля:значение». При импорте такие семантики переводятся обратно во временные семантики с добавлением нового кода в RSC. На карте семантики записываются с кодами в диапазоне от 60000 и выше. Соответствие кода семантики на карте и названия поля сохраняется в метаданных карты. При открытии карты по списку имен полей пользовательских семантик автоматически добавляются временные семантики в RSC.
|