Наборы данных terrain в базе геоданных в PostgreSQL

Наборы данных Terrain – это поверхности, представляющие трехмерное пространство. Они используют измерения (хранящиеся как классы пространственных объектов) и правила для создания пирамид нерегулярной триангуляционной сети (TIN) для воссоздания рельефа.

Источник класса пространственных объектов может быть привязан к наборам данных terrain или внедрен в набор данных terrain.

Для объяснения набора данных terrain см. руководство "Разбираемся с наборами данными terrain". Вы можете начать с раздела Что такое набор данных terrain?

Terrain в ArcGIS for Desktop

В дереве каталога наборы данных terrain выглядят аналогично другим наборам классов, но содержат terrain. Наборы данных terrain представляются следующим значком:

Имя набора данных terrain в базе геоданных в PostgreSQL содержит имя базы данных, имя владельца локатора и имя, собственно, локатора.

Например, набор данных terrain topography_terrain, принадлежащий пользователю sasha, в базе геоданных m8db обозначается в дереве Каталога как m8db.sasha.topograhy_terrain.

Вы можете видеть классы пространственных объектов, участвующие в terrain – topo_break_lines, topo_clip_poly, topo_mass_points и topo_water_poly. Чтобы узнать, имеются ли встроенные в набор данных terrain классы объектов, откройте свойства terrain. Щелкните terrain правой кнопкой мыши и выберите закладку Источники данных (Data Sources). Здесь приводится список всех классов объектов, использованных при создании terrain. В этом примере, при создании terrain не использовались внедренные классы объектов. Если бы они были, в списке в диалоговом окне Свойства terrain был бы указан дополнительный класс объектов, не отображающийся в наборе классов объектов в дереве Каталога, и содержащий значение Yes в столбце Embedded.

Свойства Источника данных terrain
В диалоговом Свойства источника данных terrain отображаются классы объектов, использованные как источники данных для построения данного terrain.

Наборы данных terrain в базе данных PostgreSQL

Являясь наборами данных, terrain управляются в базе геоданных с использованием таблиц, аналогичных наборам классов объектов, также имеются три специальные terrain таблицы, созданные в схеме пользователя, который создал набор данных terrain. Это следующие таблицы:

dtm_<id>_compositetiles

Составные листы являются неполными, в терминах покрытия данных, по их периметру. Они могут не содержать полностью всех измерений или только близости одного или нескольких углов. Для определения поверхности, покрывающей экстенты этих листов, используются данные из окружающих листов. Данная таблица используется для идентификации листов, которые являются составными, а также предоставление данных для их завершения соседними листами. На один составной лист используется одна запись.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор формы, указывающей на соседние листы

NOT NULL

tilenr

integer

Номер составного листа

Определяется системой листа набора данных terrain. Для одной записи, содержащей центроиды листов периметра terrain, зарезервировано значение -1.

NOT NULL

emptytile

smallint

Значение -1 указывает, что лист не содержит измерений. Значение 0 указывает, что лист содержит некоторые данные, но не является полным.

NOT NULL

othertiles

st_geometry

Форма мультиточки хранит центроид листа для каждого окружающего листа, который предоставляет измерения для завершения составного листа

dtm_<id>_dirtyarea

Измененные области представляют собой листы, ставшие недействительными в результате редактирования классов объектов в одном или более участвующих в построении классе пространственных объектов. Данная таблица используется для слежения за недействительными листами, и записи классов объектов, в которых было выполнено редактирование. Для одного класса пространственных объектов, в котором было выполнено редактирование, используется одна запись. Таблица будет пустой только в том случае, если редактирование не выполняется.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор формы

NOT NULL

classid

integer

Идентификатор класса пространственных объектов, являющегося источником редактирования

NOT NULL

tilecount

integer

Количество измененных листов в процессе редактирования класса пространственных объектов

NOT NULL

dirtyarea

st_geometry

Форма мультиточки содержит центроиды листов, ставших недействительными в результате редактирования класса пространственных объектов.

