Jeux de données de MNT d'une géodatabase dans SQL Server

Les jeux de données de MNT sont des surfaces qui représentent un espace en trois dimensions. Ils utilisent des mesures (stockées comme classes d'entités) et des règles pour générer des pyramides de TIN (triangular irregular network) permettant de représenter les altitudes.

Les classes d'entités source peuvent être référencées par le jeu de données de MNT ou être encapsulées dans le jeu de données de MNT.

Pour plus d'explications sur les jeux de données de MNT, reportez-vous aux rubriques correspondantes du livre Présentation des jeux de données de MNT. Vous pouvez commencer par la rubrique Qu'est-ce qu'un jeu de données de MNT ?

MNT dans ArcGIS Desktop

Dans l'arborescence du Catalogue, les jeux de données de MNT sont identiques à tout autre jeu de classes d'entités, mais ils contiennent un MNT. Les MNT sont représentés avec l'icône suivante :

Le nom d'un jeu de données de MNT dans une géodatabase SQL Server contient le nom de la base de données, le nom du propriétaire du localisateur et le nom du localisateur même.

Par exemple, un jeu de données de MNT appelé napa_terrain, dont le propriétaire serait l'utilisateur molly et qui serait enregistré dans la géodatabase gdb serait désigné gdb.MOLLY.Napa_terrain dans l'arborescence du catalogue.

Pour voir les classes d'entités participant au MNT, consultez ses propriétés. Dans l'exemple suivant, vous pouvez voir deux des classes d'entités qui participent au MNT : ud_terrain_breaks, ud_terrain_clip, et une classe d'entités intégrée : napasub.

Sources de données pour le MNT

MNT dans une base de données Microsoft SQL Server

Comme tous les jeux de données, les jeux de données de MNT sont gérés dans la géodatabase dans les mêmes tables que les jeux de classes d'entités ; de plus, des tables spécifiques aux MNT sont créées dans la structure de l'utilisateur ayant créé le jeu de données de MNT. Il s'agit des tables suivantes :

DTM_<ID>_COMPOSITETILES

Les tuiles composites sont incomplètes, en termes de couverture de données, autour de leur périmètre. Un vide de mesures complet ou à proximité d'un ou plusieurs angles pourrait exister. Les données des tuiles voisines permettent de définir une surface couvrant l'étendue de ces tuiles. Cette table permet d'identifier les tuiles composites et les tuiles avoisinantes pouvant fournir des données pour les compléter. Elle comprend une entrée par tuile composite.

Nom du champ

Type de champ

Description

Nul ?

ID

objectid

Identifiant unique de la forme pointant vers les tuiles voisines

NOT NULL

tilenr

long

Numéro de la tuile composite

Défini par le système de tuiles du MNT. La valeur -1 est réservée à l'enregistrement qui contient les centroïdes des tuiles de périmètre du MNT.

NOT NULL

emptytile

short

La valeur -1 indique que la tuile est vide de toute mesure. La valeur 0 indique que la tuile a des données mais est incomplète.

NOT NULL

othertiles

BLOB

geometry

Forme multi-points stockant le centroïde de chaque tuile avoisinante pouvant fournir des mesures pour compléter la tuile composite

NOT NULL

DTM_<ID>_DIRTYAREA

Les zones à valider sont des tuiles invalidées suite aux modifications apportées aux entités d'une ou de plusieurs classes d'entités participantes. Cette table permet d'assurer un suivi de ces tuiles invalidées et d'enregistrer dans quelles classes d'entités les modifications ont eu lieu. Elle comprend une entrée par classe d'entités ayant été modifiée. Si aucune modification n'a été effectuée, cette table est vide.

Nom du champ

Type de champ

Description

Nul ?

ID

objectid

Identifiant unique de la forme

NOT NULL

classid

long

Identifiant de classe de la classe d'entités à l'origine des mises à jour

NOT NULL

tilecount

long

Nombre de tuiles à valider suite aux mises à jour apportées à la classe d'entités

NOT NULL

dirtyarea

BLOB

geometry

Forme multi-points comprenant les centroïdes des tuiles à valider suite aux mises à jour apportées à la classe d'entités

NOT NULL

DTM_<ID>_EMBED_#

Les tables encapsulées permettent de stocker les classes d'entités multi-points encapsulées. Il peut y avoir entre 0 et n tables encapsulées. Elles n'existent que si le MNT a des données encapsulées. Chaque table correspond à une classe d'entités encapsulée. Une table encapsulée sert également comme partie de la structure pyramidale du MNT. Les données encapsulées sont regroupées par tuile et par niveau de pyramide.

Nom du champ

Type de champ

Description

Nul ?

ID

objectid

Identifiant unique de la forme

NOT NULL

tilerow

long

Numéro de ligne de la tuile de MNT à laquelle appartiennent les points encapsulés

NOT NULL

tilecol

long

Numéro de colonne de la tuile de MNT à laquelle appartiennent les points encapsulés

NOT NULL

resolution

numeric(38,8)

Indique à quel(s) niveau(x) de pyramide les points sont utilisés

Les niveaux de pyramide étant cumulatifs, les points participent aux niveaux de résolution égale ou supérieure à la leur. La vue d'ensemble de MNT est un cas particulier. La résolution du niveau de vue d'ensemble est indiquée par une valeur de -1. Les points attribués à cette valeur participent dans toute la pyramide.

NOT NULL

pointcount

long

Nombre de points du multi-points

NOT NULL

neighbordata

smallint

Indique si les points sont à l'intérieur du cadre de la tuile ; les points extérieurs permettent d'assurer une couverture complète de la surface de la tuile. La valeur 0 indique que les points sont à l'intérieur de la tuile. La valeur -1 indique qu'ils sont à l'extérieur.

NOT NULL

shape

BLOB

geometry

Géométrie multi-points encapsulée

NOT NULL

DTM_<ID>_INSIDETILES

La table InsideTiles permet d'enregistrer quelles tuiles sont dans la zone de données ou dans la zone d'interpolation du MNT. Cette donnée est enregistrée par niveau de pyramide car l'étendue peut différer selon le niveau (en fonction de l'utilisation de différentes classes d'entités surfaciques de découpage selon les niveaux, par exemple). Chaque niveau de pyramide correspond à une entrée, y compris la vue d'ensemble et le niveau de résolution maximale.

Nom du champ

Type de champ

Description

Nul ?

ID

objectid

Identifiant unique de la forme

NOT NULL

ztolerance

numeric(38,8)

La valeur -1 pour la résolution du niveau de pyramide A indique la vue d'ensemble.

NOT NULL

insidetiles

BLOB

geometry

Géométrie multi-points qui stocke les centroïdes des tuiles de données

NOT NULL

DTM_<ID>_MRFC

Le MRFC est la structure pyramidale pour les classes d'entités non encapsulées. Les sommets des points cotés et des lignes de fracture des classes d'entités référencées sont stockés ici, à la condition préalable qu'ils participent au niveau de pyramide de résolution maximale (ils peuvent également participer à d'autres niveaux). Les données sont regroupées par tuile et par niveau de pyramide.

