Puede conectarse desde ArcGIS a un almacén de datos de Teradata para realizar análisis espaciales complejos en subconjuntos de sus datos. Asimismo, puede publicar subconjuntos de datos en ArcGIS for Server como servicios de entidades editables. Estos servicios de entidades se pueden agregar a aplicaciones cliente usadas por los editores para actualizar los datos.
Para conectar desde ArcGIS a una base de datos de Teradata, instale el cliente GSS, la biblioteca ICU y el controlador ODBC de Teradata en los equipos cliente de ArcGIS. Consulte Conectarse a Teradata para obtener información.
Consulte los Requisitos de Teradata Data Warehouse Appliance para ArcGIS para obtener una lista de las versiones admitidas del almacén de datos y de las bibliotecas de clientes de Teradata.
Los datos espaciales se almacenan en Teradata usando el tipo ST_Geometry de Teradata. ST_Geometry forma parte de la instalación predeterminada del almacén de datos de Teradata.
Utilizar subconjuntos de datos
En la mayoría de los casos, almacenará grandes cantidades de datos en Teradata. Para realizar análisis desde ArcGIS o publicar datos, use un subconjunto de datos. La forma de hacer esto depende de lo que desea hacer con los datos.
- Si va a agregar datos a ArcMap para su visualización y análisis en el mapa, agregue una capa de consulta y defina la expresión de capa de consulta para devolver solo un subconjunto de los datos.
- Si va a agregar datos a ArcMap para publicar un servicio de mapas, defina una vista de base de datos que contenga únicamente un subconjunto de los datos. Las vistas de la base de datos se almacenan en la base de datos. Puede usar la herramienta de geoprocesamiento Crear vista de base de datos o un cliente SQL para definir vistas.
- Si va a agregar datos a ArcMap para publicar un servicio de entidades, desactive la opción Hacer visibles por defecto las nuevas capas añadidas antes de agregar sus datos al mapa. A continuación, abra el cuadro de diálogo Generador de consultas y defina un subconjunto de datos con SQL. Una vez que haya restringido la cantidad de datos que se mostrarán en ArcMap, haga la capa visible y prepare su mapa para la publicación.
Directrices adicionales para usar datos de Teradata en ArcGIS
La siguiente es una lista de directrices para usar Teradata con ArcGIS:
- Las columnas espaciales de las tablas deben tener asignado el nombre shape o el alias shape en una vista.
El almacenamiento subyacente para el tipo ST_Geometry de Teradata es CLOB; por lo tanto, el nombre o el alias de la columna (forma) es el único medio que tiene ArcGIS para identificar que la columna almacena datos espaciales.
- Debe usar las funciones de teselación proporcionadas por Teradata para crear y mantener un índice espacial en una columna ST_Geometry de Teradata.
Teradata utiliza el índice espacial de teselación con un área de interés predefinido. Por lo tanto, las operaciones espaciales de ArcGIS que se basan en entradas dinámicas, como acercar, alejar y el desplazamiento panorámico, no pueden utilizar el índice de teselación. Sin embargo, el índice de teselación se puede usar en una capa de consulta si la instrucción SQL utilizada para definir la capa de consulta utiliza explícitamente el índice de teselación para consultar un subconjunto de datos basado en un área de interés.
- Para que ArcGIS represente las entidades en un mapa y publique servicios Web, necesita un campo de identificación única. ArcMap le indicará que especifique este campo de Id. único al agregar una tabla espacial al mapa.
Las herramientas de ArcGIS no insertan valores nuevos en los campos de ID único de la base de datos. En lugar de ello, utilizan la base de datos para insertar valores en el campo. Puesto que Teradata no dispone de un tipo de datos ni un mecanismo integrado para rellenar los valores en un campo ID, no se pueden usar las herramientas de ArcGIS que creen filas nuevas de alguna tabla de base de datos con Teradata.
- Como usuario de Teradata, ya sabe que Teradata 14.x ST_Geometry solo admite datos espaciales bidimensionales; por consiguiente, no se pueden pegar datos espaciales que contengan coordenadas z o m en Teradata 14.x. Teradata 15.0 ST_Geometry admite coordenadas z pero no m; por consiguiente, no se pueden pegar datos espaciales que contengan coordenadas m en Teradata 15.0.
- Si usa ArcGIS para agregar una clase de entidad a la base de datos de Teradata y la referencia espacial que especifica para la clase de entidad no está en la tabla del sistema de Teradata, ArcGIS agrega un registro a la tabla SPATIAL_REF_SYS de Teradata y, por consiguiente, a la tabla GEOMETRY_COLUMNS.
Esto permite usar más referencias espaciales que se proporcionan de forma predeterminada con Teradata. Sin embargo, las actualizaciones a versiones principales de Teradata pueden eliminar estas tablas y volverlas a crear con solo los valores predeterminados en ellas.
Antes de actualizar Teradata, debe hacer siempre una copia de seguridad de la base de datos. Asegúrese de que incluya los registros de estas tablas para poder restaurarlas si es necesario después de una actualización de Teradata. Puede seguir este procedimiento general para realizar una copia de seguridad y restaurar los registros SPATIAL_REF_SYS y GEOMETRY_COLUMNS durante una operación de actualización de base de datos:
- Cree una copia de seguridad de su base de datos.
- Conéctese a una base de datos en la que realizará copias de las tablas SPATIAL_REF_SYS y GEOMETRY_COLUMNS.
En este ejemplo, el nombre de la base de datos es mybackupdb.
database mybackupdb;
- Cree copias de seguridad de sus tablas.
En este ejemplo, las tablas de origen están en la base de datos sysspatial.
CREATE TABLE mybackupdb.spatial_ref_sys AS sysspatial.spatial_ref_sys WITH DATA; CREATE TABLE mybackupdb.geometry_columns AS sysspatial.geometry_columns WITH DATA;
- Actualice la base de datos de la fuente de datos Teradata.
- Conéctese a la base de datos en que copió las tablas.
- Restaure las tablas a su base de datos actualizada.
--Restore the geometry columns table. INSERT INTO sysspatial.geometry_columns SELECT * FROM mybackupdb.geometry_columns; --Restore the spatial_ref_sys table. INSERT INTO sysspatial.spatial_ref_sys SELECT * FROM mybackupdb.spatial_ref_sys MINUS SELECT * FROM sysspatial.spatial_ref_sys;
- Una vez restaurado el contenido de las tablas, puede eliminar las copias de seguridad de las tablas.
DROP TABLE mybackupdb.spatial_ref_sys; DROP TABLE mybackupdb.geometry_columns;
- Si es necesario, vuelva a otorgar privilegios en estas tablas a los usuarios que crean datos en la base de datos.