Наборы данных Terrain в базе геоданных в SQL Server

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

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

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

Terrains в ArcGIS for Desktop

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

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

Например, набор данных terrain napa_terrain, принадлежащий пользователю molly, в базе геоданных gdb обозначается в дереве Каталога как gdb.MOLLY.Napa_terrain.

Для просмотра класса пространственных объектов, участвующих в построении набора данных Terrain, проверьте свойства terrain В следующем примере вы увидите два класса пространственных объектов, участвующих в построении terrain—napa_sub_breaks, napa_sub_clip, а также внедренный класс пространственных объектов napasub.

Источники данных для terrain

Наборы данных Terrains в базе данных Microsoft SQL Server

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

DTM_<ID>_COMPOSITETILES

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

Имя поля

Тип поля

Описание

Null?

ID

objectid

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

NOT NULL

tilenr

long

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

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

NOT NULL

emptytile

short

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

NOT NULL

othertiles

BLOB

geometry

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

NOT NULL

DTM_<ID>_DIRTYAREA

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

Имя поля

Тип поля

Описание

Null?

ID

objectid

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

NOT NULL

classid

long

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

NOT NULL

tilecount

long

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

NOT NULL

dirtyarea

BLOB

geometry

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

NOT NULL

DTM_<ID>_EMBED_#

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

Имя поля

Тип поля

Описание

Null?

ID

objectid

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

NOT NULL

tilerow

long

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

NOT NULL

tilecol

long

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

NOT NULL

resolution

numeric(38,8)

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

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

NOT NULL

pointcount

long

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

NOT NULL

neighbordata

smallint

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

NOT NULL

shape

BLOB

geometry

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

NOT NULL

DTM_<ID>_INSIDETILES

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

Имя поля

Тип поля

Описание

Null?

ID

objectid

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

NOT NULL

ztolerance

numeric(38,8)

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

NOT NULL

insidetiles

BLOB

geometry

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

NOT NULL

DTM_<ID>_MRFC

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

Имя поля

Тип поля

Описание

Null?

ID

objectid

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

NOT NULL

tilerow

long

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

NOT NULL

tilecol

long

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

NOT NULL

resolution

numeric(38,8)

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

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

NOT NULL

pointcount

long

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

NOT NULL

neighbordata

smallint

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

NOT NULL

shape

BLOB

geometry

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

NOT NULL

DTM_<ID>_PROPS

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

Имя поля

Тип поля

Описание

Null?

ID

integer

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

NOT NULL

properties

varbinary(max)

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

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

Так как наборы данных terrain являются частью набора классов, то они также отслеживаются в таблице GDB_ITEMRELATIONSHIPS. Набор классов UUID соответствует ORIGINID, а класс пространственных объектов UUID является DESTID в таблице GDB_ITEMRELATIONSHIPS. Ниже приведены дополнительные таблицы для набора данных terrain. 2 в примере имен таблиц DTM_* получена из поля ObjectID таблицы GDB_ITEMS.

Таблицы наборов данных Terrain в SQL Server

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

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

С наборами данных terrain нельзя использовать пространственный тип geography Microsoft, поскольку 3-D объекты не поддерживаются.

Наборы данных Terrain в XML-документе

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

<DatasetType>esriDTTerrain</DatasetType>

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

<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>RJP.WO2557</Version> 
  <Domains xsi:type="esri:ArrayOfDomain" /> 
  <DatasetDefinitions xsi:type="esri:ArrayOfDataElement">
    <DataElement xsi:type="esri:DEFeatureDataset">
      <CatalogPath>/V=RJP.WO2557/FD=gdb.MOLLY.napa_sub</CatalogPath> 
      <Name>gdb.MOLLY.napa_sub</Name> 
      <Children xsi:type="esri:ArrayOfDataElement">
        <DataElement xsi:type="esri:DETerrain">
          <Version>2</Version> 
              <CatalogPath>/V=RJP.WO2557/FD=gdb.MOLLY.napa_sub/TERR=gdb.MOLLY.napa_sub_terrain1</CatalogPath> 
          <Name>gdb.MOLLY.napa_sub_terrain1</Name> 
          <DatasetType>esriDTTerrain</DatasetType> 
          <DSID>2</DSID> 
          <FeatureDatasetName>gdb.MOLLY.napa_sub</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>875</FeatureClassID> 
              <FeatureClassName>gdb.MOLLY.DTM_2_DISCONNECT_3</FeatureClassName> 
              <GroupID>1</GroupID> 
              <SourceStatus>1</SourceStatus> 
              <SourceType>1</SourceType> 
              <SurfaceFeatureType>18</SurfaceFeatureType> 
              <IsBase>true</IsBase> 
              <ApplyToOverview>true</ApplyToOverview> 
              <AutoGeneralize>false</AutoGeneralize> 
              <ResolutionLowerBound>0</ResolutionLowerBound> 
              <ResolutionUpperBound>0</ResolutionUpperBound> 
              <SourceName>napasub_embedded</SourceName> 
              <HeightField>Shape</HeightField> 
              <TagValueField /> 
              <ReservedFields xsi:type="esri:ArrayOfString" /> 
           </TerrainDataSource>
           <TerrainDataSource xsi:type="esri:TerrainDataSource">
              <Version>1</Version> 
              <FeatureClassID>874</FeatureClassID> 
              <FeatureClassName>gdb.MOLLY.napa_sub_breaks</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>gdb.MOLLY.napa_sub_clip</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