Nom du champ

Type de champ

Description

Nul ?

ID

objectid

Identifiant unique de la forme

NOT NULL

tilerow

long

Numéro de ligne de la tuile de MNT à laquelle appartiennent les points encapsulés

NOT NULL

tilecol

long

Numéro de colonne de la tuile de MNT à laquelle appartiennent les points/sommets de pyramide

NOT NULL

resolution

numeric(38,8)

Indique à quel(s) niveau(x) de pyramide les points sont utilisés

Les niveaux de pyramide étant cumulatifs, les points participent aux niveaux de résolution égale ou supérieure à la leur. La vue d'ensemble de MNT est un cas particulier. La résolution du niveau de vue d'ensemble est indiquée par une valeur de -1. Les points attribués à cette valeur participent dans toute la pyramide.

NOT NULL

pointcount

long

Nombre de points du multi-points

NOT NULL

neighbordata

smallint

Indique si les points sont à l'intérieur du cadre de la tuile ; les points extérieurs permettent d'assurer une couverture complète de la surface de la tuile. La valeur 0 indique que les points sont à l'intérieur de la tuile. La valeur -1 indique qu'ils sont à l'extérieur.

NOT NULL

shape

BLOB

geometry

Géométrie multi-points

NOT NULL

DTM_<ID>_PROPS

La table props du MNT permet de stocker des propriétés spécifiques de version pour un jeu de données de MNT individuel. Celles-ci comprennent le nombre de points et l'étendue. Les informations sont stockées dans un objet BLOB et ne sont pas accessibles à l'utilisateur par l'intermédiaire de la table. Utilisez plutôt l'API ArcObjects du MNT pour accéder aux informations.

Nom du champ

Type de champ

Description

Nul ?

ID

integer

Identifiant d'objet de l'entrée

NOT NULL

properties

varbinary(max)

Stocke les propriétés spécifiques de version du jeu de données

Une entrée est également créée dans la table GDB_ITEMS pour assurer le suivi du jeu de données de MNT. La partie id dans les noms des tables de MNT provient du champ ObjectID de la table GDB_ITEMS.

Les jeux de données de MNT faisant partie d'un jeu de classes d'entités, ils sont également suivis dans la table GDB_ITEMRELATIONSHIPS. Le jeu de classes d'entités UUID correspond à l'identifiant ORIGINID, et la classe d'entités UUID est l'identifiant DESTID dans la table GDB_ITEMRELATIONSHIPS. Voici les tables supplémentaires pour un jeu de données de MNT. La valeur 2 dans les noms des tables d'exemple DTM_* provient du champ ObjectID de la table GDB_ITEMS.

Tables de jeux de données MNT dans SQL Server

Les lignes pointillées indiquent les relations implicites entre colonnes.

RemarqueRemarque :

Vous ne pouvez pas utiliser le type de données spatiales de géographie Microsoft avec les jeux de données de MNT car les entités 3D ne sont pas prises en charge.

MNT dans un document XML

Les jeux de données de MNT sont signalés dans un document XML par le type de jeu de données ersriDTTerrain.

<DatasetType>esriDTTerrain</DatasetType>

Voici une partie du document XML correspondant au jeu de données de MNT ud_terrain_ds. L'extrait de document XML ci-dessous couvre la définition du jeu de données, y compris les sources de données, jusqu'au moment de décrire la première classe d'entités du jeu de données.

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

Rubriques associées


3/6/2012