Jeux de données de MNT d'une géodatabase dans PostgreSQL
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 :
Le nom d'un jeu de données de MNT dans une géodatabase PostgreSQL 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 nommé topography_terrain, dont le propriétaire serait sasha et qui se trouverait dans une géodatabase nommée m8db serait désigné m8db.sasha.topograhy_terrain dans l'arborescence du catalogue.
Vous pouvez voir les classes d'entités participant au terrain, topo_break_lines, topo_clip_poly, topo_mass_points et topo_water_poly. Pour savoir si le jeu de données de MNT comprend des classes d'entités encapsulées, vérifiez les propriétés de MNT. Cliquez avec le bouton droit de la souris sur le MNT et sélectionnez l'onglet Sources de données. Ceci permet d'afficher l'ensemble des classes d'entités utilisées pour la création du MNT. Dans cet exemple, aucune classe d'entités encapsulée n'a été utilisée pour la création du MNT. Dans le cas contraire, une classe d'entités supplémentaire non visible dans le jeu de données d'entité dans l'arborescence du Catalogue aurait été affichée avec une valeur Oui dans la colonne Intégré de la boîte de dialogue Propriétés du MNT.
MNT dans une base de données PostgreSQL
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_geometry |
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_geometry |
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 |
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. |
|
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_geometry |
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 |
numeric(38,8) |
La valeur -1 pour la résolution du niveau de pyramide A indique la vue d'ensemble. |
NOT NULL |
insidetiles |
st_geometry |
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 |
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. |
|
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_geometry |
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 |
bytea |
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 col_originalid et la classe d'entités uuid est l'identifiant destid dans la table gdb_itemrelationships. Les tables supplémentaires d'un jeu de données de MNT sont présentées ici. La valeur 1 dans les noms des tables DTM_* provient du champ objectid de la table gdb_items.
En l'absence de classe d'entités encapsulée dans le jeu de données, aucune table dtm_1_embed correspondante n'a été créée.
Les lignes pointillées indiquent les relations implicites entre colonnes.
L'utilisation de jeux de données de MNT est limitée lors de l'utilisation du stockage de géométries PostGIS.
MNT dans un document d'espace de travail 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 à un jeu de données de MNT. 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>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">