NOT NULL

dtm_<id>_embed_#

Таблицы Embed используется для хранения класса объектов мультиточки. Может существовать 0..n embed таблиц. Их наличие зависит от того, имеет ли terrain внедренные данные. Для внедренного класса объектов используется одна таблица. Являясь частью структуры пирамиды таблица embed имеет двойную цель. Внедренные данные группируются по листу и уровню слоя пирамиды.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор формы

NOT NULL

tilerow

integer

Номер строки листа terrain, которому принадлежат внедренные точки

tilecol

integer

Номер столбца листа terrain, которому принадлежат внедренные точки

resolution

numeric(38,8)

Указывает уровень или уровни пирамиды, в которых используются точки.

Так как уровни пирамидных слоев являются кумулятивными, данные точки участвуют в уровнях, разрешение которых равно или превосходит их. Специальный случай включает обзор terrain. Разрешение уровня обзора отмечено значением -1. Точки, имеющие данное значение, участвуют в построении всех пирамидных слоев.

pointcount

integer

Число точек в мультиточке

NOT NULL

neighbordata

smallint

Указывает на то, имеются ли точки внутри границы рамки листа; наружные точки используются для обеспечения полного покрытия площади листа. Значение 0 указывает, что точки находятся внутри листа. Значение -1 указывает, что точки находятся снаружи

NOT NULL

shape

st_geometry

Внедренный тип геометрии мультиточка

dtm_<id>_insidetiles

Таблица InsideTiles используется для записи листов terrain, которые находятся в области данных или зоне интерполяции объекта terrain. Эти данные записываются на уровень пирамиды, так как экстент может изменятся по уровням (например, с использованием различных классов объекта вырезания полигона в различных уровнях пирамиды). Одному уровню пирамиды соответствует одна запись. К ним относятся обзор и уровни полного разрешения.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор формы

NOT NULL

ztolerance

numeric(38,8)

Разрешение уровня пирамиды A со значением -1 указывает на уровень обзора.

NOT NULL

insidetiles

st_geometry

Тип геометрии мультиточка содержит данные о центроидах листа

dtm_<id>_mrfc

MRFC представляет собой структуру пирамиды для невнедренных классов пространственных объектов. Облака точке и вершины линий перегиба для связанных классов пространственных объектов хранятся при условии, что они участвуют в уровне полного разрешения пирамиды (они могут также участвовать и в других уровнях). Данные группируются по листу и уровню слоя пирамиды.

Имя поля

Тип поля

Описание

Null?

id

integer

Уникальный идентификатор формы

NOT NULL

tilerow

integer

Номер строки листа terrain, которому принадлежат внедренные точки

tilecol

integer

Номер столбца листа terrain, которому принадлежат точки пирамиды/вершины

resolution

numeric(38,8)

Указывает уровень или уровни пирамиды, в которых используются точки.

Так как уровни пирамидных слоев являются кумулятивными, данные точки участвуют в уровнях, разрешение которых равно или превосходит их. Специальный случай включает обзор terrain. Разрешение уровня обзора отмечено значением -1. Точки, имеющие данное значение, участвуют в построении всех пирамидных слоев.

pointcount

integer

Число точек в мультиточке

NOT NULL

neighbordata

smallint

Указывает на то, имеются ли точки внутри границы рамки листа; наружные точки используются для обеспечения полного покрытия площади листа. Значение 0 указывает, что точки находятся внутри листа. Значение -1 указывает, что точки находятся снаружи

NOT NULL

shape

st_geometry

Тип геометрии мультиточка

dtm_<id>_props

Таблица terrain props используется для хранения свойств отдельного набора данных terrain, характерных для версии. К ним относится число точек и экстент. Информация хранится в таблице BLOB и не доступна для пользователя по всей таблице. Вместо нее для доступа к информации используется ArcObjects API.

Имя поля

Тип поля

Описание

Null?

id

integer

Идентификатор объекта для записи

NOT NULL

properties

bytea

Хранит свойства набора данных, характерные для версии

