Работа с метаданными#
Процесс создания и/или изменения метаданных включает следующие этапы:

Открытие метаданных проекта#
Чтобы открыть метаданные проекта нажмите в меню Файл → Открыть файл проекта (gmproj) или на панели инструментов редактора нажмите кнопку .
Поиск объектов#
Поиск объектов осуществляется в строке поиска главного окна редактора метаданных.
Система выполняет поиск элементов, в имя или алиас которых входят символы, указанные в строке поиска.
В результате поиска формируется дерево, содержащее найденные элементы метаданных.
В дополнение к корневым элементам в список найденных попадут все элементы метаданных, если они ссылаются на найденные корневые элементы:

Тип корневого элемента |
Связанные с корневым элементы |
---|---|
PT |
LT/GT/RRL/PV/MR |
LT |
SR/Field/MR/GLV/LVI/RRL/ST |
D |
Field/MR/GLV |
LV |
SR/Field/MR/GLV/LVI/ST |
PV |
LV/GLV |
GT |
GLV |
GLV |
SR |
Создание элементов#
Для создания элементов в редакторе метаданных правой кнопкой мыши щелкните по корневому элементу и выберите в контекстном меню «Добавить новый элемент». Откроется окно с элементами, которые возможно создать.


Где:
LT – LogicalTable – элемент метаданных, представляющий объект предметной области. Реестр данных, который выводится в панель представления.
PV – PhysicalView – элемент метаданных, представляющий собой представление (выборку, view) в базе данных. Имеет имя-название представления в БД и SQL (в некоторых ситуациях незаполненный).
LV – LogicalView – логическое представление – элемент метаданных, представляющий выборку данных состоящую из одного или нескольких LT с различными фильтрами и связями. Имеет ссылку на PV для представления выборки в базе данных. Реестр данных, который выводится в панель представления. В отличии от LT, может выводить данные более чем одной LT и дополнительные фильтры и связи.
Содержит:
список LT, входящих в выборку;
ссылку на PV, отвечающую за SQL.

GLV – GeoLogicalView – элемент метаданных, представляющий слой с пространственными данными. А также является указанием для LT-что это тип с геометрией. Является связкой между LT(LV), таблицей с геометрией и PV.
Имеет два важных атрибута:
Table – ссылка на LT или LV для отображения в панели представления;
Physical view – PV для отображения в панели карты.

Создание элементов верхнего уровня#
Физическая таблица#
Физическая таблица создается, если она отсутствует среди существующих, для конкретного объекта.
Для создания физической таблицы выберите «Добавить новый элемент / PhysicalTable».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = IsogdBooksTable или Alias = IsogdRefBooksTable (для справочника).
Name – задайте имя таблицы с указанием нужного префикса (см. Префиксы наименований). Например: Name = D_ISOGD_BOOKS или Name = D_REF_ISOGD_BOOKS (для справочника).
Физическая таблица должна содержать атрибуты: SysStatusColumn (SYS_STATUS).
Если это физическая таблица для семантики геометрической таблицы, то она должна содержать дополнительно: SpatialUnitTypeKeyColumn (LA_SPATIAL_UNIT_TYPE_KEY), MI_STYLE (MI_STYLE).
Дискриминатор в таких таблицах должен обязательно ссылаться на существующий справочник дискриминаторов SpatialUnitTypeTable на физическом уровне.
В случае создания карточек объектов МД через sql нужно заполнять также и дискриминатор (если он есть). Если не заполнить дискриминатор (тогда, когда он есть), то объект не появится в соответствующем реестре.
Физическое представление#
Чтобы создать новый элемент физического представления, выберите «Добавить новый элемент / PhysicalView».
Важно
Если при написании SQL физического представления необходимо использовать подзапросы, то у используемых в нем таблиц обязательно должен быть указан Alias, а обращение к колонкам этих таблиц должно быть выполнено через Alias таблицы.
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = IsogdBooksView.
Name – задайте имя представления с указанием нужного префикса (см. Префиксы наименований). Например: NAME = V_ISOGD_BOOKS.
SQL – введите SQL запрос, подготовленный администратором базы данных. Для запроса, возвращающего геометрию: SQL должен начинаться с /*+GEOSQL*/.
Table_key – укажите ссылку на физическую таблицу, где хранятся типы, участвующие в представлении. Пример: PHYSICAL_TABLE_KEY = D_ISOGD_BOOKS.
Description – при необходимости укажите описание.
Filter – при необходимости укажите дополнительное условие, добавляемое к SQL автогенерируемых представлений для типов объектов, имеющих геометрию. Условие не должно начинаться с AND, так как оператор будет добавлен автоматически. Но в теле самого условия допустимо использование любых логических операторов (and, or, in, not).
Например:
s.info_set_key=1000010005813340 s.KN='55:22:123123:15' and s.area>100 s.KN in ('55:22:123123:15','55:22:123123:12')
Если создается GeoLogicalView у которой в качестве типа используется LT, а не LV, а также связанное физическое представление имеет пустое поле SQL, то при загрузке метаданных в проект для такого физического представления будет автоматически сгенерирован SQL с выводом набора полей, включая поля с пространственными данными.
Если у такого физического представления в поле [Description] указать метод DO_OPEN_V и указать один или несколько физических справочных столбцов LT, связанной с GLV, то при генерации представления в дополнение к указанным столбцам в базе данных будет создано соответствующее количество столбцов вида ИМЯ_СТОЛБЦА_V с текстовым значением справочного поля. Расширенное представление используется для стилей в случае необходимости раскраски слоев по справочным полям.
В примере ниже указано поле [URBAN_KIND_OBJ]. Указание данного параметра означает, что данная PV будет расширена в базе на одно поле [URBAN_KIND_OBJ_V], которое позволяет хранить текстовое значения справочника, а не кодовое, как в классическом варианте.

Рекомендации по работе с физическими пространственными представлениями#
Примечание
Все пространственные представления обязательно должны содержать следующий набор полей:
owner_key – ключ связанного семантического объекта;
geoloc – геометрия представленная данными в градусах (система координат 4326);
geoloc_orig – геометрия в оригинальной (исходной) системе координат.
При размещении пространственных данных в Системе допускается наличие коллекций. Например, невалидные данные Росреестра конвертируются в коллекции и размещаются несколькими геометрическими записями для одной семантики. Все инструменты Системы имеют возможность работы с коллекциями, что позволяет снизить количество невалидной геометрии. Но особенность коллекций оказывает влияние на отображение данных в панели представления и в других приложениях.
Стандартный SQL для самописных (не автогенерируемых) представлений на примере ЗУ выглядит:
SELECT s.key,
...
g.owner_key,
g.geoloc,
...
FROM kazan.d_su_gkn_parcel s
--Обратите внимание на этот JOIN
JOIN kazan.d_geo_gkn_parcel g ON s.key = g.owner_key AND g.sys_status = 0
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM kazan.d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel');
Так как семантика и геометрия связаны через поле owner_key геометрии, то на одну запись семантики объекты-коллекции будут выведены несколькими записями, по полю owner_key геометрии есть дублирование у коллекций.

Обратите внимание, что на рисунке запись из семантической таблицы с ключом 1 выведена дважды, т.к. для семантики с ключом 1 существует две записи в таблице с геометрией, у которых в owner_key находится ссылка на эту семантику.
Для проверки наличия коллекций в представлении можно использовать следующий запрос:
select count(key),key from v_geo_gkn_parcel group by key having count(key)>1;
Дублирование при наличии коллекций не вызывает проблем с отображением данных в панели карты, но в панели представления дублирование ключей уже вызывает неудобство и вопросы пользователей. Причиной является использование в метаданных одной и той же PV для панели карты и для панели представления: то есть тот SQL, допускающий дублирование в панели карты, используется и для данных панели представления.

В Системе это будет выглядеть следующим образом:

Как исправить#
Рекомендуется при создании GLV использовать разные PV для панели представления и панели карты.

