Terrain-Datasets in einer Geodatabase in SQL Server

Terrain-Datasets sind Oberflächen, die dreidimensionalen Raum darstellen. Sie nutzen Messwerte (als Feature-Classes gespeichert) und Regeln, um Triangular Irregular Network (TIN)-Pyramiden zur Repräsentation der Höhe zu generieren.

Die Quell-Feature-Classes können vom Terrain-Dataset referenziert werden oder in das Terrain-Dataset eingebettet sein.

Eine Erklärung zu Terrain-Datasets finden Sie unter "Terrain-Datasets". Beginnen Sie mit dem Thema Was ist ein Terrain-Dataset?

Terrains in ArcGIS for Desktop

Im Kataloginhaltsverzeichnis sehen Terrain-Datasets wie beliebige andere Feature-Datasets aus, sie enthalten jedoch ein Terrain. Terrains werden mit folgendem Symbol dargestellt:

Der Name eines Terrain-Datasets in einer Geodatabase im SQL Server enthält den Datenbanknamen, den Namen des Locator-Besitzers und den Namen des Locators selbst.

Beispiel: Das Terrain-Dataset "napa_terrain" in einer Geodatabase mit dem Namen "gdb", das Benutzer "molly" gehört, wird als "gdb.MOLLY.Napa_terrain" im Kataloginhaltsverzeichnis aufgelistet.

Um zu sehen, welche Feature-Classes für das Terrain vorhanden sind, überprüfen Sie die Terraineigenschaften. Im folgenden Beispiel können Sie zwei der Feature-Classes des Terrains sehen – ud_terrain_breaks, ud_terrain_clip und eine eingebettete Feature-Class, napasub.

Datenquellen für das Terrain

Terrains in einer Microsoft SQL Server-Datenbank

Terrain-Datasets werden in der Geodatabase in den gleichen Tabellen wie Feature-Datasets verwaltet. Zusätzlich werden terrainspezifische Tabellen im Schema des Benutzers erstellt, der das Terrain-Dataset erstellt hat. Diese Tabellen lauten wie folgt:

DTM_<ID>_COMPOSITETILES

Zusammengesetzte Kacheln sind hinsichtlich der Daten-Coverage um ihren Umfang unvollständig. Sie können keine Messwerte aufweisen oder sich in der Nähe einer oder mehrerer Ecken befinden. Um eine Oberfläche zu definieren, die die Ausdehnung dieser Kacheln abdeckt, werden Daten von angrenzenden Kacheln verwendet. Diese Tabelle wird verwendet, um zu identifizieren, bei welchen Kacheln es sich um zusammengesetzte Kacheln handelt, und welche angrenzenden Kacheln Daten für die zusammengesetzte Kachel bereitstellen. Pro zusammengesetzter Kachel wird ein Datensatz verwendet.

Feldname

Feldtyp

Beschreibung

Null?

ID

objectid

Die eindeutige Kennung des Shapes, das auf Nachbarkacheln zeigt

NOT NULL

tilenr

long

Die Nummer der zusammengesetzten Kachel

Diese wird vom Kachelsystem des Terrains definiert. Der Wert -1 ist für einen Datensatz reserviert, der die Schwerpunkte der Umfangskacheln des Terrains enthält.

NOT NULL

emptytile

short

Der Wert -1 gibt an, dass die Kachel keine Messwerte aufweist. Der Wert 0 gibt an, dass die Kachel einige Daten aufweist, aber unvollständig ist.

NOT NULL

othertiles

BLOB

geometry

Multipoint-Shape, das den Kachelschwerpunkt jeder angrenzenden Kachel speichert, die Messwerte für die zusammengesetzte Kachel bereitstellt

NOT NULL

DTM_<ID>_DIRTYAREA

Nicht überprüfte Bereiche sind Kacheln, die als Ergebnis der Änderungen an Features in einer oder mehreren beteiligten Feature-Classes nicht mehr gültig sind. Diese Tabelle wird verwendet, um diese ungültigen Kacheln zu protokollieren und aufzuzeichnen, in welchen Feature-Classes Änderungen vorgenommen wurden. Pro Feature-Class mit Änderungen wird ein Datensatz verwendet. Die Tabelle ist leer, wenn keine Änderungen vorgenommen wurden.