Запись также создается в таблице gdb_items для слежения за набором данных terrain. Значение id в именах таблиц terrain получается из поля objectid таблицы gdb_items.

Поскольку наборы данных terrain являются частью набора классов объектов, они также записываются в таблицу gdb_itemrelationships. Набор классов объектов uuid соответствует originid и класс объектов uuid является destid в таблице gdb_itemrelationships. Дополнительные таблицы набора данных terrain показаны здесь. Значение 1 в таблице имен DTM_* берется из поля objectid таблицы gdb_items.

ПримечаниеПримечание:

Поскольку в этом наборе данных нет внедренных классов объектов, соответствующая таблица dtm_1_embed не была создана.

Таблицы набора данных terrain в PostgreSQL

Штриховые линии определяют неявные отношения между столбцами.

ПримечаниеПримечание:

Использование набора данных terrain ограничено при применении метода хранения геометрии PostGIS.

Наборы данных terrain в XML-документе рабочей области

Наборы данных Terrain указаны в XML-документе типом набора данных ersriDTTerrain.

<DatasetType>esriDTTerrain</DatasetType>

Ниже показана часть документа XML для набора данных terrain. Документ XML excerpt, показанный ниже, содержит определение набора данных, включая источники данных, до момента описания первого класса объектов в наборе данных.

