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. En su mayoría, deben empezar con una letra y no pueden incluir espacios, barras invertidas ni palabras clave reservadas para DBMS. Algunos admiten caracteres especiales como las barras diagonales (/), los subrayados (_), los signos de dólar ($), los guiones (-), los puntos (.) o las combinaciones de minúsculas y mayúsculas. A veces, el DBMS permite usar caracteres especiales, palabras clave reservadas o usar nombres en mayúsculas, en minúsculas o con una combinación de ambas si el nombre de objeto se especifica entre delimitadores, como comillas dobles.
No obstante, ArcGIS no delimita los nombres de objetos. No cree nombres de tablas, clases de entidad, bases de datos, usuarios*, roles u otros nombres de objetos 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 SQL Server que contienen caracteres especiales están delimitados para que sean totalmente compatibles con los inicios de sesión autenticados de Windows y con los grupos de Active Directory.
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 ArcGIS permite para estos objetos se indica aquí.
La cantidad de caracteres que supone el uso de texto ANSI. Los caracteres UTF-8 utilizan al menos el doble de bytes como caracteres ANSI, por lo que el número de caracteres permitidos se reduce.
ALTIBASE | Dameng | DB2 | Informix | Netezza | Oracle | PostgreSQL | SAP HANA | SQL Server | Teradata | |
---|---|---|---|---|---|---|---|---|---|---|
Nombre de la base de datos | 31 | 31 | 8 | 31 | 31 | 30 | 31 | 31 | 31 | 31 |
Nombre del campo (columna) | 31 | 31 | 31 | 31 | 31 | 30 | 31 | 31 | 31 | 31 |
Nombre del índice | 40 | 128 | 128 | 128 | NA | 30 | 63 | 127 | 128 | 128 |
Contraseña | 22 (ALTIBASE en Windows) 16 (ALTIBASE en sistemas operativos que no son de Windows) | 31 | 31 | 31 | 31 | 31 | 31 | 127 | 31 | 30 |
Nombre de clase de entidad o tabla | 40 | 128 | 128 | 128 | 128 | 30 | 63 | 127 | 128 | 128 |
Nombre de usuario | 31 | 31 | 30 | 31 | 31 | 30 | 31 | 31 | 31 | 31 |
Nombre de la vista | 40 | 128 | 128 | 128 | 128 | 30 | 63 | 127 | 128 | 128 |
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 funciones constructoras ST_Geometry de Esri y e IBM 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 de PostGIS y la geometría o la geografía de Microsoft SQL Server, tienen sus propias funciones de construcción y utilizan sus propias reglas de verificación de geometría. 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 arrastra una clase de entidad (tabla espacial) a ArcMap, 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 pedirá 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 capa de 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 una de las demás columnas espaciales en su lugar. Sea consciente, sin embargo, de que la consulta no puede modificarse para mostrar tipos de datos incompatibles.