Datasets de terreno en una geodatabase en SQL Server

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 for 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 SQL Server 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, napa_terrain, propiedad del usuario molly, en una geodatabase llamada gdb aparecería como gdb.MOLLY.Napa_terrain en la jerarquía 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: ud_terrain_breaks, ud_terrain_clip y una clase de entidad integrada, napasub.

Fuentes de datos del terreno

Terrenos en una base de datos de Microsoft SQL Server

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:

DTM_<ID>_COMPOSITETILES

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.

ID de objeto

El identificador único de la forma que apunta a las teselas vecinas

NO NULO

tilenr

largo

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

corto

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

BLOB

geometry

Forma multipunto que almacena el centroide de la tesela de cada tesela circundante que proporciona las mediciones para completar la tesela compuesta

NO NULO

DTM_<ID>_DIRTYAREA

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.

ID de objeto

El identificador único para la forma

NO NULO

classid

largo

El identificador de clase de la clase de entidad que es la fuente de las modificaciones

NO NULO

tilecount

largo

El número de teselas sin validar que se originan a partir de las modificaciones realizadas a la clase de entidad

NO NULO

dirtyarea

BLOB

geometry

Forma multipunto que contiene los centroides de la tesela invalidados como resultado de las modificaciones realizadas a la clase de entidad

NO NULO

DTM_<ID>_EMBED_#

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.

ID de objeto

El identificador único para la forma

NO NULO

tilerow

largo

El número de fila de la tesela de terreno a la que pertenecen los puntos integrados

NO NULO

tilecol

largo

El número de columna de la tesela de terreno a la que pertenecen los puntos integrados

NO NULO

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.

NO NULO

pointcount

largo

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

BLOB

geometry

Geometría multipunto integrada

NO NULO

DTM_<ID>_INSIDETILES

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.

ID de objeto

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

BLOB

geometry

Geometría multipunto que almacena los centroides de tesela de datos

NO NULO

DTM_<ID>_MRFC

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.

ID de objeto

El identificador único para la forma

NO NULO

tilerow

largo

El número de fila de la tesela de terreno a la que pertenecen los puntos integrados

NO NULO

tilecol

largo

El número de columna de la tesela de terreno a la que pertenecen los puntos/vértices de la pirámide

NO NULO

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.

NO NULO

pointcount

largo

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

BLOB

geometry

Geometría multipunto

NO NULO

DTM_<ID>_PROPS

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

NO NULO

properties

varbinary(max)

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.

Tablas de dataset de terreno en SQL Server

Las líneas discontinuas indican relaciones implícitas entre las columnas.

NotaNota:

No puede utilizar el tipo espacial de geografía de Microsoft con datasets de terreno porque las entidades 3D no son compatibles.

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

Temas relacionados

9/11/2013