То есть необходимо создавать следующую структуру метаданных:
GLV атрибутом «Physical view» ссылается на PV_1
GLV атрибутом «Table» ссылается на LV
LV атрибутом «Physical view key» должна ссылаться не на PV_1, а на отдельную PV_2
SQL для PV, на которую ссылается LV не должен содержать обращения к таблице с геометрией или, если невозможно избежать использования таблицы с геометрией в запросе для панели представления (например, выводим объекты у которых площадь больше определённого значения), то необходимо обработать дубли.
Примеры SQL для панели представления
В большинстве случаев достаточно убрать Join на таблицу с геометрией и её поля
Для панели карты:
SELECT s.key,
...
g.owner_key,
g.geoloc,
...
FROM d_su_gkn_parcel s
JOIN d_geo_gkn_parcel g ON s.key = g.owner_key AND g.sys_status = 0
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel');
Для панели представления:
SELECT s.key,
...
FROM d_su_gkn_parcel s
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel');
Если существует отбор по характеристикам геометрии. Чтобы избежать дублирования при фильтрации по характеристикам геометрии можно использовать оператор exists, в т.ч. и для пространственных отношений (например, st_intersects)
Для панели карты:
SELECT s.key,
...
g.owner_key,
g.geoloc,
...
FROM d_su_gkn_parcel s
JOIN d_geo_gkn_parcel g ON s.key = g.owner_key AND g.sys_status = 0 and
geometrytype(geoloc)='POINT'
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel');
Для панели представления:
SELECT s.key,
...
FROM d_su_gkn_parcel s
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel')
AND exists(select from d_geo_gkn_parcel g where s.key = g.owner_key AND
g.sys_status = 0 and geometrytype(geoloc)='POINT')
Если необходимо выводить какие-либо характеристики геометрии в панель представления. В большинстве случаев это не требуется, но при необходимости, то дублирования можно избежать группировками.
Например, в LV для панели представления прописано поле Area
Для панели карты:
SELECT s.key,
...
g.owner_key,
g.geoloc,
g.area,
...
FROM d_su_gkn_parcel s
JOIN d_geo_gkn_parcel g ON s.key = g.owner_key AND g.sys_status = 0
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel');
Для панели представления:
Вариант 1
SELECT s.key,
g.area,
...
FROM d_su_gkn_parcel s
left join lateral(select st_area(st_collect(g.geoloc_orig)) as area from
d_geo_gkn_parcel where owner_key=s.key) g on true
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel');
Вариант 2
with g as (select st_area(st_collect(g.geoloc_orig)) as area,owner_key from
d_geo_gkn_parcel group by owner_key)
SELECT s.key,
g.area,
...
FROM d_su_gkn_parcel s
left join g on g.owner_key=s.key
WHERE s.sys_status = 0
AND s.la_spatial_unit_type_key IN ( SELECT t.key
FROM d_ref_la_spatial_unit_type t
WHERE t.sys_status = 0 AND t.alias::text = 'GknParcel');
Важно проверить быстродействие подобного запроса с группировкой и, по возможности, избегать группировок.
Логическая таблица#
Логическая таблица создается для добавления нового типа объекта.
Для создания логической таблицы выберите «Добавить новый элемент / Добавить таблицу».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = IsogdBooks.
Name – задайте русское имя объекту. Например: Name = Книги ИСОГД.
Full name – см. Формирование атрибута Full name.
Physical_table_key – укажите ссылку на физическую таблицу. Например: PHYSICAL_TABLE_KEY = D_ISOGD_BOOKS.
Validation behavior – заполняется правилами проверки обязательности полей в зависимости от условий.
Настройка обязательности полей в зависимости от условий#
Функциональность
Возможность настраивать правила для проверки обязательности полей в зависимости от условий.
Проверка полей на обязательность заполнения в корневом типе, включая ссылочные поля.
Проверка обязательности полей _’проверка на Пусто’_ в связанных объектах: типы FK, MR и RRL, глобальные MR и RR.
Выполнение правила проверки обязательности поля по заданному условию:
Пусто – emptyНе пусто – not-empty= ‘значение’ – eq<> ‘значение’ – not-eqГде и как хранятся описания правил
Правила валидации описываются в структуре XML, хранятся в метаданных объекта в поле «Validation behavior». Необходимо найти в редакторе метаданных актуальной версии объект, для которого требуется настроить обязательность по условию, например, LT, и добавить в указанное поле этого объекта содержимое подготовленного XML. После сохранения проекта с изменённым полем правило валидации хранится в файле метаданных .gmdiff, который необходимо пролить патчером на проект Geometa.
Структура xml
<validation-package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <group-rules> <condition op="or"> <eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Действующий"/> </eq> </condition> <rule> <condition op="or"> <eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Действующий"/> </eq> <not-eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Отменен"/> </not-eq> <operations op="or"> <eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Действующий"/> </eq> <eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Отменен"/> </eq> </operations> </condition> <check message="В объекте из поля "Документ, определяющий статус данных" установите связь с документом типа Проект планировки, Проект межевания, изменение в проект планировки или изменение в проект межевания"> <not-empty> <prop alias="Doc"> <filter op="or"> <eq> <type /> <const value="DocPPT"/> </eq> <eq> <type /> <const value="DocPMT"/> </eq> <eq> <type /> <const value="DocIZ"/> </eq> </filter> </prop> </not-empty> </check> <check message="Установите чекбокс "Допущен до эл. согласования""> <eq> <prop alias="Agreement"/> <const value="1"/> </eq> </check> <check message="Прикрепите файл"> <not-empty> <file /> </not-empty> </check> <check message="Создайте или задайте геометрию"> <not-empty> <geometry /> </not-empty> </check> </rule> <rule> <check message="В объекте из поля "Результат услуги" заполните поле "Номер""> <not-empty> <prop alias="Doc_DocRelGpzuResult"> <filter> <eq> <prop alias="Doc_DocRelGpzuResult"> <type /> </prop> <const value="DocRejection"/> </eq> </filter> <prop alias="Num"/> </prop> </not-empty> </check> </rule> </group-rules> </validation-package>Правило <rule> состоит из двух частей:
Секции с тегом
<condition>
, в которой описываются условия исполнения проверки.Набора секций с тегом
<check>
, в которых описаны выполняемые проверки.Условие выполнения проверки
<condition>
может быть общим для нескольких правил, объединенных в группу „<group-rules>“.Если все условия, определенные в секции
<condition>
, возвращают положительный результат, то выполняются проверки, описанные в правилах<rule>
для секций с тегом</check>
.Если условия
<condition>
описаны внутри правила<rule>
, то они распространяются только на это правило.
Тег
<condition>
может иметь атрибутop
, который может принимать значения «or» или «and», по умолчанию «and».<condition op="or"> <eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Text"/> </eq> </condition>
Тег
<prop alias="Name">
указывает на поле объекта, которое может быть датой, числом, ссылкой на объект или текстовым полем.<prop alias="Name"/>
Тег
<eq>
содержит пару «свойство<prop>
- значение<const>
», т.е. обработчик правила в поле «Name» будет ожидать значение «Text», при равенстве значений будет возвращена Истина. Можно выполнить сравнение на неравенство, использовав тег<not-eq>
вместо<eq>
.Если поле объекта ссылочное, то можно использовать вложенность свойств
<prop>
для проверки значений полей связанного объекта.Так поле [Статус] у корневого объекта имеет связь со справочником StateDoc «Статус документа», а у справочника есть поле
Name
«Наименование», в котором условие ожидает значение «Действующий»<eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Действующий"/> </eq>
Тег
<operations op="or">
объединяет несколько условий в группу с заданным операндомop=""
. Атрибутop
может принимать значения «or» или «and».<operations op="or"> <eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Действующий"/> </eq> <eq> <prop alias="StateDoc"> <prop alias="Name"/> </prop> <const value="Отменен"/> </eq> </operations>
Тег
<check message="">
содержит проверку поля на заполненность, если проверка провалена, то для пользователя выводится сообщение, заданное в message=»». Символ " - заменяет символ ``.Тег
<not-empty>
содержит проверку свойства <prop> на заполненность.Фильтрация по определённому типу с помощью тэга <filter>
Тег
<filter op="or"/>
позволяет объединить несколько условий.Например, когда в поле может быть установлена связь с несколькими типами, а проверять нужно не все, тег <type /> позволяет проверить наличие связи только c определенными типами объектов:
<check message="В объекте из поля quot; Документ, определяющий статус данных quot; установите связь с документом типа Проект планировки, Проект межевания, изменение в проект планировки или изменение в проект межевания"> <not-empty> <prop alias="Doc"> <filter op="or"> <eq> <type /> <const value="DocPPT"/> </eq> <eq> <type /> <const value="DocPMT"/> </eq> <eq> <type /> <const value="DocIZ"/> </eq> </filter> </prop> </not-empty> </check>Когда необходимо проверить не просто наличие связи с объектом, но и какой-либо атрибут связываемого объекта, на одном уровне с тэгом <filter> необходимо разместить закрытый тэг <prop alias=» «/>. В качестве Alias указать Alias поля, связи, файла или геометрии, в зависимости от того, какой атрибут связываемого объекта проверяется.
Проверка наличия геометрии
Тег
<geometry/>
указывает на связь объекта с геометрией. Проверить наличие геометрии можно с помощью следующей конструкции:<check message="Создайте или задайте геометрию"> <not-empty> <geometry /> </not-empty> </check>Проверка наличия файла
Используя тег
<file />
можно проверить наличие вложений в карточке объекта:<check message="К карточке документа не приложен файл"> <not-empty> <file /> </not-empty> </check>Глобальные связи MR.
Например, у карточки Услуга ГПЗУ (wfServiceGpzu) есть связь с карточкой Заявление. В редакторе метаданных можно увидеть, что внутри логического типа «Услуга ГПЗУ» нет MR связи с Заявлением. Значит, связь является глобальной. Найти её наименование можно через редактор метаданных поиском по русскому наименованию типа (например, «Услуга ГПЗУ») или по запросу, отправляемому в момент открытия карточки через вкладку Network консоли разработчика в браузере.
![]()
Для корректной валидации глобальная MR связь указывается следующим образом:
Alias поля глобальной связи, которое указывает на связываемый объект «_» Alias глобальной связи».
![]()
Есть два разных случая:
Alias типа WfServiceGpzu. Проверяем равенство значения справочного поля карточки, в которую переходим по глобальной связи. В данном случае по типу связать не получится, тэг <type> не подходит, используем Alias справочного значения. Тег <type> только для связи с LT, на которую ссылается LVI.
Чтобы узнать Alias справочного значения, достаточно знать его полное наименование и использовать следующий SQL-запрос:
select alias from kazan.d_ref_directory_simple where full_name = 'Заявление на получение ГПЗУ'; <validation-package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <rule> <check message="В объекте из поля quot;Заявлениеquot; установите связь с заявлением."> <eq> <prop alias="Doc_DocRelWfGpzuAppl"> <prop alias="ViewLetter"> <prop alias="Alias"/> </prop> </prop> <const value="Gpzu"/> </eq> </check> </rule> </validation-package>
Alias типа WfServiceGpzu. Проверяем заполненность поля в LVI, также известном как элемент логического представления. Это тот случай, когда в поле карточки есть выбор между LVI, в нашем случае между тремя такими LVI: ГПЗУ, Решение об отказе, Решение об утверждении ГПЗУ). Здесь применим тэг <type>, для поиска Alias такого типа в редакторе метаданных нужно перейти из глобальной MR в связываемую LV, найти нужный элемент LVI. В качестве Alias типа взять Alias логической таблицы, на которую ссылается выбранный LVI, в данном случае DocRejection.
<validation-package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <rule> <check message="Заполните поле ‘Номер’"> <not-empty> <prop alias="Doc_DocRelGpzuResult"> <filter> <eq> <type /> <const value="DocRejection"/> </eq> </filter> <prop alias="Num"/> </prop> </not-empty> </check> </rule> </validation-package>Ещё один пример глобальной связи, здесь Alias поля глобальной MR связываемого объекта имеет вид SpatialUnit (для проверки укажите в редакторе метаданных Alias глобальной MR связи DocGpzuZuRelation):
<validation-package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <rule> <check message="У связанного с документом ГПЗУ земельного участка должен быть указан кадастровый номер"> <not-empty> <prop alias="SpatialUnit_DocGpzuZuRelation"> <filter> <eq> <type /> <const value="GknParcel"/> </eq> </filter> <prop alias="KN"/> </prop> </not-empty> </check> </rule> </validation-package>Пример:
Если карточка услуги «Выдача ГПЗУ» Doc_DocRelGpzuResult имеет связь с объектом «Отказ» DocRejection, то проверить на непустое поле «Причина отказа»
RejectReason
в «Отказе». Результатом услуги могут выступать и другие типы документов.<validation-package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <rule> <condition> <eq> <prop alias="Doc_DocRelGpzuResult"> <type /> </prop> <const value="DocRejection"/> </eq> </condition> <check message="В объекте из поля «Результат услуги » заполните поле «Причина отказа»."> <not-empty> <prop alias="Doc_DocRelGpzuResult"> <filter> <eq> <type /> <const value="DocRejection"/> </eq> </filter> <prop alias="RejectReason"/> </prop> </not-empty> </check> </rule> </validation-package>Пример связи MR между логической таблицей и логическим представлением
<validation-package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <check message="В объекте из поля ‘Адрес для аннулирования’ приложите файл"> <not-empty> <prop alias="DocObjAdressCancel"> <filter> <eq> <type /> <const value="AdrPoint"/> </eq> </filter> <file /> </prop> </not-empty> </check> </rule> </validation-package>Где:
DocObjAdressCancel - Alias глобальной MR связи корневого объекта
AdrPoint - Alias LT, на который ссылается элемент LV (LVI)
Глобальная RR связь.
У глобальной RR связи нет полей в редакторе метаданных, поэтому связь происходит только по Alias глобальной RR связи.
<rule> <check message="В объекте из поля quot;Заявительquot; заполните обязательное поле quot;Полное наименованиеquot;"> <not-empty> <prop alias="SubjRoleDeclarer"> <filter> <eq> <type /> <const value="SubjOrganization"/> </eq> </filter> <prop alias="Name"/> </prop> </not-empty> </check> </rule>В теге
<const value=" "/>
записывается Alias логической таблицы из представления Субъекты (SubjParty):
SubjPerson - Физическое лицо.
SubjOrganization - Юридическое лицо.
Пример проверки обязательности полей в карточке ГПЗУ
Для объекта ГПЗУ выполнить проверку заполненности полей «Cлужебный номер», «Кто подготовил (Организация)» и «Проект планировки», если выполнены условия:
Статус = «Действующий»
Поле «Примечание» не пустое
<validation-package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <rule> <condition op="and"> <eq> <prop alias="StateDoc"> <prop alias="Alias"/> </prop> <const value="approved"></const> </eq> <not-empty> <prop alias="Note"> </prop> </not-empty> </condition> <check message="Заполните поле quot;Cлужебный номерquot;"> <not-empty> <prop alias="WorkNumKZN"> </prop> </not-empty> </check> <check message="В карточке градостроительный план ЗУ не заполнено поле ‘Кто подготовил (Организация)’"> <not-empty> <prop alias="SubjRoleWhoMakeOrg"> </prop> </not-empty> </check> <check message="В карточке градостроительный план ЗУ не заполнено поле ‘Проект планировки’"> <not-empty> <prop alias="DocRelPPM"> </prop> </not-empty> </check> </rule> </validation-package>Из примера можем увидеть, как должно быть описано правило для проверки значения справочного поля:
<condition> <eq> <prop alias="StateDoc"> <prop alias="Alias"> </prop> <const value="approved"/> </eq> </condition>В карточке ГПЗУ (корневой тип) есть ссылочное поле «Статус документа (StateDoc)», которое указывает на справочник StateDoc «Статус документа». Cвойство <prop alias= «Alias»> - это указатель на поле «Псевдоним (Alias)» из типа StateDoc.
Если в этом поле будет значение «approved», то конструкция <eq> .. </eq> вернет true.
Так как других условий в фильтре <condition> не задано, то
</condition>..</condition>
также вернет true и будут выполнены все проверки<check>
.
Логическое представление#
Чтобы создать новый элемент логического представления выберите «Добавить новый элемент / Добавить представление».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = IsogdBooksClose.
Name – задайте имя объекту на русском языке. Например: Name = Книги ИСОГД(закрытые).
DISCRIMINATOR COLUMN – укажите атрибут из физического представления, который содержит Alias объекта. Как правило, это атрибут TYPE_ALIAS.
PHYSICAL_VIEW_KEY – укажите ссылку на физическое представление. Например: PHYSICAL_VIEW_KEY = V_ISOGD_BOOKS_CLOSE.
Для каждого типа в логическом представлении необходимо также добавлять элемент логического представления.
Проверка SQL на ошибки#
В редакторе метаданных можно выполнить следующие проверки:
Проверка наличия дискриминатора, когда для одной PT существует несколько LT. Текст предупреждения будет выводиться на вкладке Warning: Для логической таблицы «Имя_таблицы» не задан дискриминатор.
Проверка наличия PT для PV. Текст предупреждения будет выводиться на вкладке Warning: Для физического представления 'Alias_PV' не задана физическая таблица.
Эти проверки выполняются по кнопке Проверить на ошибки из контекстного меню корневого элемента.
Проверка соответствия SQL-запроса физического представления и текущей модели данных.
Проверка выполняется для всей модели, если вызвать её из контекстного меню корневого элемента по кнопке Проверить SQL на ошибки, и для конкретного элемента PV при редактировании поля с SQL.

