2.18. Работа с таблицами данных
2.18.1. Использование справочника
Справочник — это таблица с данными систематической формы, предназначенная для облегчения действий пользователя при работе с атрибутивной информацией по объектам.
Справочники используются для решения следующих задач:
упрощение процесса заполнения атрибутивных полей при работе с объектами (при подключении к таблице справочника пользователи смогут выбирать значение атрибутивного поля из предложенных в справочнике вариантов, а не вводить вручную);
настройка стилей отображения объектов слоев на карте (справочники стилей);
настройка стилей отображения объектов точечных слоев в виде пиктограмм на карте (справочники пиктограмм).
Если администраторы Программы создали справочник для упрощения процесса заполнения атрибутивных полей и подключили его к определенному полю слоя, то при работе в окнах «Таблица» и «Объект» можно будет выбрать значение соответствующего атрибутивного поля из выпадающего списка (Рис. 2.253, Рис. 2.254). Варианты, представленные в выпадающем списке, являются элементами подключенного справочника.
![_images/mapeditor_302.png](_images/mapeditor_302.png)
Рис. 2.253 Выбор значения атрибутивного поля из справочника в окне «Таблица»
![_images/mapeditor_303.png](_images/mapeditor_303.png)
Рис. 2.254 Выбор значения атрибутивного поля из справочника в окне «Объект»
Если администраторы Программы создали справочник стилей и подключили его к определенному атрибутивному полю слоя, то при работе в окнах «Таблица» и «Объект» можно будет выбрать значение соответствующего атрибутивного поля из выпадающего списка. Варианты, представленные в выпадающем списке, являются элементами подключенного справочника. В выпадающем списке, содержащем элементы справочника, помимо наименований элементов, также будут содержаться значки отображения объектов на карте, соответствующих данному элементу справочника (Рис. 2.255, Рис. 2.256).
![_images/mapeditor_306.png](_images/mapeditor_306.png)
Рис. 2.255 Выбор значения атрибутивного поля из справочника в таблице данных
![_images/mapeditor_307.png](_images/mapeditor_307.png)
Рис. 2.256 Выбор значения атрибутивного поля из справочника в окне «Объект»
После заполнения атрибутивного поля объектов слоя по справочнику изменится стиль их отображения на карте — они будут отображаться в соответствии со стилизацией, заданной с помощью справочника (Рис. 2.257).
![_images/mapeditor_308.png](_images/mapeditor_308.png)
Рис. 2.257 Стиль отображения на карте объектов слоя в соответствии с подключенным справочником
Если администраторы Программы создали справочник пиктограмм и подключили его к определенному атрибутивному полю слоя, то при работе в окнах «Таблица» и «Объект» можно будет выбрать значение соответствующего атрибутивного поля из выпадающего списка (Рис. 2.258). В выпадающем списке будут содержаться наименования файлов и изображения соответствующих пиктограмм.
![_images/mapeditor_312.png](_images/mapeditor_312.png)
Рис. 2.258 Заполнение атрибутивного поля объекта слоя, подключенного к справочнику пиктограмм
После заполнения этого поля для объектов слоя изменится стиль визуализации на карте — они будут отображаться в виде пиктограмм (Рис. 2.259).
![_images/mapeditor_313.png](_images/mapeditor_313.png)
Рис. 2.259 Стиль отображения на карте объектов слоя в соответствии с подключенным справочником пиктограмм
Также администраторы Программы могут создать атрибутивное поле для хранения значений углов поворота пиктограмм. Тогда для поворота пиктограмм объектов необходимо заполнить/отредактировать значения этого атрибутивного поля соответствующими значениями углов поворота.
2.18.2. Использование интервала
Интервал — это таблица с данными, которая используется для настройки стилей отображения объектов слоя на карте в зависимости от их определенных числовых характеристик. В Программе используются интервалы вида (a,b].
Если администраторы Программы подключили интервал к определенному атрибутивному полю слоя, то при работе с атрибутивными данными в окнах «Таблица» и «Объект» можно будет указать числовое значение данного атрибутивного поля (Рис. 2.260, Рис. 2.261). Введенное значение попадет в определенный интервал, наименование интервала отобразится в поле справа от введенного числового значения. Стиль отображения объекта также будет отображен в поле после ввода числового значения интервала.
![_images/mapeditor_321.png](_images/mapeditor_321.png)
Рис. 2.260 Заполнение атрибутивного поля объектов слоя, подключенного к интервалу, в таблице данных
![_images/mapeditor_322.png](_images/mapeditor_322.png)
Рис. 2.261 Заполнение атрибутивного поля объекта слоя, подключенного к интервалу, в окне «Объект»
При нажатии на строку с наименованием атрибутивного поля, подключенного к интервалу, откроется таблица данных этого интервала. Эта возможность позволит просмотреть данные объектов интервала при заполнении атрибутивного поля объектов слоя, подключенного к интервалу (Рис. 2.262).
![_images/mapeditor_323.png](_images/mapeditor_323.png)
Рис. 2.262 Пример заполнения атрибутивного поля объектов слоя, подключенного к интервалу
После заполнения нового атрибутивного поля объектов слоя изменится стиль их отображения на карте (Рис. 2.263).
![_images/mapeditor_324.png](_images/mapeditor_324.png)
Рис. 2.263 Отображение на карте объектов слоя, подключенного к интервалу
2.18.3. Связи между таблицами данных
Объекты разных таблиц с данными могут быть логически связаны между собой. В Программе реализованы инструменты связывания таблиц с помощью ключевых полей для повышения удобства перехода между логически связанными объектами. Таблицы связываются по типу отношения «один ко многим», что означает возможность привязки нескольких объектов одной таблицы (дочерней таблицы) к одному объекту второй таблицы (родительской таблицы).
Для создания связи «один ко многим» необходимо добавить поле связи (типа «Целое») в дочернюю таблицу и настроить связь с полем «id» («gid») родительской таблицы. В родительской таблице должно существовать текстовое поле для описания ее объектов. Это поле будет использовано при отображении значений в ключевом поле объектов дочерней таблицы.
Ниже приведен пример создания связи «один ко многим» между слоем (родительской таблицей) и таблицей данных (дочерней таблицей). В качестве родительской таблицы использован слой «Обслуживающие компании». Создано текстовое атрибутивное поле «Название компании» родительской таблицы для описания ее объектов (Рис. 2.264).
![_images/mapeditor_326.png](_images/mapeditor_326.png)
Рис. 2.264 Объекты родительской таблицы
В качестве дочерней таблицы использована таблица данных «Работники обслуживающих компаний» (Рис. 2.265), имеющая три атрибутивных поля: «ФИО» (тип данных «Текст»), «Дата рождения» (тип данных «Дата»), «Место работы» (тип данных «Целое»).
![_images/mapeditor_327.png](_images/mapeditor_327.png)
Рис. 2.265 Объекты дочерней таблицы
При выборе любого объекта дочерней таблицы (таблицы данных «Работники обслуживающих компаний») в таблице данных и в окне «Объект» отобразится атрибутивное поле, связывающее родительскую и дочернюю таблицы («Место работы», Рис. 2.266, Рис. 2.267). Справа от данного атрибутивного поля расположены кнопки обзора и удаления
. Кнопка обзора предназначена для выбора объекта родительской таблицы для связи с данным объектом дочерней таблицы, кнопка удаления — для отмены связи данного объекта дочерней таблицы с объектами родительской таблицы. После выбора объекта для связи или отмены связи следует нажать кнопку «Сохранить».
![_images/mapeditor_329.png](_images/mapeditor_329.png)
Рис. 2.266 Атрибутивное поле, связывающее родительскую и дочернюю таблицы в окне объекта
![_images/mapeditor_330.png](_images/mapeditor_330.png)
Рис. 2.267 Объекты дочерней таблицы после установки связи с родительской таблицей