PostgreSQL に格納されたジオデータベースのテレイン データセット

テレイン データセットは 3 次元の地表面を表すサーフェス モデルです。テレイン データセットは(フィーチャクラスとして格納される)計測データとルールを使用して、標高を表すための TIN(Triangular Irregular Network)ピラミッドを生成します。

ソース フィーチャクラスは、テレイン データセットによって参照されるか、テレイン データセットに埋め込まれます。

テレイン データセットの詳細については、「テレイン データセットの概要」のトピックをご参照ください。最初に「テレイン データセットとは」というトピックをご参照ください。

ArcGIS for Desktop のテレイン

カタログ ツリーではテレイン データセットは他のフィーチャ データセットと同じように表示されますが、テレインを含んでいます。テレインは次のアイコンで表されます。

PostgreSQL のジオデータベースにあるテレイン データセットの名前には、データベース名、ロケータの所有者の名前、およびロケータ自体の名前を含みます。

たとえば、ジオデータベース「m8db」にあるテレイン データセット「topography_terrain」を「sasha」というユーザが所有している場合、カタログ ツリーには「m8db.sasha.topograhy_terrain」と表示されます。

テレインに属するフィーチャクラス(topo_break_lines、topo_clip_poly、topo_mass_points、および topo_water_poly)を確認できます。テレイン データセットにフィーチャクラスが埋め込まれているかどうかを確認するには、テレインのプロパティを調べます。テレインを右クリックして [データ ソース] タブをクリックします。これはテレインの作成に使用されたすべてのフィーチャクラスを表示します。この例では、このテレインの作成に埋め込みフィーチャクラスは使用されていません。埋め込みフィーチャクラスがある場合は、カタログ ツリーのフィーチャ データセットには表示されていない追加のフィーチャクラスが表示され、[テレイン プロパティ] ダイアログ ボックスの [エンベデッド] 列に「Yes」という値が表示されます。

テレイン データ ソース プロパティ
テレインのデータ ソース プロパティのダイアログ ボックスには、テレインについてデータとして使用されるフィーチャクラスが表示されます。

PostgreSQL データベースのテレイン

テレイン データセットはフィーチャ データセットと同じテーブルに加えて、テレイン固有のテーブルを使用してジオデータベースで管理されます。これらのテーブルはテレイン データセットを作成したユーザのスキーマに作成されます。次に、これらのテーブルを示します。

dtm_<id>_compositetiles

データ カバレッジの観点からは、コンポジット タイルの境界は不完全です。それらのメジャー値は無効であるか、1 つ以上のコーナーの近傍に含まれている可能性があります。これらのタイル データの範囲をカバーするサーフェスを定義するには、隣接タイルを使用します。DTM_<OBJECTID>_COMPOSITETILES テーブルは、どのタイルがコンポジット タイルであるかと、それらを完成させるデータを提供する隣接タイルを識別します。コンポジット タイルごとにレコードが 1 つ含まれます。

フィールド名

フィールド タイプ

説明

NULL?

id

integer

隣接タイルをポイントするシェープの一意な ID

NOT NULL

tilenr

integer

コンポジット タイルの番号

テレインのタイル システムによって定義されます。-1 の値は、テレインの境界タイルの重心を含んでいるレコードのために予約されています。

NOT NULL

emptytile

smallint

-1 の値は、タイルのメジャー値が無効であることを示します。0 の値は、タイルにデータが含まれているが、不完全であることを示します。

NOT NULL

othertiles

st_geometry

各隣接タイルのタイル重心を含んでいるマルチポイント シェープで、コンポジット タイルを完成させるメジャー値を提供します。

dtm_<id>_dirtyarea

ダーティ エリアとは構成要素である 1 つ以上のフィーチャクラスのフィーチャを編集した結果として無効になっているタイルです。DTM_<OBJECTID>_DIRTYAREA テーブルは、これらの無効なタイルを管理し、編集が行われたフィーチャクラスを記録するために使用されます。編集が行われたフィーチャクラスごとにレコードが 1 つ使用されます。編集が行われていない場合、このテーブルは空です。

フィールド名

フィールド タイプ

説明

NULL?

id

integer

シェープの一意な ID

NOT NULL

classid

integer

編集のソースであるフィーチャクラスのクラス ID

NOT NULL

tilecount

integer

フィーチャクラスの編集の結果として発生したダーティ タイルの数

NOT NULL

dirtyarea

st_geometry

フィーチャクラスの編集の結果として無効になったタイル重心を含んでいるマルチポイント シェープ

NOT NULL

dtm_<id>_embed_#

EMBED テーブルは埋め込みマルチポイント フィーチャクラスを格納するために使用されます。0..n のテーブルが存在します。それらのテーブルが存在するかどうかは、テレインにデータが埋め込まれているかどうかによります。埋め込みフィーチャクラスにつきテーブルが 1 つ使用されます。このテーブルには、テレインのピラミッド構造の一部として使用するという目的もあります。埋め込みデータはタイル レベルとピラミッド レベルでグループ化されます。

フィールド名

フィールド タイプ

説明

NULL?

id

integer

シェープの一意な ID