Справочник#
Для создания справочника выберите «Добавить новый элемент / Directory».
Заполните атрибуты объекта:
Aias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = IsogdRefBooksType.
Name – задайте имя справочнику на русском языке. Например: Name = Типы книг ИСОГД.
Full name – см. Формирование атрибута Full name.
Physical_table_key – укажите ссылку на физическую таблицу. Для простых справочников в наборе метаданных уже имеется таблица DirectorySimple. Например: PHYSICAL_TABLE_KEY = D_REF_DIRECTORY_SIMPLE.
Слой#

Слой может быть создан для логической таблицы или логического представления.
Чтобы создать слой для логической таблицы, щелкните по ней правой кнопкой мыши и выберите «Создать слой GLV». Перейдите в созданную GLV и укажите ссылку на объект описания таблицы геометрии Geo Table.
Чтобы создать слой для логического представления, щелкните правой кнопкой мыши по корневому элементу и выберите «Добавить новый элемент – Добавить слой».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = GeoUrbanTerZoneExist.
Name – задайте имя слою на русском языке. Например: Name = Территориальные зоны (существующие).
Table – укажите ссылку на логическое представление. Например: Table = Территориальные зоны (существующие) (UrbanTerZoneExist).
Physical view – укажите ссылку на физическое представление. Например: Physical view = V_GEO_URBAN_TER_ZONE_EXIST.
Geo table – укажите ссылку на объект описания таблицы геометрии. Например: Geo table = Все пространственные данные (GeoTableInfo).
Добавление постраничного получения слоев по WFS средствами Geoserver#
Для реализации постраничного получения слоев:
В схеме проекта по данным таблицы gt_pk_metadata геосервер определяет какой столбец в представлении будет выступать в качестве ключа.

При проливке метаданных, во все GeoLigicalView добавится столбец geoserver_entity_key. Значение нового ключа берется из значения ключа семантики (SQL GLV содержит код:
s.key as geoserver_entity_key
). Так же, при отсутствии, в таблицу «gt_pk_metadata» добавляется запись о соответствии.Колонка geoserver_entity_key не переносится в атрибуты слоя, так как она является идентификатором только для геосервера. Если у слоя на геосервере будет атрибут geoserver_entity_key, то постраничность для данного слоя будет недоступна.
Вид поиска#
Для создания нового вида поиска выберите «Добавить новый элемент / SearchType».
Заполните атрибуты объекта:
Alias – идентификатор вида поиска, как правило, выглядит как: «Alias типа объекта + Search», например, DocAllDocViewSearch;
Name – наименование вида поиска;
Comment – комментарий;
Description – описание;
Icon id – здесь задается набор стилей для иконки, которая будет выводится в панели поиска Системы - Стили иконки предварительно описываются в коде;
Water mark – подсказка отображаемая в строке поиска, когда поле пустое;
Has button – будет ли вид поиска отображаться в виде кнопки в панели поиска;
Is default – если true, то этот вид поиска будет выбран по умолчанию;
Is Spatial – воспринимать ли поиск как пространственный (с отображением результатов на карте). Поиск пространственных объектов происходит дольше, поэтому, если отображение результатов поиска на карте обязательно, то установите флажок в поле [Is spatial];
Order No – порядок вывода иконки в панели поиска.
Тип объекта, участвующего в поиске – IndexSource. Для одного вида поиска SearchType можно описать несколько типов объектов.
Свойства IndexSource :
Alias – идентификатор, как правило, выглядит как: «Alias типа объекта + Query», например, DocAllDocViewQuery;
Name – произвольное наименование индекса (можно не заполнять);
REF_LOGICAL_TABLE_KEY – логическая таблица или view (тип для которого настраивается поиск);
UNIQUE_KEY – в качестве ключа обязательно указать поле ИД (KeyField) выбранной логической таблицы или view.
Поля, участвующие в поиске – SearchField, для всех перечисленных типов объектов.
Свойства SearchField:
Alias – идентификатор поискового поля, как правило, выглядит как: «Alias поля_Field», например, DocName_Field;
Name – можно не заполнять;
Field key – ссылка на поле логической таблицы;
Boost – задается для увеличения веса поля в итоговом результате - Как правило, используется стандартный вес, в этом случае значение равно 0;
Is indexed – будет ли осуществляться поиск по данному полю;
Is Multi Value – рекомендуется значение false;
Is stored – будет ли поле доступно в результатах поиска;
Solr type – ставится тип «SolrText».
Описание стиля иконки
Описание иконки поиска выполняется по примеру: fg fg-search-document.
Стиль должен быть описан в файле приложения font-grad.css.
Как выглядит стиль:
.fg-search-document:before {
content: "\2920";
}
где 2920 – это номер иконки из файла шрифтов GlyphiconIAS.otf (fg - это общий стиль шрифта, а fg-search-document описание выбранной иконки).
Описание стиля других иконок:
– fg-search-folder
– fg-search-real-estate
– fg-search-document
– fg-search-tablet
– fg-search-subject
– fg-search-urban-cult
– fg-search-spatial
– fg-search-spatial-contour
– fg-map-marker-background
– fg-map-marker-body
– fg-dot-circle-o
– fg-union
– fg-ideo-graf-white
– fg-ideo-graf-black
Примечание
После описания поиска в метаданных необходимо переформировать виды поиска для проекта (см. Как сформировать виды поиска), иначе попытки осуществления поиска по данным приведет к ошибке. Добавление нового поля в существующий вид поиска без переформирования также приведет к ошибке.
Физическая таблица геометрии#
Для создания физической таблицы геометрии выберите «Добавить новый элемент / PhysicalTable».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = GeometryLandscapeTable.
Name – задайте имя таблицы с указанием нужного префикса (подробнее: Префиксы наименований). Рекомендуется использовать префикс
D_GEO_
. Например: NAME = d_geo_landscape.
Физическая таблица геометрии должна содержать следующие атрибуты:
SYS_STATUS Name = SYS_STATUS, Alias = SysStatusColumn, Physical datatype = NUMBER
Numgeometries Name = numgeometries, Alias = NumGeometry, Physical datatype = NUMBER
npoints Name = npoints, Alias = NPoints, Physical datatype = NUMBER
linelength Name = linelength, Alias = LineLength, Physical datatype = NUMBER(20,2)
geometrytype Name = geometrytype, Alias = GeometryTypeStr, Physical datatype = VARCHAR2(100)
area Name = area, Alias = Area, Physical datatype = NUMBER(20,2)
owner_key Name = owner_key, Alias = OwnerKey, Physical datatype = NUMBER, Ref physical table key = ссылка на физическую таблицу семантики, связанная с создаваемой таблицей геометрии (например, d_la_spatial_unit (SpatialUnitTable))
geoloc Name = geoloc, Alias = GeoColumn, Physical datatype = public.geometry
Объект описания таблицы геометрии#
Для создания объекта описания таблицы геометрии выберите «Добавить новый элемент / GeoTable».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = IsogdBooksView.
Name – задайте имя на русском языке. Например: NAME = Лесной квартал.
Physical table – укажите таблицу геометрии, для которой создается объект описания. Например: Physical table = d_geometry (GeometryTable).
Формирование атрибута Full name#