Feldname

Feldtyp

Beschreibung

Null?

ID

objectid

Die eindeutige Kennung für das Shape

NOT NULL

classid

long

Die Klassenkennung der Feature-Class, die Quelle der Änderungen ist

NOT NULL

tilecount

long

Die Anzahl der ungültigen Kacheln durch Änderungen an der Feature-Class

NOT NULL

dirtyarea

BLOB

geometry

Multipoint-Shape mit den Kachelschwerpunkten, die durch Änderungen an der Feature-Class ungültig sind

NOT NULL

DTM_<ID>_EMBED_#

Embed-Tabellen werden verwendet, um eingebettete Multipoint-Feature-Classes zu speichern. Es sind möglicherweise 0..n Embed-Tabellen vorhanden. Dies hängt davon ab, ob das Terrain eingebettete Daten aufweist. Pro eingebetteter Feature-Class wird eine Tabelle verwendet. Eine Embed-Tabelle ist Teil der Pyramidenstruktur des Terrains. Die eingebetteten Daten werden nach Kachel und Pyramidenebene gruppiert.

Feldname

Feldtyp

Beschreibung

Null?

ID

objectid

Die eindeutige Kennung für das Shape

NOT NULL

tilerow

long

Die Zeilennummer der Terrainkachel, zu der die eingebetteten Punkte gehören

NOT NULL

tilecol

long

Die Spaltennummer der Terrainkachel, zu der die eingebetteten Punkte gehören

NOT NULL

resolution

numeric(38,8)

Gibt an, in welchen Pyramidenebenen die Punkte verwendet werden

Da Pyramidenebenen kumuliert sind, ist die Auflösung von Punkten für Ebenen gleich oder höher. Ein besonderer Fall ist die Terrainübersicht. Die Auflösung der Übersichtsebene wird mit dem Wert -1 angegeben. Diesem Wert zugewiesene Punkte gelten für die gesamte Pyramide.

NOT NULL

pointcount

long

Die Anzahl an Punkten im Multipoint

NOT NULL

neighbordata

smallint

Gibt an, ob sich innerhalb der Kachelkartenrahmengrenze Punkte befinden. Die Punkte außerhalb der Grenze werden verwendet, um das vollständige Coverage der Kachelfläche sicherzustellen. Der Wert 0 gibt an, dass sich die Punkte innerhalb der Kachel befinden. -1 gibt an, dass sie sich außerhalb der Kachel befinden.

NOT NULL

shape

BLOB

geometry

Eingebettete Multipoint-Geometrie

NOT NULL

DTM_<ID>_INSIDETILES

Die Tabelle "InsideTiles" wird verwendet, um aufzuzeichnen, welche Terrainkacheln sich innerhalb der Datenfläche, oder Interpolationszone, des Terrains befinden. Dies wird pro Pyramidenebene aufgezeichnet, da sich die Ausdehnung für die Ebenen unterscheiden kann (z. B. bei der Verwendung unterschiedlicher Clip-Polygon-Feature-Classes in unterschiedlichen Pyramidenebenen). Pro Pyramidenebene wird ein Datensatz verwendet. Dies schließt Übersichtsebenen und Ebenen mit voller Auflösung ein.

Feldname

Feldtyp

Beschreibung

Null?

ID

objectid

Die eindeutige Kennung für das Shape

NOT NULL

ztolerance

numeric(38,8)

Die Auflösung der Pyramidenebene A mit dem Wert -1 gibt die Übersichtsebene an.

NOT NULL

insidetiles

BLOB

geometry

Multipoint-Geometrie, die die Datenkachel-Schwerpunkte speichert

NOT NULL

DTM_<ID>_MRFC