NOT NULL

tilerow

integer

埋め込みポイントが属しているテレイン タイルの行番号

tilecol

integer

埋め込みポイントが属しているテレイン タイルの列番号

resolution

numeric(38,8)

ポイントが使用されるピラミッド レベルを示します。

ピラミッドレベルは累積されるため、それらのレベルに属するポイントの解像度は同じであるか、それら自体よりも大きくなります。テレインの概観図には特殊なケースがあります。概観図レベルの解像度が -1 の値で示されるケースです。この値が割り当てられたポイントはピラミッド全体に属します。

pointcount

integer

マルチポイントのポイントの数

NOT NULL

neighbordata

smallint

ポイントがタイルの図郭線境界の内側にあるかどうかを示します。それらの外側はタイル エリアのカバレッジを完成させるために使用されます。0 の値はポイントがタイルの内側にあることを示し、-1 の値は外側にあることを示します。

NOT NULL

shape

st_geometry

埋め込みマルチポイントのジオメトリ

dtm_<id>_insidetiles

INSIDETILES テーブルはテレインのデータ エリアまたは内挿ゾーンの内側にあるテレイン タイルを記録するために使用されます。これはピラミッド レベルごとに記録されます。ピラミッド レベルによって範囲が異なる可能性があるためです(たとえば、ピラミッド レベルごとに異なるクリップ ポリゴン フィーチャクラスが使用される場合など)。ピラミッド レベルごとにレコードが 1 つ使用されます。これには、概観図レベルとフル解像度レベルの両方が含まれます。

フィールド名

フィールド タイプ

説明

NULL?

id

integer

シェープの一意な ID

NOT NULL

ztolerance

numeric(38,8)

ピラミッド レベルの座標精度。-1 という値は概観図レベルを示します。

NOT NULL

insidetiles

st_geometry

データ タイルの重心を格納するマルチポイント ジオメトリ

dtm_<id>_mrfc

MRFC テーブルは非埋め込みフィーチャクラスのピラミッド構造です。参照先のフィーチャクラスの標高点とブレークライン頂点は、フル解像度のピラミッド レベルに属する前の状態で格納されます。データはタイル レベルとピラミッド レベルでグループ化されます。

フィールド名

フィールド タイプ

説明

NULL?

id

integer

シェープの一意な ID

NOT NULL

tilerow

integer

埋め込みポイントが属しているテレイン タイルの行番号

tilecol

integer

ピラミッド ポイント/頂点が属しているテレイン タイルの列番号

resolution

numeric(38,8)

ポイントが使用されるピラミッド レベルを示します。

ピラミッドレベルは累積されるため、それらのレベルに属するポイントの解像度は同じであるか、それら自体よりも大きくなります。テレインの概観図には特殊なケースがあります。概観図レベルの解像度が -1 の値で示されるケースです。この値が割り当てられたポイントはピラミッド全体に属します。

pointcount

integer

マルチポイントのポイントの数

NOT NULL

neighbordata

smallint

ポイントがタイルの図郭線境界の内側にあるかどうかを示します。それらの外側はタイル エリアのカバレッジを完成させるために使用されます。0 の値はポイントがタイルの内側にあることを示し、-1 の値は外側にあることを示します。

NOT NULL

shape

st_geometry

マルチポイント ジオメトリ

dtm_<id>_props

PROPS テーブルは個々のテレイン データセットのバージョン固有のプロパティを保持するために使用されます。これにはポイントの数と範囲が含まれます。この情報は BLOB に格納され、ユーザがテーブルを通じてアクセスすることはできません。代わりに、テレインの ArcObjects API を使用して情報にアクセスします。

フィールド名

フィールド タイプ

説明

NULL?

id

integer

レコードのオブジェクト ID

NOT NULL

properties

bytea

バージョン固有のデータセット プロパティを格納します

gdb_items テーブルにもテレイン データセットを管理するためのレコードが作成されます。テレイン テーブルの名前に含まれている <ID> は、gdb_items テーブルの objectid フィールドに由来します。

テレイン データセットは、フィーチャ データセットの一部であるため、テレイン データセットも、gdb_itemrelationships テーブルに記録されます。フィーチャ データセットの uuid は、originid に相当し、フィーチャクラス uuid は、gdb_itemrelationships テーブルの destid です。次に、テレイン データセットの追加テーブルを示します。例にあげた DTM_* テーブルの名前に含まれている「1」は、gdb_items テーブルの objectid フィールドからきています。

注意注意:

以下の例では、データセットに埋め込みフィーチャクラスがなかったため、対応する dtm_1_embed テーブルは作成されませんでした。

PostgreSQL のテレイン データセット テーブル

破線はテーブル間の暗黙的なリレーションシップを示しています。

注意注意:

テレイン データセットの使用は、PostGIS ジオメトリ格納を使用するときに限られています。

XML ワークスペース ドキュメントのテレイン

テレイン データセットは、XML ドキュメントにおいて ersriDTTerrain タイプで定義されます。

<DatasetType>esriDTTerrain</DatasetType>

次に、テレイン データセットについての XML ドキュメントの一部を示します。この 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>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