Классы пространственных объектов в базе геоданных в 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>

Связанные темы

5/10/2014