ArcGIS aplica determinadas reglas a la hora de conectarse a una fuente de datos. Se aplica lo siguiente cuando ArcGIS se conecta a los datos de una base de datos para leerlos:
Nombres de objeto
Los sistemas de administración de bases de datos tienen diferentes definiciones de los caracteres aceptables para los nombres de objeto. La mayoría de los nombres deben empezar con una letra y no pueden contener espacios, barras diagonales inversas ni palabras clave reservadas para sistemas de administración. Algunas bases de datos admiten caracteres especiales tales como las barras diagonales (/), los guiones bajos (_), los signos de dólar ($), los guiones (-), los puntos (.) o las combinaciones de minúsculas y mayúsculas. A veces, la base de datos permite usar caracteres especiales, palabras clave reservadas o nombres en mayúsculas, en minúsculas o con una combinación de ambas, si el nombre de objeto se especifica entre delimitadores, por ejemplo, comillas dobles.
No obstante, ArcGIS no delimita los nombres de objetos. No cree ningún nombre de tabla, clase de entidad, índice, base de datos, usuario*, rol ni otro objeto que requieran delimitadores si los va a utilizar con ArcGIS. El objeto se creará en la base de datos, pero no podrá acceder a él desde ArcGIS.
*Los nombres de usuario de Microsoft SQL Server que contienen caracteres especiales están delimitados para que sean totalmente compatibles con los inicios de sesión autenticados de Windows y los grupos de Active Directory; no obstante, ArcGIS no admite nombres de usuario que contengan comillas simples ni apóstrofos.
Longitud de nombre
ArcGIS puede leer y (en algunos casos) crear objetos de base de datos, como tablas, vistas y usuarios. La longitud máxima de nombre que permite ArcGIS para estos objetos se indica en la siguiente tabla, junto con excepciones donde corresponda.
Tipo de objeto | Caracteres máximos creados por ArcGIS | Caracteres máximos leídos por ArcGIS | Excepciones |
---|---|---|---|
Nombre de la base de datos | NA 250 cuando se crean en SQLite. | 31 250 cuando se leen desde SQLite. | ArcGIS puede leer el nombre de base de datos máximo que permite Oracle. Los valores de nombre de base de datos no se aplican a SAP HANA. El nombre de base de datos de SQLite consta de la ruta del archivo, el nombre del archivo y la extensión del archivo. Si la base de datos de SQLite está configurada para utilizar el tipo espacial ST_Geometry o SpatiaLite, la extensión del archivo es (.sqlite). Si la base de datos de SQLite está configurada como un OGC GeoPackage, la extensión del archivo es (.gpkg). |
Nombre de tabla, clase de entidad o vista | 128 158 cuando se crean en SQLite. | 128 158 cuando se leen desde SQLite. | |
Nombre del índice | 16 en todas las bases de datos salvo SQL Server y SQLite, donde puede crear nombres de índice de hasta 128 caracteres. | Hasta el límite de base de datos de índices que se crean fuera de ArcGIS. | Los nombres de índice no se aplican en SAP HANA. |
Nombre del campo (columna) | 31 cuando se crean en SQL Server, PostgreSQL, SAP HANA,Teradata y SQLite. 30 cuando se crean en Db2, Informix y Oracle. | 31 cuando se leen desde PostgreSQL y SQLite. 30 cuando se leen desde Db2, Informix y Oracle 12.1 o versiones anteriores. Hasta el límite de la base de datos en el caso de otras bases de datos compatibles. | |
Nombre de usuario | ArcGIS únicamente crea usuarios en las siguientes bases de datos. Se muestran las longitudes máximas de nombre de usuario creadas.
| En función de la forma de conexión, el cuadro de diálogo Conexión de base de datos solo permite 31 caracteres. La herramienta de geoprocesamiento Crear conexión de base de datos acepta hasta el límite de la base de datos. | Los valores de nombre de usuario no se aplican a SQLite. |
Contraseña | ArcGIS únicamente crea contraseñas para usuarios en las siguientes bases de datos. Se muestran las longitudes máximas de contraseña creadas.
| 256 para todas las bases de datos compatibles salvo Teradata, donde solo se admiten 31 caracteres. | Los valores de contraseña no se aplican a SQLite. |
Validación de geometrías
Cuando se crean datos en una base de datos utilizando un cliente de ArcGIS, ArcGIS valida la geometría basándose en determinadas reglas. Si la geometría que ha creado en un cliente de ArcGIS no es válida, ArcGIS no le permitirá insertarla en la base de datos.
Las funcione constructoras de ST_Geometry de IBM y Esri y la API de ArcGIS utilizan la biblioteca de formas de Esri para validar los datos de geometría al crear la entidad. Por lo tanto, aunque cree una forma ST_Geometry de Esri o IBM utilizando SQL, se aplicarán las reglas de validación y las geometrías que no sean válidas no se confirmarán en la base de datos.
Otros tipos espaciales, como SDO_Geometry, la geometría o geometría de PostGIS, y la geometría o geografía de Microsoft SQL Server, tienen sus propias funciones constructoras y utilizan sus propias reglas de verificación de formas. Puede que estas reglas no sean las mismas que las que se aplican en ArcGIS. Los clientes de ArcGIS verifican la geometría al leer los datos; no se mostrará ninguna geometría que infrinja las reglas de validación de geometría de ArcGIS. Si se conecta a una base de datos que contiene datos creados fuera de ArcGIS, debe prestar atención a las reglas que se aplican en ArcGIS.
Reglas de validación para puntos
- El área y la longitud de los puntos valen 0.0.
- Un solo sobre de punto es igual a los valores x,y del punto.
- El sobre de un punto multiparte es la caja de límite mínima.
Reglas de validación para líneas o cadenas de líneas
- Cada parte debe tener al menos dos puntos distintos.
- Cada parte puede no intersecarse a sí misma. Los puntos de inicio y fin pueden ser los mismos, pero el anillo resultante no se trata como un polígono.
- Las partes pueden tocarse entre sí en los extremos.
- La longitud es la suma de todas las partes.
Reglas de validación para líneas o cadenas tipo "espagueti"
- Las líneas pueden intersecarse a sí mismas.
- Cada parte debe tener al menos dos puntos distintos.
- La longitud es la suma de todas las partes.
Reglas de validación y operaciones para polígonos
- Los nodos colgados no son válidos.
- Se verifica que los segmentos de línea que forman el polígono estén cerrados (las coordenadas z en los puntos de inicio y fin deben ser las mismos) y que no se crucen.
- Para polígonos con agujeros, estos deben estar completamente dentro del límite exterior. No será válido ningún agujero que quede fuera del límite exterior.
- Un agujero que toca un límite exterior en un punto común único se convierte en una inversión del polígono.
- Varios agujeros que se tocan en puntos comunes se combinan en un solo agujero.
- Los polígonos multiparte no se pueden superponer. Sin embargo, dos partes se pueden tocar en un punto.
- Los polígonos multiparte no pueden compartir un límite común.
- Si dos anillos tienen un límite común, se fusionan en un solo anillo.
- El perímetro total de la geometría, incluidos los límites de todos los agujeros en polígonos donut, se calcula y almacena como la longitud de la geometría.
- Se calcula el área.
- Se calcula el sobre.
- Los puntos de un polígono se almacenan en el sentido contrario a las agujas del reloj, aunque los clientes de ArcGIS puedan devolver puntos en cualquier dirección. Si genera un polígono que contiene coordenadas en el sentido de las agujas del reloj, ArcGIS cambia la rotación para garantizar que las coordenadas sigan una dirección en el sentido contrario a las agujas del reloj.
En este ejemplo, el punto de inicio es a y la descripción de la coordenada correcta es a,b,c,d,a.
- Un polígono puede tener inversiones, que son espacios vacíos dentro del polígono que tocan el límite exterior.
- Los polígonos invertidos tienen un anillo interior que toca el límite exterior. Éstos no se consideran polígonos donut.
- Cuando un polígono tiene un agujero de donut, el límite exterior se lee primero. Los puntos de los agujeros se almacenan en la dirección opuesta al límite exterior.
En la figura siguiente, el límite exterior se describe como a,b,c,d,a y el agujero se describe como e,f,g,h,e. Para todo el polígono, la entidad se almacena como a,b,c,d,a,e,f,g,h,e.
- Si dos agujeros se tocan en un punto, se los trata como un solo agujero, no dos.
En este ejemplo, las dos áreas interiores son un agujero único porque comparten un punto común, g.
- La combinación de polígonos y polígonos con agujeros puede volverse bastante compleja, como se muestra en el gráfico siguiente. El límite exterior es un lago con una isla. Hay un lago pequeño en la isla.
Es posible representar estos polígonos como una, dos o tres entidades. Podría almacenar cada polígono como una entidad separada. El lago más grande es un polígono donut. El límite del lago grande es el límite exterior, mientras que la isla es el límite de un agujero donut único. La isla más grande es también un polígono donut. El límite de la isla es el límite exterior, mientras que el lago pequeño es el agujero. El lago pequeño es un polígono único.
Si los lagos son las entidades importantes, una entidad con un agujero representa el lago grande, mientras que una segunda forma representa el lago pequeño. También podría usar un polígono multiparte para representar la entidad. La primera parte del polígono es el lago grande con un agujero de donut que representa la isla. La segunda parte es el lago pequeño.
- Las geometrías nulas son válidas y actúan como marcadores de posición. Le permiten tener una fila de atributo sin la geometría correspondiente. Un ejemplo que podría resultar en una geometría nula es una solicitud para la intersección de dos polígonos no intersecantes.
Dado que las áreas A y B no se tocan, el resultado de una consulta de intersección produce una geometría vacía.
- Las entidades tienen dimensiones. Una entidad que solo cuenta con coordenadas x,y se considera bidimensional. Una entidad que tiene mediciones o coordenadas z es tridimensional. Una entidad también puede tener una medición nula.
Metadatos espaciales
Las geodatabases guardan metadatos sobre los datos espaciales que contienen. Los clientes de ArcGIS pueden leer la información sobre el tipo de entidad de la clase de entidad (por ejemplo, puntos, líneas o polígonos), la dimensionalidad (coordenadas x, y, z, y m), la referencia espacial, el identificador único y la extensión de la clase de entidad desde las tablas de sistema de la geodatabase. Las mismas tablas no están disponibles cuando ArcGIS se conecta la clase de entidad de una base de datos. Por este motivo, ArcGIS debe obtener esta información de otras fuentes.
Cuando usted arrastra una clase de entidad (tabla espacial) a ArcMap, este crea una capa de consulta. Para definir la capa de consulta, ArcMap realiza lo siguiente:
- Consulta la base de datos en busca de información sobre la tabla espacial, como, por ejemplo, dimensionalidad, referencia espacial y tipo de geometría.
- Si la información no está definida para la tabla en su conjunto, ArcMap lee la primera fila de la tabla y utiliza la información de esa entidad.
- Si la referencia espacial, el tipo de geometría o la dimensionalidad no se pueden determinar examinando la primera fila, por ejemplo, si la tabla no contiene datos o la fila utiliza una referencia espacial personalizada, se le pedirá que proporcione esta información para utilizarla en la definición de la capa.
- ArcMap consulta la base de datos para buscar una columna no nula que se pueda utilizar como identificador único (ObjectID) de las filas de la tabla concreta. Si no se encuentra una fila calificada, se le pide que defina un ObjectID para la tabla.
- Por último, ArcMap calcula la extensión de la capa cuando usted la agrega al mapa.
Dado que lo que se muestra en el mapa se basa en una consulta, puede abrir la definición de la capa de consulta y cambiarlo. Por ejemplo, si la clase de entidad contiene tanto puntos como polígonos, puede abrir la definición de la capa de consulta y elegir el tipo de geometría que se va a mostrar. Del mismo modo, si la clase de entidad contiene varias columnas espaciales, puede abrir la definición de la capa de consulta y cambiar la consulta para incluir otras columnas espaciales en su lugar. Sea consciente, sin embargo, de que la consulta no puede modificarse para mostrar tipos de datos incompatibles.