MRFC ist die Pyramidenstruktur für nicht eingebettete Feature-Classes. Massenpunkte und Bruchkantenstützpunkte für referenzierte Feature-Classes werden hier unter der Vorbedingung gespeichert, dass sie Teil einer Pyramidenebene mit voller Auflösung sind. (Sie können auch Teil anderer Ebenen sein.) Die Daten werden nach Kachel und Pyramidenebene gruppiert.

Feldname

Feldtyp

Beschreibung

Null?

ID

objectid

Die eindeutige Kennung für das Shape

NOT NULL

tilerow

long

Die Zeilennummer der Terrainkachel, zu der die eingebetteten Punkte gehören

NOT NULL

tilecol

long

Die Spaltennummer der Terrainkachel, zu der die Pyramidenpunkte/Stützpunkte gehören

NOT NULL

resolution

numeric(38,8)

Gibt an, in welchen Pyramidenebenen die Punkte verwendet werden

Da Pyramidenebenen kumuliert sind, ist die Auflösung von Punkten für Ebenen gleich oder höher. Ein besonderer Fall ist die Terrainübersicht. Die Auflösung der Übersichtsebene wird mit dem Wert -1 angegeben. Diesem Wert zugewiesene Punkte gelten für die gesamte Pyramide.

NOT NULL

pointcount

long

Die Anzahl an Punkten im Multipoint

NOT NULL

neighbordata

smallint

Gibt an, ob sich innerhalb der Kachelkartenrahmengrenze Punkte befinden. Die Punkte außerhalb der Grenze werden verwendet, um das vollständige Coverage der Kachelfläche sicherzustellen. Der Wert 0 gibt an, dass sich die Punkte innerhalb der Kachel befinden. -1 gibt an, dass sie sich außerhalb der Kachel befinden.

NOT NULL

shape

BLOB

geometry

Multipoint-Geometrie

NOT NULL

DTM_<ID>_PROPS

Die Tabelle "terrain props" enthält versionsspezifische Eigenschaften für ein individuelles Terrain-Dataset. Diese schließen Punktanzahl und Ausdehnung ein. Die Informationen werden in einem BLOB gespeichert. Benutzer können in der Tabelle nicht auf sie zugreifen. Verwenden Sie stattdessen die ArcObjects-API des Terrains, um auf die Informationen zuzugreifen.

Feldname

Feldtyp

Beschreibung

Null?

ID

integer

Objekt-ID für den Datensatz

NOT NULL

properties

varbinary(max)

Speichert versionsspezifische Dataset-Eigenschaften

Ein Datensatz wird auch in der Tabelle GDB_ITEMS erstellt, um das Terrain-Dataset zu protokollieren. Die ID im Namen der Terrain-Tabellen stammt aus dem Feld ObjectID der Tabelle GDB_ITEMS.

Da Terrain-Datasets Teil eines Feature-Datasets sind, werden sie auch in der Tabelle GDB_ITEMRELATIONSHIPS verfolgt. Das Feature-Dataset UUID entspricht ORIGINID, und die Feature-Class UUID ist DESTID in der Tabelle GDB_ITEMRELATIONSHIPS. Die weiteren Tabellen für ein Terrain-Dataset werden unten angezeigt. Die 2 in den DTM_*-Tabellennamen im Beispiel stammt aus dem Feld ObjectID in der Tabelle GDB_ITEMS.

Terrain-Dataset-Tabellen in SQL Server

Die gestrichelten Linien geben implizite Beziehungen zwischen Spalten an.

HinweisHinweis:

Sie können den räumlichen Datentyp Geography von Microsoft nicht mit Terrain-Datasets verwenden, da 3D-Features nicht unterstützt werden.

Terrains in einem XML-Dokument

Terrain-Datasets werden in einem XML-Dokument durch den Dataset-Typ "ersriDTTerrain" gekennzeichnet.

<DatasetType>esriDTTerrain</DatasetType>

Nachfolgend finden Sie einen Teil des XML-Dokuments für das Terrain-Dataset ud_terrain_ds. Dieser Auszug des XML-Dokuments enthält die Definition des Datasets, einschließlich der Datenquellen, bis zur Beschreibung der ersten Feature-Class im Dataset.

<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">

Verwandte Themen

9/11/2013