Атрибут Full name формируется для логических таблиц и справочников.
Чтобы заполнить атрибут Full name выделите элемент и перейдите в свойства элемента (см. Как просмотреть свойства элемента).
Заполните атрибут Full name.
Шаблон для Full name имеет структуру: выражение?условие, в котором:
выражение – либо атрибут, либо константа;
? – принимает значение «если»;
условие – критерий, от которого зависит вывод выражения.
Примечание
Убедитесь, что между составными частями выражения и разделителями отсутствуют пробелы, иначе Full name не будет генерироваться.
Правила формирования выражения:
Константа в подставляемом значении пишется в одинарных кавычках. Например, для шаблона test результатом будет test.
Для вывода значения поля объекта, для которого формируется Full name, указывается Alias поля. Например, для шаблона KN результатом будет 86:11:0501008:844.
Для вывода значения поля связанного объекта указывается <Alias связи>.<Alias поля>. Например, для шаблона GknParcel.KN результатом будет 86:11:0501008:844. Поддерживается неограниченное количество уровней вложенности.
Для вывода наименования MR или RR связи используется системное свойство FullNameField. Например: SubjRoleDeclarer.FullNameField.
Правила формирования условия:
Допускается лишь одно условие на составную часть.
Для создания условия на равенство значению поля указывается: <Alias объекта>.<Alias поля>=<значение поля>. Пример запроса на условие: ?AdrObj.Type.Alias=street.
Обратите внимание: при указании условия на значение поля необходимо использовать только латинские символы.
Для создания условия, что поле/объект пустое, указывается: ?<поле/объект>=.
Для создания условия, что поле/объект не пустое, указывается: ?<поле/объект>.
Примеры шаблонов с условиями
'Нет номера '?Number=|| '№' ?Number||Number
Результат:
«Нет номера», если поле [Number] пустое
<№ [Number]>, если поле [Number] не пустое
'Земельный участок'?KN=||'Земельный участок № '?KN||KN||' ('||Status.FullNameColumn||')'
Результат:
Если поле [Кадастровый номер] и [Статус] заполнено, то вывести Земельный участок №16:50:777777:77 (Существующий).
Если заполнено только поле [Кадастровый номер], то вывести Земельный участок №16:50:777777:77.
Если заполнено только поле [Статус], то вывести Земельный участок (Существующий).
Если не заполнены поля [Кадастровый номер] и [Статус], то вывести Земельный участок.
UrbanKindObj.Name?UrbanPlanningRegulation.FullNameField=||UrbanPlanningRegulation.FullNameField
Результат: Если поле [Градостроительный регламент] пусто, то вывести вид территориальной зоны, иначе вывести градостроительный регламент.
LastName?IsEntrepreneur=||''||FirstName?IsEntrepreneur=||''||MiddleName?IsEntrepreneur=||''||EntrepreneurShortName?IsEntrepreneur=1||LastName?IsEntrepreneur=0||''||FirstName?IsEntrepreneur=0||''||MiddleName?IsEntrepreneur=0
Результат: Если галочка «Предприниматель» не стоит, то вывести ФИО, иначе вывести «Краткое наименование ИП».
AdrType.Name?AdrType.FullNameOrder=||''?AdrType.FullNameOrder=||Name||''?AdrType.FullNameOrder||AdrType.Name?AdrType.FullNameOrder
Результат: В зависимости от типа объекта адресации выводить поля в прямом или обратном порядке. Например: если «улица» - то «улица Новая», если «линия» - то «7 линия».
Примечание
Сложные Full name при создании формируются из составных частей, разделенных «||». Например: выражение?условие||выражение?условие||выражение?условие.
Формирование Full name на примере алиаса UrbanParselPPM
Выведет фразу «ЗУ ППиМ;условный номер ЗУ», где NominalNumber - алиас поля; фулнейм набора данных
'ЗУ ППиМ'' №'?NominalNumber||NominalNumber||' '?InfoSetKey.FullNameField||InfoSetKey.FullNameField
Выведет фразу «ЗУ ППиМ;условный номер ЗУ», где NominalNumber - алиас поля; фулнейм документа, связанного с набором данных
'ЗУ ППиМ'' №'?NominalNumber||NominalNumber||' '?InfoSetKey.Doc.FullNameField||InfoSetKey.Doc.FullNameField
Выведет фразу «ЗУ ППиМ;условный номер ЗУ», где NominalNumber - алиас поля; регистрационный номер ГИСОГД документа, связанного с набором данных, где GisogdNumReg- алиас поля
'ЗУ ППиМ'' №'?NominalNumber||NominalNumber||' '?InfoSetKey.Doc.GisogdNumReg||InfoSetKey.Doc.GisogdNumReg
Для того, что бы фулнейм корректно вывел значение поля у документа, необходимо учесть следующее:
Если обратиться к карточке набора данных, то можно увидеть, что поле [Документ, определяющий статус] является полем с MR-связью. MR-связь в свою очередь ссылается не на LT, а на LV. LV имеет алиас DocAllDocView. Если обратиться к этой LV, то поле [Регистрационный номер ГИСОГД] там может отсутствовать, его необходимо добавить в саму LV, в PV и в скрипт PV.
В случае создания карточек объектов МД через sql нужно заполнять также и full_name. Если не заполнить full_name, то правила, указанные для метаданных, отрабатывать автоматически не будут, и полное наименование останется пустым.
Создание элементов нижнего уровня#
Физическое поле#
Физическое поле создается только для физических таблиц (PT) или физических представлений (PV).

Для создания физического поля выберите «Добавить новый элемент / Column».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов). Например: Alias = OrgForm.
Name – задайте имя атрибуту в физической таблице заглавными буквами. Например: Name = ORG_FORM.
PHYSICAL DATATYPE – задайте тип атрибута в базе данных. Например: PHYSICAL_DATATYPE = NUMBER.
Типы данных, которые могут быть указаны в поле PHYSICAL DATATYPE:
DATE – дата;
VARCHAR2(500) – текстовое поле (число в скобках редактируется);
NUMBER – числовые и ссылочные поля;
NUMBER(15,2) – вещественное поле (числа в скобках редактируются).
REF PHYSICAL TABLE KEY – заполняется только для атрибутов, которые являются ссылкой на другой объект – Укажите физическую таблицу объекта, к которому установлена ссылка. Например: REF_PHYSICAL_TABLE_KEY = D_REF_DIRECTORY_SIMPLE.
Логическое поле#
Для создания логического поля выберите «Добавить новый элемент / Field».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов);
Name – задайте наименование полю;
ORDER NO – укажите порядковый номер поля в карточке;
ORDER IN GRID – укажите порядковый номер поля в панели представления;
- VISIBLE IN CARD – задайте параметры отображения поля. Есть 3 варианта:
Show – отобразить поле.
Hide – скрыть поле.
ShowWithValue – отображение секции, в зависимости от наличия информации в полях, расположенных в этой секции. Данный параметр подходит для полей с автоматическим заполнением информацией. Если для всех полей секции установлено это свойство и при этом все поля не заполнены, то секция будет скрыта. Во всех остальных случаях секция с входящими в неё полями отображается в карточке объекта.
HIDE IN GRID – выберите, если нужно скрыть отображение в таблице;
DOMAIN KEY – укажите тип поля;
REF TABLE KEY – заполняется только в том случае, если в предыдущем поле указан тип – ссылка на объект – Имеется возможность указывать ссылки к логическим таблицам, представлениям, справочникам;
SECTION KEY – укажите секцию, которой будет принадлежать поле в карточке объекта;
FILTER – атрибут появляется, если поле ссылочное и заполнен атрибут REF TABLE KEY. Фильтр настраивается для таблицы, выбранной в атрибуте REF TABLE KEY, и определяет критерии выборки объектов в этом логическом поле.
IS DISCRIMINATOR – атрибут дискриминатора. В рамках одной логической таблицы возможно использование только одного дискриминатора;
IS LINK FIELD – атрибут ссылочного поля;
IS MINI CARD VISIBLE – атрибут видимости поля в мини-карточке (актуально только для портала);
IS READONLY – атрибут «Только для чтения»;
IS REQUIRED – атрибут обязательного заполнения поля пользователем;
COLUMN KEY – укажите физическое поле – При отсутствии необходимого поля, имеется возможность создать новое, нажав на кнопку в виде плюсика.
Добавление пространственной связи#
Добавление пространственной связи возможно для логической таблицы.
Чтобы добавить пространственую связь выберите «Добавить новый элемент / SpatialRelation».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов);
Name – задайте наименование полю;
ORDER NO – укажите порядковый номер поля в карточке;
- VISIBLE IN CARD – задайте параметры отображения поля. Есть 3 варианта:
Show – отобразить поле.
Hide – скрыть поле.
ShowWithValue – отображение секции, в зависимости от наличия информации в полях, расположенных в этой секции. Данный параметр подходит для полей с автоматическим заполнением информацией. Если для всех полей секции установлено это свойство и при этом все поля не заполнены, то секция будет скрыта. Во всех остальных случаях секция с входящими в неё полями отображается в карточке объекта.
HIDE IN GRID – выберите, если нужно скрыть отображение в таблице;
SPATIAL RELATION TYPE – укажите вид пространственной связи.