<esri:Workspace xmlns:esri="http://www.esri.com/schemas/ArcGIS/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <WorkspaceDefinition xsi:type="esri:WorkspaceDefinition">
  <WorkspaceType>esriRemoteDatabaseWorkspace</WorkspaceType> 
  <Version>sde.DEFAULT</Version> 
  <Domains xsi:type="esri:ArrayOfDomain" /> 
  <DatasetDefinitions xsi:type="esri:ArrayOfDataElement">
    <DataElement xsi:type="esri:DEFeatureDataset">
      <CatalogPath>/V=sde.DEFAULT/FD=m8db.sasha.topography</CatalogPath> 
      <Name>m8db.sasha.topography</Name> 
      <Children xsi:type="esri:ArrayOfDataElement">
        <DataElement xsi:type="esri:DETerrain">
          <Version>1</Version> 
              <CatalogPath>/V=sde.DEFAULT/FD=m8db.sasha.topography/TERR=m8db.sasha.topography_terrain</CatalogPath> 
          <Name>m8db.sasha.topography_terrain</Name> 
          <DatasetType>esriDTTerrain</DatasetType> 
          <DSID>1</DSID> 
          <FeatureDatasetName>m8db.sasha.topography</FeatureDatasetName> 
          <Versioned>false</Versioned> 
          <CanVersion>false</CanVersion> 
          <ChildrenExpanded>true</ChildrenExpanded> 
          <MetadataRetrieved>false</MetadataRetrieved> 
          <FullPropsRetrieved>true</FullPropsRetrieved> 
          <PyramidType>0</PyramidType> 
          <TileSize>6000</TileSize> 
          <MaxShapeSize>5000</MaxShapeSize> 
          <MaxOverviewSize>50000</MaxOverviewSize> 
          <TerrainDataSources xsi:type="esri:ArrayOfTerrainDataSource">
            <TerrainDataSource xsi:type="esri:TerrainDataSource">
              <Version>1</Version> 
              <FeatureClassID>874</FeatureClassID> 
              <FeatureClassName>m8db.sasha.topo_break_lines</FeatureClassName> 
              <GroupID>2</GroupID> 
              <SourceStatus>1</SourceStatus> 
              <SourceType>0</SourceType> 
              <SurfaceFeatureType>1</SurfaceFeatureType> 
              <IsBase>true</IsBase> 
              <ApplyToOverview>false</ApplyToOverview> 
              <AutoGeneralize>false</AutoGeneralize> 
              <ResolutionLowerBound>0</ResolutionLowerBound> 
              <ResolutionUpperBound>2.6</ResolutionUpperBound> 
              <SourceName /> 
              <HeightField>Shape</HeightField> 
              <TagValueField /> 
              <ReservedFields xsi:type="esri:ArrayOfString" /> 
           </TerrainDataSource>
           <TerrainDataSource xsi:type="esri:TerrainDataSource">
              <Version>1</Version> 
              <FeatureClassID>873</FeatureClassID> 
              <FeatureClassName>m8db.sasha.topo_clip_poly</FeatureClassName> 
              <GroupID>3</GroupID> 
              <SourceStatus>1</SourceStatus> 
              <SourceType>0</SourceType> 
              <SurfaceFeatureType>10</SurfaceFeatureType> 
              <IsBase>false</IsBase> 
              <ApplyToOverview>true</ApplyToOverview> 
              <AutoGeneralize>false</AutoGeneralize> 
              <ResolutionLowerBound>0</ResolutionLowerBound> 
              <ResolutionUpperBound>31</ResolutionUpperBound> 
              <SourceName /> 
              <HeightField /> 
              <TagValueField /> 
              <ReservedFields xsi:type="esri:ArrayOfString" /> 
           </TerrainDataSource>
           <TerrainDataSource xsi:type="esri:TerrainDataSource">
              <Version>1</Version> 
              <FeatureClassID>873</FeatureClassID> 
              <FeatureClassName>m8db.sasha.topo_mass_points</FeatureClassName> 
              <GroupID>4</GroupID> 
              <SourceStatus>1</SourceStatus> 
              <SourceType>0</SourceType> 
              <SurfaceFeatureType>2</SurfaceFeatureType> 
              <IsBase>false</IsBase> 
              <ApplyToOverview>true</ApplyToOverview> 
              <AutoGeneralize>false</AutoGeneralize> 
              <ResolutionLowerBound>0</ResolutionLowerBound> 
              <ResolutionUpperBound>31</ResolutionUpperBound> 
              <SourceName /> 
              <HeightField /> 
              <TagValueField /> 
              <ReservedFields xsi:type="esri:ArrayOfString" /> 
           </TerrainDataSource>
           <TerrainDataSource xsi:type="esri:TerrainDataSource">
              <Version>1</Version> 
              <FeatureClassID>873</FeatureClassID> 
              <FeatureClassName>m8db.sasha.topo_water_poly</FeatureClassName> 
              <GroupID>3</GroupID> 
              <SourceStatus>1</SourceStatus> 
              <SourceType>0</SourceType> 
              <SurfaceFeatureType>10</SurfaceFeatureType> 
              <IsBase>false</IsBase> 
              <ApplyToOverview>true</ApplyToOverview> 
              <AutoGeneralize>false</AutoGeneralize> 
              <ResolutionLowerBound>0</ResolutionLowerBound> 
              <ResolutionUpperBound>31</ResolutionUpperBound> 
              <SourceName /> 
              <HeightField /> 
              <TagValueField /> 
              <ReservedFields xsi:type="esri:ArrayOfString" /> 
           </TerrainDataSource>
         </TerrainDataSources>
         <TerrainPyramidLevelZTols xsi:type="esri:ArrayOfTerrainPyramidLevelZTol">
           <TerrainPyramidLevelZTol xsi:type="esri:TerrainPyramidLevelZTol">
           <Version>1</Version> 
           <PyramidLevelStatus>1</PyramidLevelStatus> 
           <PointCount>-1</PointCount> 
           <MaxScale>10000</MaxScale> 
           <Resolution>5</Resolution> 
         </TerrainPyramidLevelZTol>
         <TerrainPyramidLevelZTol xsi:type="esri:TerrainPyramidLevelZTol">
           <Version>1</Version> 
           <PyramidLevelStatus>1</PyramidLevelStatus> 
           <PointCount>-1</PointCount> 
           <MaxScale>20000</MaxScale> 
           <Resolution>10</Resolution> 
         </TerrainPyramidLevelZTol>
       </TerrainPyramidLevelZTols>
      </DataElement>
      <DataElement xsi:type="esri:DEFeatureClass">

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

5/10/2014