Классы пространственных объектов в базе геоданных в PostgreSQL
Класс объектов – это набор географических объектов с одинаковым типом геометрии (точка, линия, полигон, мультиточка, аннотация, размер или мультипатч). Например, можно сохранить точки для всех железнодорожных станций вдоль линии железной дороги в одном классе объектов. В другом классе объектов можно сохранить линии, которые изображают все железнодорожные пути.
Этот раздел содержит описание способов отображения класса объектов в окне каталога, в системе управления базами данных (СУБД), а также в XML-документе.
Классы пространственных объектов в ArcGIS for Desktop
В программном обеспечении ArcGIS for Desktop можно создать семь типов классов объектов: точка, мультиточка, линия, полигон, аннотация, размер или мультипатч.
Определить тип класса объектов в дереве каталога можно по его значку. В следующей таблице представлен значок для каждого типа класса объектов.
Значок класса объектов |
Тип класса объектов |
---|---|
Точка или мультиточка |
|
Линия |
|
Полигон |
|
Аннотация |
|
Размер |
|
Мультипатч |
В PostgreSQL, имя класса объектов, отображающееся в дереве Каталога, включает название базы данных, в которой он находится, имя пользователя, которому принадлежит этот класс и собственно имя класса объектов.
Например, класс объектов parcels, принадлежащий пользователю harley, в базе геоданных stegageo обозначается в дереве Каталога как stegageo.harley.parcels.
Описание различных типов классов объектов см. в разделе Классы пространственных объектов.Основные понятия.
Классы пространственных объектов в базе данных PostgreSQL
Классы пространственных объектов баз геоданных, работающех в базах данных PostgreSQL, используют один из двух типов хранения геометрии: ST_Geometry или PostGIS геометрию.
Все классы объектов имеют базовую таблицу (также называемую бизнес-таблицей), в которой хранится информация атрибутов, идентификатор объекта и поле Форма (Shape). Поля Идентификатор объекта (Object ID) и Форма (Shape) могут иметь различные имена, но должны присутствовать в базовой таблице класса объектов.
Классам объектов аннотаций и размеров в базовых таблицах соответствуют дополнительные требуемые поля. Список этих полей см. в разделах Управление свойствами класса объектов аннотаций и Свойства объекта размера.
Классы пространственных объектов в базе данных PostgreSQL, использующие способ хранения ST_Geometry
По умолчанию, классы объектов, созданные в базах геоданных, работающих под управлением PostgreSQL СУБД используют тип хранения ST_Geometry. Это означает, что столбец ST_Geometry добавляется к бизнес-таблице класса объектов для хранения пространственного атрибута.
ST_Geometry – это абстрактный суперкласс без возможности создания экземпляров, подклассы которого допускают создание экземпляров. Дополнительные сведения см. в разделе Что такое тип хранилища ST_Geometry?.
Когда в приложении ArcGIS с помощью хранилища ST_Geometry создается класс объектов, в схеме владельца формируется бизнес-таблица со столбцом ST_Geometry. Кроме того, для отслеживания информации о классе объектов в таблицы sde_layers, sde_table_registry, sde_geometry_columns, sde_column_registry, sde_spatial_references (если была определена пространственная привязка) и gdb_items схемы пользователя sde добавляются записи. Таблица gdb_itemtypes в схеме пользователя sde определяет тип данных, к которому в данном случае относится класс объектов.
После загрузки данных в базе данных будут присутствовать несколько i-таблиц и сохраненных процедур. Сохраненные процедуры и i-таблицы используются с целью создания ID объектов для классов объектов. I-таблицы содержат в своих именах число. Это число соответствует атрибуту registration_id класса объектов в таблице sde_table_registry. Редактирование этих таблиц или сохраненных процедур не поддерживается и настоятельно не рекомендуется.
View a diagram of a feature class using ST_Geometry storage in PostgreSQL.
Для открытия файла необходим Adobe Acrobat Reader.
Пунктирные линии указывают на неявные отношения между столбцами; сплошные линии указывают на явные отношения между столбцами.
Классы пространственных объектов в базе данных PostgreSQL, использующие способ хранения PostGIS
Если вы установили PostGIS и создали базу данных с помощью шаблона PostGIS, для создания классов объектов можно использовать пространственные типы extended well-known text (EWKT) и extended well-known binary (EWKB). При этом, в бизнес-таблицу добавляется столбец геометрии для хранения геометрии объекта. В базе геоданных, такой тип хранения называется PG_GEOMETRY.
По умолчанию, параметру GEOMETRY_STORAGE в ключевом слове конфигурации DEFAULTS DBTUNE присваивается значение ST_GEOMETRY. Если вы хотите использовать тип хранения PG_GEOMETRY для большинства классов объектов, можно изменить параметр GEOMETRY_STORAGE в ключевом слове DEFAULTS на PG_GEOMETRY. (Используйте команду sdedbtune для изменения параметра DBTUNE.) Или, можно задать ключевое слово PG_GEOMETRY при создании класса объектов с помощью ArcGIS или с использованием команд ArcSDE. Для классов объектов, созданных в ArcGIS с использованием типа хранения PG_GEOMETRY, в схеме пользователя создается бизнес-таблица со столбцом геометрии. Записи добавляются во все одинаковые таблицы в схеме SDE, как классы объектов, использующие хранение ST_GEOMETRY. Кроме того, запись добавляется в таблицу geometry_columns в схеме public. Поэтому, любой пользователь, создающий данные с типом хранения PG_GEOMETRY должен иметь права SELECT, INSERT, UPDATE и DELETE в таблице public.geometry_columns.
Поскольку не существует функции PostGIS для обновления имени таблицы, хранящейся в таблице public.geometry_columns, переименовать класс объектов, созданный с помощью PG_GEOMETRY, нельзя. Переименование класса объектов приведет к появлению висячей строки в таблице public.geometry_storage.
View a diagram of a feature class using PostGIS geometry storage in PostgreSQL.
Для открытия файла необходим Adobe Acrobat Reader.
Пунктирные линии указывают на неявные отношения между столбцами; сплошные линии указывают на явные отношения между столбцами.
Для получения более подробной информации о типе хранения геометрии PostGIS см. раздел ArcGIS и тип геометрии PostGIS.
Классы пространственных объектов, хранящиеся в XML-документе рабочей области
Классы объектов определены в элементах DataElement. Тип тегов DataElement для класса объектов настроен со значением esri:DEFeatureClass. В элементе DataElement класса объектов находятся другие элементы, которые определяют класс объектов, такие как элементы Поле (Field), Домен (Domain), Ключевое слово конфигурации (ConfigurationKeyword) и Пространственная привязка (SpatialReference).
<DataElement xsi:type="esri:DEFeatureClass">
<CatalogPath>/V=sde.DEFAULT/FC=stegageo.harley.parcels</CatalogPath>
<Name>stegageo.harley.parcels</Name>
<DatasetType>esriDTFeatureClass</DatasetType>
<DSID>13</DSID>
<Versioned>true</Versioned>
<CanVersion>true</CanVersion>
<HasOID>true</HasOID>
<OIDFieldName>objectid</OIDFieldName>
<Fields xsi:type="esri:Fields">
<FieldArray xsi:type="esri:ArrayOfField">
<Field xsi:type="esri:Field">
<Name>objectid</Name>
<Type>esriFieldTypeOID</Type>
<IsNullable>false</IsNullable>
<Length>4</Length>
<Precision>10</Precision>
<Scale>0</Scale>
<Required>true</Required>
<Editable>false</Editable>
<AliasName>OBJECTID</AliasName>
<ModelName>OBJECTID</ModelName>
</Field>
Все остальные элементы, определяющие класс объектов
</DataElement>