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

Проблема переноса значений поля "ObjectKey"

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » Panorama SpatialDB Service
Страницы: 1
RSS
Проблема переноса значений поля "ObjectKey", Проблема переноса значений поля "ObjectKey"
 
При создании sql скрипта из xsd схемы классификатора переносится поле "ObjectKey", насколько я понимаю - это ключ объекта. Проблема в том, что в БД данное поле создается, но значения в него не переносятся при копировании данных. Прошу разъяснений.
 
Утилита создания SQL скрипта по XSD схеме - всего лишь инструмент, позволяющий взять слои и их атрибуты из XSD схемы в качестве основы для создания соответственно таблиц и их полей в БД.
Что перекочует из XSD-схемы, а что нет, - определяете Вы.
В Windows этим можно управлять через оконный интерфейс, в Linux - настройкой ini-файла.
На этапе создания SQL-скрипта Вы можете как добавить дополнительные поля, так и убрать те, которые Вам не нужны.

Что касается непосредственно поля "ObjectKey". Да, оно присутствует в XSD-схеме и в ряде случаев используется для информационного обмена, хотя это явно и не указано в Спецификации прикладной схемы.
Однако, данное поле физически не является семантикой объекта. Т.е. семантики с ключом "ObjectKey" у объектов карты нет.
Это, скорее, атрибут, определяющий условный знак объекта.

При работе SpatialDB Service классификационная принадлежность (и как следствие - внешний вид) объекта может определятся либо по классификационному коду объекта, либо по ключу ("ObjectKey"). Это определяется настройками сервиса.
При работе сервиса по xsd-схеме используется, как правило, первый вариант. Если соответствие полей наборов данных в БД и атрибутов объектов на карте задается вручную, то возможен второй вариант - по "ObjectKey".


Таким образом, если Вы настроите программу на работу с "ObjectKey", то поле будет заполняться.
Если это поле задействовать не планируется, то можно на этапе создания SQL-скрипта его отключить.

PS (для сведения):
Для определения классификационной принадлежности наиболее предпочтительным является классификационный код, а не ключ ("ObjectKey").
Это обусловлено возможностью кодирования одним кодом объектов разной локализации (например, реки-площадные и реки-линейные), а также возможностью использования "серий" объектов.
Серия объектов - группа объектов классификатора, одной локализации, с одним классификационным кодом (но с собственными ObjectKey). Выбор того или иного объекта из серии автоматически определяется совокупностью значений семантик, влияющих на вид.
При кодификации по ключу ("ObjectKey") в этом случае возможны казусы: объект в БД имел один ObjectKey, а при сохранении на карту может быть автоматически выбран другой значок из серии (с другим ObjectKey).
Одновременное использование и классификационного кода, и ключа ObjectKey - не допускается.

PS2
Просьба указывать, с какой версией продукта и в какой ОС Вы работаете.
 
Спасибо, прошу подсказать: где можно найти информацию по ручной установке соответствия полей БД и атрибутов объектов на карте вручную?

ОС: CentOS 7. ПО: Panorama SpatialDB Sevice 3.3
 
Описанию настройки соответствия посвящен раздел 1.3 документа "00145-02 32 01_Руководство системного программиста.doc" и п.4.2.4 документа "00145-02 34 01_Руководство оператора.doc".
В отдельный пункт вынесено описание применения прикладной схемы (*.xsd).
Сделано это по двум причинам:
- такой подход является основным для функционирования программы;
- применение *.xsd схемы накладывает ряд ограничений и предопределяет определенную логику работы программы, которую необходимо было описать отдельно.
Настройка "вручную" в SpatialDB Service оставлена для обеспечения возможности работы с пространственными БД произвольной структуры (которые по каким-то причинам нельзя привести к структуре, определяемой прикладной схемой).
Весь процесс, описанный в указанных выше разделах документации, относится в том числе к настройке "вручную", за исключением тех пунктов, где в тексте прямо указано на применение *.xsd схемы.
Также обращаю Ваше внимание на то, что утилита загрузки карты в БД работает исключительно по *.xsd схеме.
Поэтому, если у Вас первоисточником данных изначально является карта, следует работать по *.xsd схеме.
 
Спасибо!
Страницы: 1
Читают тему (гостей: 1)



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

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