Tipos espaciales de SQL Server y ArcGIS

Las geodatabases admiten el almacenamiento de datos vectoriales utilizando los tipos de geometría y geografía de Microsoft en Microsoft SQL Server. Estos tipos están disponibles de forma automática en SQL Server; no requieren una instalación independiente para utilizarlos. También puede usar ArcGIS para tener acceso a las tablas de base de datos que contienen campos (columnas) de geometría o geografía.

Utilice el tipo de almacenamiento de geometría con ArcGIS si se da alguna de las siguientes condiciones:

  • El sistema de coordenadas que desea utilizar no es un sistema de coordenadas geográficas o no está definido en el diccionario de datos de SQL Server.
  • Desea almacenar valores z o m con la forma.

Utilice el tipo de almacenamiento de geografía con ArcGIS si se da cualquiera de las siguientes condiciones:

  • El sistema de coordenadas que desea utilizar se define en el diccionario de datos de SQL Server.
  • Los datos cubren extensiones espaciales grandes y necesita usar cálculos de área y de longitud de SQL.
  • Puede usar la interpolación de arco elíptico grande para las consultas espaciales de SQL.

    Los cálculos de área y de longitud de SQL que usan la interpolación de arco elíptico grande pueden variar mucho con respecto a la interpolación de línea plana en extensiones espaciales grandes.

Utilizar palabras clave de configuración para especificar tipos espaciales

De forma predeterminada, las geodatabases en SQL Server utilizan el tipo espacial de geometría. Para utilizar el tipo de geografía para el almacenamiento de clases de entidad en geodatabases en SQL Server, debe realizar una de las siguientes acciones:

  • Si la mayoría de los usuarios van a utilizar la geografía en sus datos espaciales durante gran parte del tiempo, cambie el parámetro de configuración GEOMETRY_STORAGE situado debajo la palabra cable de configuración DEFAULTS a GEOGRAPHY. Todas las clases de entidad creadas en la geodatabase utilizan el tipo de geografía de forma predeterminada. Consulte Modificar las palabras clave de configuración para obtener instrucciones.
  • Si solo parte de los datos se almacenarán en el tipo de geografía, especifique una palabra clave de configuración que designe un parámetro de configuración GEOMETRY_STORAGE de GEOGRAPHY al crear clases de entidad. Se proporciona una palabra clave, GEOGRAPHY, pero puede crear una palabra clave personalizada.

Elija la geometría o la palabra clave de geografía cuando cree clases de entidad en una base de datos (no una geodatabase) de SQL Server .

Registre una tabla espacial existente con la geodatabase.

Si ha usado una aplicación de otro fabricante o de SQL para crear tablas que contienen campos de tipo espacial de SQL Server en la base de datos en la que está almacenada la geodatabase, puede registrar estas tablas con la geodatabase para aprovechar las funciones de la geodatabase, como clases de relación, topología, redes de servicios y estructuras de la parcela, o tener subtipos, valores predeterminados, dominios o reglas de validación. Para este fin, las tablas deben cumplir los siguientes requisitos:

  • La tabla debe ser propiedad del usuario que la está registrando.
  • La tabla debe tener un campo espacial único de tipo de geometría o geografía.
  • Todas las formas del campo deben ser del mismo tipo espacial, ya sean puntos, líneas, polígonos, multipuntos, multicadenas o multipolígonos.

    La adición de formas de tipo diferente al del campo en la que se utiliza SQL después de registrar la tabla con la geodatabase no es compatible y tendrá como resultado un comportamiento impredecible de la clase de entidad.

  • Todas las formas del campo deben utilizar el mismo identificador de referencia espacial (SRID).
  • El SRID especificado en el momento del registro debe existir en la tabla del sistema SDE_spatial_references. En caso contrario, debe definirse la proyección al comienzo del registro.
  • Si la tabla contiene una clave principal, debe agruparse.
Nota:

Habilitar una geodatabase en una base de datos existente no registra automáticamente las tablas existentes en la geodatabase. Las tablas o clases de entidad que deban participar en la geodatabase se deben registrar en esta por separado.

Crear un índice espacial

SQL Server requiere que la tabla tenga una clave principal para poder crear un índice espacial en ella.

En ArcGIS

Cuando utiliza ArcGIS para crear una clase de entidad con un campo de geometría o geografía, ArcGIS crea una clave principal agrupada en el campo Id. de objeto de la tabla de negocios de forma predeterminada. A continuación, ArcGIS crea un índice espacial con los valores predeterminados de SQL Server. Cuando la clase de entidad se registra como versionada tradicional, se crea una clave primaria agrupada en los campos de Id. de objeto e id de estado de la tabla de adiciones, y se crea el índice espacial.

ArcGIS calcula la caja de límite de la clase de entidad con un campo de geometría o geografía espacial como la extensión de los datos que deben indexarse. Las entidades que están fuera de este rango no se indexan, pero aparecen en las consultas espaciales. Si no se determina la clase de entidad, el rango máximo de coordenadas del sistema de referencia espacial de la clase de entidad se utilizará para la caja de límite. Puede definir o recalcular una extensión de clase de entidad en el cuadro de diálogo Propiedades de clase de entidad. Si la clase de entidad está en una geodatabase, la caja de límite se ajusta con la última extensión siempre que el índice espacial se elimine y se vuelva a crear.

Fuera de ArcGIS

En el caso de tablas espaciales no creadas en ArcGIS (por ejemplo, las creadas utilizando SQL), debe crear una clave principal en la tabla y crear un índice espacial utilizando SQL. Consulte la documentación de Microsoft SQL Server para obtener instrucciones y ejemplos.

ArcGIS agrega un campo para almacenar elementos geométricos adicionales.

Los tipos de geometría y geografía no pueden almacenar todos los tipos de elementos geométricos que las geodatabases deben admitir. Por lo tanto, al crear o registrar una clase de entidad que utiliza el tipo de almacenamiento de geometría o geografía con una geodatabase en SQL Server, ArcGIS agrega un campo a la tabla de negocios para almacenar estos elementos geométricos adicionales. El nombre del campo es gdb_geomattr_data. Entre los elementos geométricos adicionales se incluyen los siguientes:

  • Objetos paramétricos como, por ejemplo, arcos circulares y curvas Bézier creadas con herramientas de edición avanzadas
  • PointIDs
  • Entidades multiparche
  • Parches de superficie de Extensión ArcGIS Spatial Analyst

Cuando ArcGIS detecta que la fuente de datos tiene estos elementos geométricos adicionales, se almacena una representación geométrica simple en el campo shape y los datos no modificados (incluidos los elementos adicionales) se almacenan en el campo gdb_geomattr_data.

Si registra una tabla o vista que contiene un campo denominado gdb_geomattr_data, los datos del campo deben ser elementos geométricos que están asociados con el objeto.

Unidades geográficas de SQL Server en ArcGIS

Las mediciones de datos de geografía se realizan en metros por regla general. La unidad de medida se indica en la tabla sys.spatial_ref_system; confirme las unidades utilizadas con el valor del European Petroleum Survey Group (EPSG) asociado a los datos.