Различают следующие: Intersects (пересекает), equals (равняется), touches (касается), contains (содержит), covers (покрывает), disjoint (непересекает), covered by (покрыт), within (в пределах)
При выборе типа пространственного отношения IntersectionByEntryDepth становится доступным для редактирования связанный с ним поле [Глубина вхождения]. Значения в этом поле задаются в метрах. Допустимо указывать дробные значения с точностью до миллиметра.
При выборе типа пространственного отношения IntersectionByPercentArea становится доступным для редактирования связанное с ним поле [Тысячные доли процента соответствия]. Параметр определяет минимальный процент площади пересечения двух пространственных объектов для подтверждения их пространственного пересечения, и измеряется в тысячных долях процента. При значении 1000 объекты будут считаться пересекающимися, если площадь пересечения больше либо равна 1% площади исходного объекта. По умолчанию значение параметра равно нулю.
TARGET – укажите ссылку на объект, с которым устанавливается пространственная связь;
TARGET GEOVIEW – укажите ссылку на слой объекта, с которым устанавливается пространственная связь;
OWNER GEOVIEW – укажите ссылку на слой текущего объекта;
SECTION KEY – укажите секцию, которой будет принадлежать поле в карточке объекта.
Добавление множественной связи#
Добавление множественной связи возможно для логической таблицы.
Чтобы добавить множественную связь выберите «Добавить новый элемент / MultiRelation».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов);
Name – задайте наименование полю;
ORDER NO – укажите порядковый номер поля в карточке;
ORDER IN GRID – укажите порядковый номер поля в панели представления;
- VISIBLE IN CARD – задайте параметры отображения поля. Есть 3 варианта:
Show – отобразить поле.
Hide – скрыть поле.
ShowWithValue – отображение секции, в зависимости от наличия информации в полях, расположенных в этой секции. Данный параметр подходит для полей с автоматическим заполнением информацией. Если для всех полей секции установлено это свойство и при этом все поля не заполнены, то секция будет скрыта. Во всех остальных случаях секция с входящими в неё полями отображается в карточке объекта.
HIDE IN GRID – выберите, если нужно скрыть отображение в таблице;
EDITOR TYPE – укажите вид редактирования поля;
PHYSICAL TABLE – укажите физическую таблицу для хранения связей М:М - Как правило, подобные таблицы в наименовании имеют префикс D_REL.
TARGET – укажите ссылку на объект, с которым будет реализована связь;
OWNER COLUMN – укажите физическое поле из выбранной таблицы связей, в котором будет храниться ключ текущего объекта;
TARGET COLUMN – укажите физическое поле из выбранной таблицы связей, в котором будет храниться ключ объекта, с которым будет реализована связь;
SECTION KEY – укажите секцию, которой будет принадлежать поле в карточке объекта;
IS READONLY – атрибут «Только для чтения»;
IS MULTIPLE CHOICE – атрибут множественной ссылки;
IS REQUIRED – атрибут обязательного заполнения поля пользователем.
Добавление связи с субъектами#
Добавление связи с субъектами возможно для логической таблицы.
Чтобы добавить множественную связь выберите «Добавить новый элемент / RoleRelationLocal».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов);
Name – задайте наименование поля;
ORDER NO – укажите порядковый номер поля в панели представления;
- VISIBLE IN CARD – задайте параметры отображения поля. Есть 3 варианта:
Show – отобразить поле.
Hide – скрыть поле.
ShowWithValue – отображение секции, в зависимости от наличия информации в полях, расположенных в этой секции. Данный параметр подходит для полей с автоматическим заполнением информацией. Если для всех полей секции установлено это свойство и при этом все поля не заполнены, то секция будет скрыта. Во всех остальных случаях секция с входящими в неё полями отображается в карточке объекта.
HIDE IN GRID – выберите, если нужно скрыть отображение в таблице;
EDITOR TYPE – укажите вид редактирования поля;
PHYSICAL TABLE KEY – укажите физическую таблицу для хранения связей М:М.
TARGET – укажите ссылку на логическую таблицу или представление, которые содержат субъектов;
OWNER COLUMN – укажите физическое поле из выбранной таблицы, в котором будет храниться ключ текущего объекта;
TARGET COLUMN – укажите физическое поле из выбранной таблицы, в котором будет храниться ключ связи субъекта с ролью;
SECTION KEY – укажите секцию, которой будет принадлежать поле в карточке объекта;
ROLE TYPE COLUMN – укажите физическое поле, в котором будет храниться ключ роли (по умолчанию, ROLE_TYPE_KEY);
ROLE TARGET COLUMN – укажите физическое поле, в котором будет храниться ключ субъекта (по умолчанию, PARTY_KEY);
IS READONLY – атрибут «Только для чтения»;
Добавление возможности установить связь с реплицированными документами, субъектами#
Данная настройка может быть выполнена в редакторе метаданных или путём исправления файла .gmdiff, содержащего необходимую связь.
Важно
После внесения изменений в файл .gmdiff в региональной рабочей области появится возможность выбора реплицированных с МО документов как в Geometa, так и в ГИСОГД (Diamond).
Выбор реплицированных субъектов будет доступен только в Geometa. При создании/технической коррекции документа в ГИСОГД (Diamond) для выбора будут доступны только субъекты конкретного проекта.
Для добавления возможности установления связи с реплицированными документами, субъектами:
Откройте файл с расширением .gmdiff, содержащий Alias связи, в текстовом редакторе. Если файл с необходимой связью отсутствует, то создайте его. Создание выполняется в редакторе метаданных изменением любого из свойств связи, например, можно увеличить на 1 порядковый номер в панели представления.
Добавьте в блок <Values> Alias’a связи строку:
<Value Attribute="DISABLE_THIS_PROJECT_FILTER" DecimalValue="1" />

Создание элемента логического представления#
Для каждого типа, входящего в логическое представление (см. Логическое представление), необходимо добавлять атрибут LogicalViewItem.
Чтобы добавить атрибут, выберите «Добавить новый элемент / LogicalViewItem».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов);
Name – задайте имя атрибуту (может оставаться пустым);
REF LOGICAL TABLE KEY – укажите ссылку на логическую таблицу.
Добавление секции#
Добавление секции возможно для логической таблицы.
Чтобы добавить секцию выберите «Добавить новый элемент / Section».
Заполните атрибуты объекта:
Alias – задайте уникальное в рамках родительского каталога значение в соответствии с правилами именования Alias’ов (см. Именование Alias’ов);
Name – задайте имя элементу;
ORDER NO – укажите порядковый номер в карточке;
DEFAULT COLLAPSE – атрибут сворачивания элемента по умолчанию.
Именование Alias’ов#
Для именования Alias’ов используется стиль написания CamelCase (стиль написания, при котором несколько слов пишутся слитно, без пробелов, и при этом каждое слово внутри фразы пишется с прописной буквы).
Пример именования Alias’ов: GknParcel – земельный участок, TopoTablet - топографический планшет.
Генерация Alias и Name
При создании новых логических таблиц (LogicalTable), логических представлений (LogicalView) и слоя (GeoLogicalView) в секции Генереция Alias и Name заполните поля [Подсистема], [Псевдоним], [Имя] и нажмите кнопку Пересчитать. Будут автоматически сформированы значения Alias и Name для элементов верхнего уровня.

