Jeux de données de MNT d'une géodatabase dans Informix
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 for Desktop
Dans l'arborescence du Catalogue, les jeux de données de MNT sont identiques à tout autre jeu de données d'entité, mais ils contiennent un MNT. Les MNT sont représentés avec l'icône suivante :
Dans une géodatabase Informix, le nom d'un jeu de données de MNT se compose du nom de la base de données suivi de deux-points (:), du nom du propriétaire du jeu de données de MNT et du nom de la géodatabase.
Par exemple, un jeu de données de MNT appelé MNT_napa, dont le propriétaire est l'utilisateur gis et qui est enregistré dans la géodatabase gdb apparaîtrait sous la forme gdb:gis.MNT_Napa 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 : napa_sub_breaks, napa_sub_clip, et une classe d'entités intégrée : napasub.
MNT dans une base de données IBM Informix
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 données d'entité ; 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 :
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 |
integer |
Identifiant unique de la forme pointant vers les tuiles voisines |
NOT NULL |
tilenr |
integer |
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 |
smallint |
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 |
st_multipoint |
Forme multi-points stockant le centroïde de chaque tuile avoisinante pouvant fournir des mesures pour compléter la tuile composite |
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 |
integer |
Identifiant unique de la forme |
NOT NULL |
classid |
integer |
Identifiant de classe de la classe d'entités à l'origine des mises à jour |
NOT NULL |
tilecount |
integer |
Nombre de tuiles à valider suite aux mises à jour apportées à la classe d'entités |
NOT NULL |
dirtyarea |
st_multipoint |
Forme multi-points comprenant les centroïdes des tuiles à valider suite aux mises à jour apportées à la classe d'entités |
NOT NULL |
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 |
integer |
Identifiant unique de la forme |
NOT NULL |
tilerow |
integer |
Numéro de ligne de la tuile de MNT à laquelle appartiennent les points encapsulés |
|
tilecol |
integer |
Numéro de colonne de la tuile de MNT à laquelle appartiennent les points encapsulés |
|
resolution |
Decimal(32,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. |
|
pointcount |
integer |
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 |
st_multipoint |
Géométrie multi-points encapsulée |
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 |
integer |
Identifiant unique de la forme |
NOT NULL |
ztolerance |
Decimal(32,8) |
La valeur -1 pour la résolution du niveau de pyramide A indique la vue d'ensemble. |
NOT NULL |
insidetiles |
st_multipoint |
Géométrie multi-points qui stocke les centroïdes des tuiles de données |
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 |
integer |
Identifiant unique de la forme |
NOT NULL |
tilerow |
integer |
Numéro de ligne de la tuile de MNT à laquelle appartiennent les points encapsulés |
|
tilecol |
integer |
Numéro de colonne de la tuile de MNT à laquelle appartiennent les points/sommets de pyramide |
|
resolution |
Decimal(32,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. |
|
pointcount |
integer |
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 |
st_multipoint |
Géométrie multi-points |
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 |
BLOB |
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 données d'entité, ils sont également suivis dans la table gdb_itemrelationships. Le jeu de données d'entité 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.
Les lignes pointillées indiquent les relations implicites entre colonnes.
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 napa_sub. 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:gis.napa_sub</CatalogPath>
<Name>gdb:gis.napa_sub</Name>
<Children xsi:type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DETerrain">
<Version>2</Version>
<CatalogPath>/V=RJP.WO2557/FD=gdb:gis.napa_sub/TERR=gdb:gis.napa_sub_terrain1</CatalogPath>
<Name>gdb:gis.napa_sub_terrain1</Name>
<DatasetType>esriDTTerrain</DatasetType>
<DSID>2</DSID>
<FeatureDatasetName>gdb:gis.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:gis.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:gis.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:gis.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">