Datasets de terreno en una geodatabase en Informix
Los datasets de terreno son superficies que representan un espacio tridimensional. Utilizan mediciones (almacenadas como clases de entidad) y reglas para generar pirámides de red irregular de triángulos (TIN) para representar la elevación.
Se puede hacer referencia a las clases de entidad de origen mediante el dataset de terreno o pueden estar integradas en el dataset de terreno.
Para obtener una explicación de los datasets de terreno, lea los temas en el libro Comprender datasets de terreno. Puede comenzar con el tema ¿Qué es un dataset de terreno?
Terrenos en ArcGIS Desktop
En el árbol de catálogo, los datasets de terreno se ven como cualquier otro dataset de entidades, pero contienen un terreno. Los terrenos están representados con el siguiente icono:
El nombre de un dataset de terreno en una geodatabase en Informix consta del nombre de la base de datos seguido por dos puntos (:), el nombre del propietario del dataset de terreno y el nombre de la geodatabase en sí
Por ejemplo, un dataset de terreno, napa_terrain, propiedad del usuario gis, en una geodatabase llamada gdb aparece como gdb:gis.Napa_terrain en el árbol de catálogo.
Para ver qué clases de entidad participan en el terreno, consulte las propiedades del terreno. En el siguiente ejemplo, puede ver dos de las clases de entidad que participan en el terreno: napa_sub_breaks, napa_sub_clip y una clase de entidad integrada, napasub.
Terrenos en una base de datos de IBM Informix
Como son datasets, los datasets de terreno se administran en la geodatabase, en las mismas tablas y datasets de entidades; pero además existen tablas específicas para los terrenos creadas en el esquema del usuario que creó el dataset de terreno. Estas ventanas son las siguientes:
En términos de cobertura de datos, las teselas compuestas están incompletas alrededor del perímetro. Podrían estar vacías de mediciones en su totalidad o dentro de la proximidad de una o más esquinas. Para definir una superficie que cubre la extensión de estas teselas, se utilizan datos de las teselas circundantes. Esta tabla se utiliza para identificar qué teselas son teselas compuestas y qué teselas próximas proporcionan datos para completarlas. Se utiliza un registro por tesela compuesta.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
id |
entero |
El identificador único de la forma que apunta a las teselas vecinas |
NOT NULL |
tilenr |
entero |
El número de la tesela compuesta Está definido por el sistema de tesela del terreno. Un valor de -1 está reservado para un registro que contiene los centroides de las teselas del perímetro del terreno. |
NOT NULL |
emptytile |
smallint |
Un valor de -1 indica que la tesela está vacía de cualquier medición. Un valor de 0 indica que la tesela tiene algunos datos pero está incompleta. |
NOT NULL |
othertiles |
st_multipoint |
Forma multipunto que almacena el centroide de la tesela de cada tesela circundante que proporciona las mediciones para completar la tesela compuesta |
Las áreas sin validar son teselas que se han invalidado como resultado de modificaciones a entidades en una o más clases de entidad participantes. Esta tabla se utiliza para rastrear estas teselas invalidadas y para grabar en qué clases de entidad se han realizado las modificaciones. Se utiliza un registro por clase de entidad en que se realizaron las modificaciones. Esta tabla estará vacía si no se realizaron modificaciones.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
id |
entero |
El identificador único para la forma |
NOT NULL |
classid |
entero |
El identificador de clase de la clase de entidad que es la fuente de las modificaciones |
NOT NULL |
tilecount |
entero |
El número de teselas sin validar que se originan a partir de las modificaciones realizadas a la clase de entidad |
NOT NULL |
dirtyarea |
st_multipoint |
Forma multipunto que contiene los centroides de la tesela invalidados como resultado de las modificaciones realizadas a la clase de entidad |
NOT NULL |
Las tablas integradas se utilizan para almacenar clases de entidad multipunto integradas. Puede haber 0..n tablas integradas. Su existencia depende de si el terreno posee datos integrados. Se utiliza una tabla por clase de entidad integrada. Una tabla integrada tiene el doble propósito de ser parte de la estructura de pirámide del terreno. Los datos integrados están agrupados por nivel de pirámide y tesela.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
id |
entero |
El identificador único para la forma |
NOT NULL |
tilerow |
entero |
El número de fila de la tesela de terreno a la que pertenecen los puntos integrados |
|
tilecol |
entero |
El número de columna de la tesela de terreno a la que pertenecen los puntos integrados |
|
resolution |
Decimal(32,8) |
Indica en qué nivel o niveles de pirámide se utilizan los puntos Como los niveles de pirámide son acumulativos, los puntos participan en niveles con resoluciones iguales o mayores a sí mismos. Un caso especial involucra la vista general del terreno. La resolución del nivel de la vista general se indica con un valor de -1. Los puntos asignados a este valor participan a lo largo de toda la pirámide. |
|
pointcount |
entero |
El número de puntos en el multipunto |
NOT NULL |
neighbordata |
smallint |
Indica si los puntos se encuentran dentro del límite del borde interior de la tesela; aquellos que se encuentran afuera se utilizan para asegurar una cobertura completa del área de la tesela. Un valor de 0 indica que los puntos se encuentran dentro de la tesela. -1 indica que se encuentran afuera. |
NOT NULL |
shape |
st_multipoint |
Geometría multipunto integrada |
La tabla InsideTiles se utiliza para grabar qué teselas de terreno se encuentran dentro del área de datos, o zona de interpolación, del terreno. Esto se graba por nivel de pirámide porque es posible que la extensión difiera en todos los niveles (por ejemplo, con el uso de diferentes clases de entidad de recorte poligonal en diferentes niveles de pirámide). Se utiliza un registro por nivel de pirámide. Esto incluye los niveles de vista general y máxima resolución.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
id |
entero |
El identificador único para la forma |
NOT NULL |
ztolerance |
Decimal(32,8) |
La resolución del nivel de pirámide. Un valor de -1 indica el nivel de vista general. |
NOT NULL |
insidetiles |
st_multipoint |
Geometría multipunto que almacena los centroides de tesela de datos |
MRFC es la estructura de pirámide para las clases de entidad no integradas. Los puntos de masa y los vértices de línea de corte para las clases de entidad a las que se hace referencia se almacenan aquí bajo la condición previa de que participen en el nivel de pirámide de máxima resolución (también pueden participar en otros niveles). Los datos están agrupados por nivel de pirámide y tesela.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
id |
entero |
El identificador único para la forma |
NOT NULL |
tilerow |
entero |
El número de fila de la tesela de terreno a la que pertenecen los puntos integrados |
|
tilecol |
entero |
El número de columna de la tesela de terreno a la que pertenecen los puntos/vértices de la pirámide |
|
resolution |
Decimal(32,8) |
Indica en qué nivel o niveles de pirámide se utilizan los puntos Como los niveles de pirámide son acumulativos, los puntos participan en niveles con resoluciones iguales o mayores a sí mismos. Un caso especial involucra la vista general del terreno. La resolución del nivel de la vista general se indica con un valor de -1. Los puntos asignados a este valor participan a lo largo de toda la pirámide. |
|
pointcount |
entero |
El número de puntos en el multipunto |
NOT NULL |
neighbordata |
smallint |
Indica si los puntos se encuentran dentro del límite del borde interior de la tesela; aquellos que se encuentran afuera se utilizan para asegurar una cobertura completa del área de la tesela. Un valor de 0 indica que los puntos se encuentran dentro de la tesela. -1 indica que se encuentran afuera. |
NOT NULL |
shape |
st_multipoint |
Geometría multipunto |
La tabla de propiedades de terreno se utiliza para guardar las propiedades específicas de la versión de un dataset de terreno individual. Estas incluyen la extensión y el conteo de puntos. La información se almacena en un BLOB, y el usuario no puede acceder a través de la tabla. En su lugar, utilice la API de ArcObjects del terreno para acceder a la información.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
id |
entero |
El Id. de objeto del registro |
NOT NULL |
properties |
BLOB |
Almacena las propiedades específicas de la versión del dataset |
También se crea un registro en la tabla gdb_items para rastrear el dataset de terreno. El Id. de los nombres de las tablas de terreno se toma del campo objectid de la tabla gdb_items.
Como los datasets de terreno son parte de un dataset de entidad, también se rastrean en la tabla gdb_itemrelationships. El dataset de entidades uuid corresponde a originid, y la clase de entidad uuid es destid en la tabla gdb_itemrelationships. A continuación se muestran las tablas adicionales para un dataset de terreno. El 2 en los nombres de la tabla DTM_* de ejemplo proviene del campo objectid en la tabla gdb_items.
Las líneas discontinuas indican relaciones implícitas entre las columnas.
Terrenos en un documento XML
Los datasets de terreno se denotan en un documento XML con el tipo de dataset ersriDTTerrain.
<DatasetType>esriDTTerrain</DatasetType>
La siguiente es una parte del documento XML para el dataset de terreno napa_sub. El siguiente extracto del documento XML cubre la definición del dataset, que incluye fuentes de datos, hasta el punto de describir la primera clase de entidad en el 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: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">