Alias’ы объектов#
Правила именования Alias’ов объектов:
Alias объекта начинается с Alias’а подсистемы;
Alias объекта уникален.
Adr |
Адресный план |
Gkn |
Сведения ГКН |
Trans |
Транспортная инфраструктура |
Eng |
Инженерная инфраструктура |
Urban |
Градостроительная документация |
Urban5 |
Градостроительная документация (версия 5.0 Классификатор ДТП (Минэконом)) |
UrbGp |
Градостроительная документация (конвертация из СТкГД) |
Topo |
Топографические материалы |
Cult |
Объекты культурного наследия |
Subj |
Заявители |
Isogd |
ИСОГД |
Doc |
Документы |
Serv |
Услуги |
Wf |
Управление процессами |
Cop |
Контроль общественных пространств |
Rem |
Управление недвижимостью |
IsogdQA |
Качество ведения ИСОГД |
Alias’ы атрибутов#
Правила именования Alias’ов атрибутов:
Alias уникален в пределах объекта;
Alias атрибута не содержит Alias’а объекта.
Date <чего> |
Дата <чего> |
Kind |
Вид |
Code |
Код |
Name |
Наименование |
Num |
Номер |
Desc, Description |
Описание |
Area |
Площадь |
Note |
Примечание |
Type |
Тип |
Content |
Содержание |
Qty, Quantity |
Количество |
Len |
Длина |
Category |
Категория |
State |
Состояние |
Status |
Статус |
Obj, Object |
Объект |
Level |
Значение (местное, региональное) |
Population |
Население |
District |
Район города |
Microdistrict |
Микрорайон |
Qarter |
Квартал |
Territory |
Площадка |
TerritoryNum |
Номер площадки |
RedLine |
Красная линия |
Agency |
Орган (государственный) |
Purp, Purpose |
Назначение |
Ownership |
Собственность |
Restr, Restriction |
Ограничение |
Regul, Regulation |
Регулирование |
Pr, Project |
Проектное |
Floor |
Этаж, этажность |
Undergr, Underground |
Подземное [площадь] |
Appt, Appartament |
Квартира |
Constr, Construction |
Сооружение |
Building |
Здание |
Investment |
Инвестиционная |
Calc, Calculation |
Рассчет |
Build |
Застройка |
BuildArea |
Площадь застройки |
Stage |
Этап |
People |
Проживающие |
QantityPeople |
Количество проживающих |
Total |
Общая |
Living |
Жилая [площадь] |
Unliving |
Нежилая [площадь] |
Rate |
Степень [износа] |
Deterioration |
Износа |
Waste |
Ветхость |
Reconstruction |
Реконструкция |
Emergency |
Аварийность |
Administr,Administrative |
Административное |
AdministrativeUnit |
Административно- территориальная принадлежность |
AdministrativeBounlaries |
Административно- территориальное деление |
Direction |
Направление |
Cluster |
Кластер |
Capital (Building) |
Капитальное (здание) |
Placing |
Размещение (объектов) |
Rank |
Ранг |
Approx |
Ориентировочная площадь |
Availability, Avail |
Наличие [объектов] |
Commercial, Comm |
Коммерческая |
IndividualResidential |
ИЖС |
Industrial, Ind |
Промышленное |
Production, Prod |
Производственное |
Profitability, Profit |
Рентабельность |
Developing, Dev |
Освоение [этап, период] |
Social, Soc |
Социальное |
Infrastucture, Infr |
Инфраструктура |
Stored |
Сохраняемое |
Demolished |
Сносимое |
Encumbrance |
Обременение |
Transport, Trans |
Транспорт |
Railway |
Железные дороги |
Capacity |
Пропускная способность |
Protection, Prot |
Охранные |
WaterProt |
Водоохранные |
Flooding |
Затопление |
GasNetwork |
Газоснабжение |
HeatNetwork |
Теплоснабжение |
CommNetwork |
Связь |
PipeNetwork |
Трубопровод |
ElectrNetwork |
Электроснабжение |
WaterNetwork |
Водоснабжение |
SewerNetwork |
Водоотведение |
RainSewerNetwork |
Ливневая канализация |
Pipe |
Труба |
Network |
Сеть |
Segment |
Участок (сети) |
Cause |
Основание (обоснование) |
Method, LayMethod |
Способ [прокладки] |
Mode |
Режим [температурный] |
Cable |
Провод |
Material, Mat |
Материал |
Diameter, Diam |
Диаметр |
Pressure, Press |
Давление |
Power |
Мощность |
Unit |
Единица измерения |
Calculation, Calc |
Расчетная |
Fuel |
Топливо |
Запрещенные Alias’ы#
Запрещенные Alias’ы:
Date;
Number.
В названии Alias’ов бизнес-объектов и их полей, а также физических таблиц и их полей запрещено использовать символы: ! != & ( ) * + , - . / : ; < << <= = => > >= @ ~ [ ] ^ { | }.
Названия, которые нельзя присваивать Alias’ам, приведены в таблице Таблица запрещенных Alias’ов
Префиксы наименований#
D_GEO_ |
пространственные таблицы |
D_ |
семантические таблицы |
A_ |
таблицы подсистемы администрирования |
M_ |
таблицы метаданных |
L_ |
таблицы логов |
D_WF_ |
таблицы подсистемы документооборота |
D_SYS_ |
служебные таблицы (каталоги, задачи,…) |
SYS_ |
служебные таблицы репликации, СМЭВ,…) |
MDRT_ |
таблицы пространственных индексов |
D_REF_ |
таблицы справочников |
D_FILE_ |
таблицы файлов |
V_ |
семантические физические представления |
V_GEO_ |
пространственная физические представления |
D_REL_ |
таблицы связей |
/*+GEOSQL*/ |
SQL запрос, возвращающий геометрию |
Таблица запрещенных Alias’ов#
Alias’ы бизнес-объектов и их полей, а также физические таблицы и их поля запрещено называть:
a
abort
abs
absolute
access
accessed
account
acos
action
activate
active_component
active_function
active_tag
add
add_column
add_group
add_months
adj_date
administer
administrator
advise
advisor
after
aggregate
alias
all
all_rows
allocate
allow
also
alter
always
analyse
analyze
ancillary
and
and_equal
antijoin
any
anyschema
append
append_values
appendchildxml
apply
archive
archivelog
array
as
asc
ascii
asciistr
asin
assembly
assertion
assignment
associate
asymmetric
async
asynchronous
at
atan
atan2
attribute
attributes
audit
authenticated
authentication
authid
authorization
auto
autoallocate
autoextend
automatic
availability
avg
admin
backup
backward
basic
basicfile
batch
become
before
begin
begin_outline_data
behalf
between
bfile
bfilename
bigfile
bigint
bin_to_num
binary
binary_double
binary_double_infinity
binary_double_nan
binary_float
binary_float_infinity
binary_float_nan
bind_aware
binding
bit
bitand
bitmap
bitmap_tree
bitmaps
bits
blob
block
block_range
blocks
blocksize
body
boolean
both
bound
branch
breadth
broadcast
buffer
buffer_cache
buffer_pool
build
bulk
by
bypass_recursive_check
bypass_ujvc
byte
cache
cache_cb
cache_instances
cache_temp_table
call
called
cancel
cardinality
cascade
cascaded
case
cast
catalog
category
ceil
cell_flash_cache
certificate
cfile
chain
chained
change
change_dupkey_error_index
char
char_cs
character
characteristics
chartorowid
check
check_acl_rewrite
checkpoint
child
choose
chr
chunk
class
clear
clob
clone
close
close_cached_open_cursors
cluster
cluster_id
cluster_probability
cluster_set
clustering_factor
co_auth_ind
coalesce
coalesce_sq
coarse
cold
collate
collation
collect
column
column_auth_indicator
column_stats
column_value
columnar
columns
comment
comments
commit
committed
compact
compatibility
compile
complete
compliance
compose
composite
composite_limit
compound
compress
compute
concat
concurrently
configuration
confirm
conforming
connect
connect_by_cb_whr_only
connect_by_combine_sw
connect_by_cost_based
connect_by_elim_dups
connect_by_filtering
connect_by_iscycle
connect_by_isleaf
connect_by_root
connect_time
connection
consider
consistent
const
constant
constraint
constraints
container
content
contents
context
continue
controlfile
conversion
convert
copy
corr
corr_k
corr_s
corrupt_xid
corrupt_xid_all
corruption
cos
cosh
cost
cost_xml_query_rewrite
count
covar_pop
covar_samp
cpu_costing
cpu_per_call
cpu_per_session
crash
create
create_stored_outlines
creation
cross
crossedition
csconvert
csv
cube
cube_gb
cume_dist
cume_distm
current
current_catalog
current_date
current_role
current_schema
current_time
current_timestamp
current_user
currentv
cursor
cursor_sharing_exact
cursor_specific_segment
cv
cycle
d
dangling
data
database
datafile
datafiles
dataobj_to_partition
dataobjno
date
date_mode
day
db_role_change
db_version
dba
dba_recyclebin
dbms_stats
dbtimezone
ddl
deallocate
debug
debugger
dec
decimal
declare
decode
decompose
decr
decrement
decrypt
deduplicate
default
defaults
deferrable
deferred
defined
definer
degree
delay
delete
deletexml
delimiter
delimiters
demand
dense_rank
dense_rankm
dependent
depth
dequeue
deref
deref_no_rewrite
desc
detached
determines
dictionary
dimension
direct_load
direct_path
directory
disable
disable_preset
disable_rpke
disallow
disassociate
discard
disconnect
disk
diskgroup
disks
dismount
distinct
distinguished
distributed
dml
dml_update
do
docfidelity
document
domain
domain_index_filter
domain_index_no_sort
domain_index_sort
double
downgrade
driving_site
drop
drop_column
drop_group
dst_upgrade_insert_conv
dump
dynamic
dynamic_sampling
dynamic_sampling_est_cdn
e
each
edition
editioning
editions
element
eliminate_join
eliminate_oby
eliminate_outer_join
else
empty
empty_blob
empty_clob
enable
enable_preset
encoding
encrypt
encrypted
encryption
end
end_outline_data
enforce
enforced
enqueue
enterprise
entityescaping
entry
enum
error
error_argument
error_on_overlap_time
errors
escape
estimate
evalname
evaluation
event
events
every
except
exceptions
exchange
exclude
excluding
exclusive
execute
exempt
exists
existsnode
exp
expand_gset_to_union
expand_table
expire
explain
explosion
export
expr_corr_check
extends
extension
extent
extents
external
externally
extra
extract
extractvalue
facility
fact
factorize_join
failed
failed_login_attempts
failgroup
false
family
fast
fbtscan
feature_id
feature_set
feature_value
fetch
file
filesystem_like_logging
filter
final
fine
finish
first
first_rows
first_value
firstm
flagger
flash_cache
flashback
float
flob
floor
flush
folder
following
follows
for
force
force_xml_query_rewrite
foreign
forever
forward
fragment_number
freelist
freelists
freepools
freeze
fresh
from
from_tz
full
full_outer_join_to_outer
function
functions
g
gather_plan_statistics
gby_conc_rollup
gby_pushdown
generated
global
global_name
global_topic_enabled
globally
grant
granted
greatest
group
group_by
group_id
grouping
grouping_id
groups
guarantee
guaranteed
guard
h
handler
hash
hash_aj
hash_sj
hashkeys
having
header
heap
help
hextoraw
hextoref
hidden
hide
hierarchy
high
hintset_begin
hintset_end
hold
hot
hour
hwm_brokered
hybrid
id
identified
identifier
identity
idgenerators
idle_time
if
ignore
ignore_optim_embedded_hints
ignore_row_on_dupkey_index
ignore_where_clause
ilike
immediate
immutable
impact
implicit
import
in
in_memory_metadata
in_xquery
include
include_version
including
incr
increment
incremental
indent
index
index_asc
index_combine
index_desc
index_ffs
index_filter
index_join
index_rows
index_rrs
index_rs
index_rs_asc
index_rs_desc
index_scan
index_skip_scan
index_ss
index_ss_asc
index_ss_desc
index_stats
indexed
indexes
indextype
indextypes
indicator
infinite
informational
inherit
inherits
initcap
initial
initialized
initially
initrans
inline
inline_xmltype_nt
inner
inout
input
insensitive
insert
insertchildxml
insertchildxmlafter
insertchildxmlbefore
insertxmlafter
insertxmlbefore
instance
instances
instantiable
instantly
instead
instr
instr2
instr4
instrb
instrc
int
integer
intermediate
internal_convert
internal_use
interpreted
intersect
interval
into
invalidate
invisible
invoker
is
isnull
isolation
isolation_level
iterate
iteration_number
java
job
join
k
keep
keep_duplicates
kerberos
key
key_length
keys
keysize
kill
label
lag
language
large
last
last_day
last_value
lateral
layer
lc_collate
lc_ctype
ldap_reg_sync_interval
ldap_registration
ldap_registration_enabled
lead
leading
leakproof
least
left
length
length2
length4
lengthb
lengthc
less
level
levels
library
life
lifetime
like
like_expand
like2
like4
likec
limit
link
list
listagg
listen
ln
lnnvl
load
lob
lobnvl
lobs
local
local_indexes
localtime
localtimestamp
location
locator
lock
locked
log
log_read_only_violations
logfile
logfiles
logging
logical
logical_reads_per_call
logical_reads_per_session
logoff
logon
long
low
lower
lpad
ltrim
m
main
make_ref
manage
managed
management
manager
manual
mapping
master
match
matched
materialize
materialized
max
maxarchlogs
maxdatafiles
maxextents
maximize
maxinstances
maxlogfiles
maxloghistory
maxlogmembers
maxsize
maxtrans
maxvalue
measure
measures
median
medium
member
memory
merge
merge$actions
merge_aj
merge_const_on
merge_sj
method
migrate
migration
min
minextents
minimize
minimum
mining
minus
minus_null
minute
minvalue
mirror
mirrorcold
mirrorhot
mlslabel
mod
mode
model
model_compile_subquery
model_dontverify_uniqueness
model_dynamic_subquery
model_min_analysis
model_no_analysis
model_pby
model_push_ref
modify
modify_column_type
monitor
monitoring
month
months_between
mount
mountpath
move
movement
multiset
mv_merge
name
named
names
namespace
nan
nanvl
national
native
native_full_outer_join
natural
nav
nchar
nchar_cs
nchr
nclob
needed
nested
nested_table_fast_insert
nested_table_get_refs
nested_table_id
nested_table_set_refs
nested_table_set_setid
network
never
new
new_time
next
next_day
nl_aj
nl_sj
nlj_batching
nlj_index_filter
nlj_index_scan
nlj_prefetch
nls_calendar
nls_characterset
nls_charset_decl_len
nls_charset_id
nls_charset_name
nls_comp
nls_currency
nls_date_format
nls_date_language
nls_initcap
nls_iso_currency
nls_lang
nls_language
nls_length_semantics
nls_lower
nls_nchar_conv_excp
nls_numeric_characters
nls_sort
nls_special_chars
nls_territory
nls_upper
nlssort
no
no_access
no_basetable_multimv_rewrite
no_bind_aware
no_buffer
no_cartesian
no_check_acl_rewrite
no_coalesce_sq
no_connect_by_cb_whr_only
no_connect_by_combine_sw
no_connect_by_cost_based
no_connect_by_elim_dups
no_connect_by_filtering
no_cost_xml_query_rewrite
no_cpu_costing
no_domain_index_filter
no_dst_upgrade_insert_conv
no_eliminate_join
no_eliminate_oby
no_eliminate_outer_join
no_expand
no_expand_gset_to_union
no_expand_table
no_fact
no_factorize_join
no_filtering
no_full_outer_join_to_outer
no_gby_pushdown
no_index
no_index_ffs
no_index_ss
no_load
no_merge
no_model_push_ref
no_monitor
no_monitoring
no_multimv_rewrite
no_native_full_outer_join
no_nlj_batching
no_nlj_prefetch
no_order_rollups
no_outer_join_to_anti
no_outer_join_to_inner
no_parallel
no_parallel_index
no_partial_commit
no_place_distinct
no_place_group_by
no_pq_map
no_prune_gsets
no_pull_pred
no_push_pred
no_push_subq
no_px_join_filter
no_qkn_buff
no_query_transformation
no_ref_cascade
no_result_cache
no_rewrite
no_semijoin
no_set_to_join
no_sql_tune
no_star_transformation
no_statement_queuing
no_stats_gsets
no_subquery_pruning
no_substrb_pad
no_swap_join_inputs
no_table_lookup_by_nl
no_temp_table
no_transform_distinct_agg
no_unnest
no_use_hash
no_use_hash_aggregation
no_use_hash_gby_for_pushdown
no_use_invisible_indexes
no_use_merge
no_use_nl
no_xdb_fastpath_insert
no_xml_dml_rewrite
no_xml_query_rewrite
no_xmlindex_rewrite
no_xmlindex_rewrite_in_select
noappend
noarchivelog
noaudit
nocache
nocompress
nocpu_costing
nocycle
nodelay
noentityescaping
noforce
noguarantee
nolocal
nologging
nomapping
nomaxvalue
nominimize
nominvalue
nomonitoring
nonblocking
none
nonschema
noorder
nooverride
noparallel
noparallel_index
norely
norepair
noresetlogs
noreverse
norewrite
normal
norowdependencies
noschemacheck
nosegment
nosort
nostrict
noswitch
not
nothing
notification
notify
notnull
novalidate
nowait
nth_value
ntile
null
nullif
nulls
num_index_keys
number
numeric
numtodsinterval
numtoyminterval
nvarchar2
nvl
nvl2
object
object2xml
objno
objno_reuse
occurences
of
off
offline
offset
oid
oidindex
oids
olap
old
old_push_pred
oltp
on
online
only
opaque
opaque_transform
opaque_xcanonical
opcode
open
operations
operator
opt_estimate
opt_param
optimal
optimizer_features_enable
optimizer_goal
option
options
or
or_expand
or_predicates
ora_branch
ora_checkacl
ora_dst_affected
ora_dst_convert
ora_dst_error
ora_get_aclids
ora_get_privileges
ora_hash
ora_rowscn
ora_rowscn_raw
ora_rowversion
ora_tabversion
oradebug
order
ordered
ordered_predicates
ordinality
organization
other
out
out_of_line
outer
outer_join_to_anti
outer_join_to_inner
outline
outline_leaf
over
overflow
overflow_nomove
overlaps
overlay
own
owned
owner
ownership
p
package
packages
parallel
parallel_index
param
parameters
parent
parity
parser
part$num$inst
partial
partially
partition
partition_hash
partition_list
partition_range
partitions
passing
password
password_grace_time
password_life_time
password_lock_time
password_reuse_max
password_reuse_time
password_verify_function
path
paths
pbl_hs_begin
pbl_hs_end
pctfree
pctincrease
pctthreshold
pctused
pctversion
pending
percent
percent_rank
percent_rankm
percentile_cont
percentile_disc
performance
permanent
permission
pfile
physical
pikey
piv_gb
piv_ssf
pivot
place_distinct
place_group_by
placing
plan
plans
plscope_settings
plsql_ccflags
plsql_code_type
plsql_debug
plsql_optimize_level
plsql_warnings
point
policy
position
post_transaction
power
powermultiset
powermultiset_by_cardinality
pq_distribute
pq_map
pq_nomap
prebuilt
precedes
preceding
precision
precompute_subquery
predicate_reorders
prediction
prediction_bounds
prediction_cost
prediction_details
prediction_probability
prediction_set
prepare
prepared
present
presentnnv
presentv
preserve
preserve_oid
previous
primary
prior
private
private_sga
privilege
privileges
procedural
procedure
process
profile
program
project
propagate
protected
protection
public
pull_pred
purge
push_pred
push_subq
px_granule
px_join_filter
qb_name
query
query_block
queue
queue_curr
queue_rowp
quiesce
quorum
quota
quote
random
random_local
range
rank
rankm
rapidly
ratio_to_report
raw
rawtohex
rawtonhex
rba
rbo_outline
rdba
read
reads
real
reassign
rebalance
rebuild
recheck
records_per_block
recover
recoverable
recovery
recursive
recycle
recyclebin
redo
reduced
redundancy
ref
ref_cascade_cursor
reference
referenced
references
referencing
refresh
reftohex
regexp_count
regexp_instr
regexp_like
regexp_replace
regexp_substr
register
regr_avgx
regr_avgy
regr_count
regr_intercept
regr_r2
regr_slope
regr_sxx
regr_sxy
regr_syy
regular
reindex
reject
rekey
relational
relative
release
rely
remainder
remote_mapped
remove
rename
repair
repeat
repeatable
replace
replica
replication
required
reset
resetlogs
resize
resolve
resolver
resource
respect
restart
restore
restore_as_intervals
restrict
restrict_all_ref_cons
restricted
result_cache
resumable
resume
retention
retry_on_row_change
return
returning
returns
reuse
reverse
revoke
rewrite
rewrite_or_error
right
role
roles
rollback
rolling
rollup
round
row
row_length
row_number
rowdependencies
rowid
rowidtochar
rowidtonchar
rownum
rows
rpad
rtrim
rule
rules
salt
sample
save_as_intervals
savepoint
sb4
scale
scale_rows
scan
scan_instances
scheduler
schema
schemacheck
scn
scn_ascending
scope
scroll
sd_all
sd_inhibit
sd_show
search
second
securefile
securefile_dba
security
seed
seg_block
seg_file
segment
select
selectivity
semijoin
semijoin_driver
sequence
sequenced
sequences
sequential
serializable
server
servererror
session
session_cached_cursors
session_user
sessions_per_user
sessiontimezone
sessiontzname
set
set_to_join
setof
sets
settings
severe
share
shared
shared_pool
show
shrink
shutdown
siblings
sid
sign
signal_component
signal_function
similar
simple
sin
single
singletask
sinh
size
skip
skip_ext_optimizer
skip_unq_unusable_idx
skip_unusable_indexes
smallfile
smallint
snapshot
some
sort
soundex
source
space
specification
spfile
split
spreadsheet
sql
sql_trace
sqlldr
sqrt
stable
stale
standalone
standby
standby_max_data_delay
star
star_transformation
start
startup
statement
statement_id
statement_queuing
statements
static
statistics
stats_binomial_test
stats_crosstab
stats_f_test
stats_ks_test
stats_mode
stats_mw_test
stats_one_way_anova
stats_t_test_indep
stats_t_test_indepu
stats_t_test_one
stats_t_test_paired
stats_wsr_test
stddev
stddev_pop
stddev_samp
stdin
stdout
stop
storage
store
streams
strict
string
strip
stripe_columns
stripe_width
structure
submultiset
subpartition
subpartition_rel
subpartitions
subqueries
subquery_pruning
substitutable
substr
substr2
substr4
substrb
substrc
substring
successful
sum
summary
supplemental
suspend
swap_join_inputs
switch
switchover
symmetric
sync
synchronous
synonym
sys_audit
sys_checkacl
sys_connect_by_path
sys_context
sys_dburigen
sys_dl_cursor
sys_dm_rxform_chr
sys_dm_rxform_num
sys_dom_compare
sys_dst_prim2sec
sys_dst_sec2prim
sys_et_bfile_to_raw
sys_et_blob_to_image
sys_et_image_to_blob
sys_et_raw_to_bfile
sys_extpdtxt
sys_extract_utc
sys_fbt_insdel
sys_filter_acls
sys_fnmatches
sys_fnreplace
sys_get_aclids
sys_get_privileges
sys_gettokenid
sys_getxtival
sys_guid
sys_make_xmlnodeid
sys_makexml
sys_mkxmlattr
sys_op_adt2bin
sys_op_adtcons
sys_op_alscrval
sys_op_atg
sys_op_bin2adt
sys_op_bitvec
sys_op_bl2r
sys_op_bloom_filter
sys_op_bloom_filter_list
sys_op_c2c
sys_op_cast
sys_op_ceg
sys_op_cl2c
sys_op_combined_hash
sys_op_comp
sys_op_convert
sys_op_countchg
sys_op_csconv
sys_op_csconvtest
sys_op_csr
sys_op_csx_patch
sys_op_decomp
sys_op_descend
sys_op_distinct
sys_op_dra
sys_op_dump
sys_op_dv_check
sys_op_enforce_not_null$
sys_op_extract
sys_op_grouping
sys_op_guid
sys_op_iix
sys_op_itr
sys_op_lbid
sys_op_lobloc2blob
sys_op_lobloc2clob
sys_op_lobloc2id
sys_op_lobloc2nclob
sys_op_lobloc2typ
sys_op_lsvi
sys_op_lvl
sys_op_makeoid
sys_op_map_nonnull
sys_op_msr
sys_op_nicombine
sys_op_niextract
sys_op_nii
sys_op_nix
sys_op_noexpand
sys_op_ntcimg$
sys_op_numtoraw
sys_op_oidvalue
sys_op_opnsize
sys_op_par
sys_op_par_1
sys_op_pargid
sys_op_pargid_1
sys_op_pivot
sys_op_r2o
sys_op_rawtonum
sys_op_rdtm
sys_op_ref
sys_op_rmtd
sys_op_rowidtoobj
sys_op_rpb
sys_op_tosetid
sys_op_tpr
sys_op_trtb
sys_op_undescend
sys_op_vecand
sys_op_vecbit
sys_op_vecor
sys_op_vecxor
sys_op_version
sys_op_vref
sys_op_vvd
sys_op_xmlcons_for_csx
sys_op_xpthatg
sys_op_xpthidx
sys_op_xpthop
sys_op_xtxt2sqlt
sys_optlobprbsc
sys_optxicmp
sys_optxqcastasnq
sys_orderkey_depth
sys_orderkey_maxchild
sys_orderkey_parent
sys_parallel_txn
sys_path_reverse
sys_pathid_is_attr
sys_pathid_is_nmspc
sys_pathid_lastname
sys_pathid_lastnmspc
sys_pxqextract
sys_rid_order
sys_row_delta
sys_sc_2_xmlt
sys_synrciredo
sys_typeid
sys_umakexml
sys_xmlanalyze
sys_xmlcontains
sys_xmlconv
sys_xmlexnsuri
sys_xmlgen
sys_xmli_loc_isnode
sys_xmli_loc_istext
sys_xmlinstr
sys_xmllocator_getsval
sys_xmlnodeid
sys_xmlnodeid_getcid
sys_xmlnodeid_getlocator
sys_xmlnodeid_getokey
sys_xmlnodeid_getpathid
sys_xmlnodeid_getptrid
sys_xmlnodeid_getrid
sys_xmlnodeid_getsval
sys_xmlnodeid_gettid
sys_xmlt_2_sc
sys_xmltranslate
sys_xmltype2sql
sys_xq_asqlcnv
sys_xq_atomcnvchk
sys_xq_nrng
sys_xq_pksql2xml
sys_xq_upkxml2sql
sys_xqbaseuri
sys_xqcastableerrh
sys_xqcodep2str
sys_xqcodepeq
sys_xqcon2seq
sys_xqconcat
sys_xqdelete
sys_xqdfltcolation
sys_xqdoc
sys_xqdocuri
sys_xqdurdiv
sys_xqed4uri
sys_xqendswith
sys_xqerr
sys_xqerrh
sys_xqeshtmluri
sys_xqexlobval
sys_xqexstwrp
sys_xqextract
sys_xqextrref
sys_xqexval
sys_xqfb2str
sys_xqfnbool
sys_xqfncmp
sys_xqfndatim
sys_xqfnlname
sys_xqfnnm
sys_xqfnnsuri
sys_xqfnpredtruth
sys_xqfnqnm
sys_xqfnroot
sys_xqformatnum
sys_xqftcontain
sys_xqfuncr
sys_xqgetcontent
sys_xqindxof
sys_xqinsert
sys_xqinspfx
sys_xqiri2uri
sys_xqlang
sys_xqllnmfrmqnm
sys_xqmknoderef
sys_xqnilled
sys_xqnodename
sys_xqnormspace
sys_xqnormucode
sys_xqnsp4pfx
sys_xqnspfrmqnm
sys_xqpfxfrmqnm
sys_xqpolyabs
sys_xqpolyadd
sys_xqpolycel
sys_xqpolycst
sys_xqpolycstbl
sys_xqpolydiv
sys_xqpolyflr
sys_xqpolymod
sys_xqpolymul
sys_xqpolyrnd
sys_xqpolysqrt
sys_xqpolysub
sys_xqpolyumus
sys_xqpolyupls
sys_xqpolyveq
sys_xqpolyvge
sys_xqpolyvgt
sys_xqpolyvle
sys_xqpolyvlt
sys_xqpolyvne
sys_xqref2val
sys_xqrename
sys_xqreplace
sys_xqresvuri
sys_xqrndhalf2evn
sys_xqrslvqnm
sys_xqryenvpget
sys_xqryvarget
sys_xqrywrp
sys_xqseq2con
sys_xqseq2con4xc
sys_xqseqdeepeq
sys_xqseqinsb
sys_xqseqrm
sys_xqseqrvs
sys_xqseqsub
sys_xqseqtypmatch
sys_xqstartswith
sys_xqstatburi
sys_xqstr2codep
sys_xqstrjoin
sys_xqsubstraft
sys_xqsubstrbef
sys_xqtokenize
sys_xqtreatas
sys_xqxform
sysasm
sysaux
sysdate
sysdba
sysid
sysoper
system
system_defined
systimestamp
t
table
table_lookup_by_nl
table_stats
tables
tablespace
tablespace_no
tabno
tan
tanh
tbl$or$idx$part$num
temp
temp_table
tempfile
template
temporary
test
text
than
the
then
thread
through
time
time_zone
timeout
times
timestamp
timezone_abbr
timezone_hour
timezone_minute
timezone_offset
timezone_region
tiv_gb
tiv_ssf
to
to_binary_double
to_binary_float
to_blob
to_char
to_clob
to_date
to_dsinterval
to_lob
to_multi_byte
to_nchar
to_nclob
to_number
to_single_byte
to_time
to_time_tz
to_timestamp
to_timestamp_tz
to_yminterval
toplevel
trace
tracing
tracking
trailing
transaction
transform_distinct_agg
transition
transitional
translate
treat
trigger
triggers
trim
true
trunc
truncate
trusted
tuning
tx
type
types
tz_offset
u
ub2
uba
uid
unarchived
unbound
unbounded
uncommitted
under
undo
undrop
unencrypted
uniform
union
unique
unistr
unknown
unlimited
unlisten
unload
unlock
unlogged
unnest
unpacked
unpivot
unprotected
unquiesce
unrecoverable
unrestricted
until
unusable
unused
upd_indexes
upd_joinindex
updatable
update
updated
updatexml
upgrade
upper
upsert
urowid
usage
use
use_anti
use_concat
use_hash
use_hash_aggregation
use_hash_gby_for_pushdown
use_invisible_indexes
use_merge
use_merge_cartesian
use_nl
use_nl_with_index
use_private_outlines
use_semi
use_stored_outlines
use_ttt_for_gsets
use_weak_name_resl
user
user_defined
user_recyclebin
userenv
usergroup
users
using
vacuum
valid
validate
validation
validator
value
values
var_pop
var_samp
varchar
varchar2
variadic
variance
varray
varrays
varying
vector_read
vector_read_trace
verbose
verify
version
versioning
versions
versions_endscn
versions_endtime
versions_operation
versions_startscn
versions_starttime
versions_xid
view
views
virtual
visible
volatile
volume
vsize
wait
wallet
wellformed
when
whenever
where
whitespace
width_bucket
window
with
within
without
work
wrapped
wrapper
write
x_dyn_prune
xdb_fastpath_insert
xid
xml
xml_dml_rwt_stmt
xml2object
xmlattributes
xmlcast
xmlcdata
xmlcolattval
xmlcomment
xmlconcat
xmldiff
xmlelement
xmlexists
xmlexists2
xmlforest
xmlindex_rewrite
xmlindex_rewrite_in_select
xmlindex_sel_idx_tbl
xmlisnode
xmlisvalid
xmlnamespaces
xmlparse
xmlpatch
xmlpi
xmlquery
xmlroot
xmlschema
xmlserialize
xmltable
xmltransform
xmltransformblob
xmltype
xpathtable
xs_sys_context
year
yes
zon