Datasets de terreno en una geodatabase en PostgreSQL
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 PostgreSQL contiene el nombre de la base de datos, el nombre del propietario del localizador y el nombre del localizador mismo.
Por ejemplo, un dataset de terreno, topography_terrain, de propiedad del usuario sasha, en una geodatabase denominada m8db aparecerá como m8db.sasha.topograhy_terrain en el árbol de catálogo.
Puede ver las clases de entidad que participan en el terreno: topo_break_lines, topo_clip_poly, topo_mass_points y topo_water_poly. Para averiguar si existen clases de entidad incorporadas en el dataset del terreno, verifique las propiedades del terreno. Haga clic con el botón derecho del ratón en el terreno y después en la ficha Orígenes de datos. Enumera todas las clases de entidad que se utilizan para crear el terreno. En este ejemplo, no se utilizaron clases de entidad incorporadas para crear este terreno. Si hubiera habido una, se habría incluido una clase de entidad adicional que no estaba visible en el dataset de entidad del árbol de catálogo y contendría un valor de Sí en la columna Incorporado del cuadro de diálogo Propiedades del terreno.
Terrenos en una base de datos de PostgreSQL
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 |
integer |
El identificador único de la forma que apunta a las teselas vecinas |
NO NULO |
tilenr |
integer |
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. |
NO NULO |
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. |
NO NULO |
othertiles |
st_geometry |
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 |
integer |
El identificador único para la forma |
NO NULO |
classid |
integer |
El identificador de clase de la clase de entidad que es la fuente de las modificaciones |
NO NULO |
tilecount |
integer |
El número de teselas sin validar que se originan a partir de las modificaciones realizadas a la clase de entidad |
NO NULO |
dirtyarea |
st_geometry |
Forma multipunto que contiene los centroides de la tesela invalidados como resultado de las modificaciones realizadas a la clase de entidad |
NO NULO |
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 |
integer |
El identificador único para la forma |
NO NULO |
tilerow |
integer |
El número de fila de la tesela de terreno a la que pertenecen los puntos integrados |
|
tilecol |
integer |
El número de columna de la tesela de terreno a la que pertenecen los puntos integrados |
|
resolution |
numérico(38.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 |
integer |
El número de puntos en el multipunto |
NO NULO |
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. |
NO NULO |
shape |
st_geometry |
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 |
integer |
El identificador único para la forma |
NO NULO |
ztolerance |
numérico(38.8) |
La resolución del nivel de pirámide. Un valor de -1 indica el nivel de vista general. |
NO NULO |
insidetiles |
st_geometry |
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 |
integer |
El identificador único para la forma |
NO NULO |
tilerow |
integer |
El número de fila de la tesela de terreno a la que pertenecen los puntos integrados |
|
tilecol |
integer |
El número de columna de la tesela de terreno a la que pertenecen los puntos/vértices de la pirámide |
|
resolution |
numérico(38.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 |
integer |
El número de puntos en el multipunto |
NO NULO |
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. |
NO NULO |
shape |
st_geometry |
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 |
integer |
El Id. de objeto del registro |
NO NULO |
properties |
bytea |
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 entidad uuid corresponde a col_originalid, y la clase de entidad uuid es destid en la tabla gdb_itemrelationships. Las tablas adicionales para un dataset de terreno aparecen aquí. El 1 en los nombres de la tabla DTM_* proviene del campo objectid en la tabla gdb_items.
Como no había clases de entidad incorporadas en el dataset, no se creó una tabla dtm_1_embed correspondiente.
Las líneas discontinuas indican relaciones implícitas entre las columnas.
El uso de dataset de terreno es limitado cuando se utiliza el almacenamiento de geometría PostGIS.
Terrenos en un documento de espacio de trabajo 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 un dataset de terreno. El siguiente extracto del documento XML cubre la definición del dataset, que incluye orígenes 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>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">