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 o almacén de datos para leerlos:
Nombres de objeto
Los sistemas de administración de bases de datos y los proveedores de almacenes de datos en la nube tienen diferentes definiciones de los caracteres aceptables para los nombres de objeto. A veces, la base de datos permite usar caracteres no admitidos en los nombres de objeto si el nombre del objeto se especifica entre delimitadores, como comillas dobles. Sin embargo, ArcGIS no delimita los nombres de objeto, de modo que no puede reconocer estos nombres. Consulte Límites de nombre de objetos para obtener más información.
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.
Nota:
Si su base de datos permite menos caracteres que ArcGIS, el límite es el número de caracteres que permita la base de datos. Consulte la documentación correspondiente a su sistema de administración de bases de datos para conocer los límites de nombre de objetos.
El número de caracteres enumerado asume el uso de caracteres de un solo byte.
Tipo de objeto | Caracteres máximos creados por ArcGIS* | Caracteres máximos leídos por ArcGIS | Excepciones |
---|---|---|---|
Nombre de la base de datos | No aplicable para ninguna base de datos excepto SQLite. 250 cuando se crean en SQLite. | 250 cuando se leen desde SQLite. 31 cuando se leen desde otras bases de datos. 127 cuando se leen desde Amazon Redshift y Snowflake. | 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. 127 cuando se leen desde Redshift. | |
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 la base de datos. | Los nombres de índice no se aplican en SAP HANA ni en los almacenes de datos en la nube. |
Nombre del campo (columna) | 31 cuando se crean en SQL Server, PostgreSQL, SAP HANA,Teradata y SQLite. 30 cuando se crean en Db2 y Oracle. | 31 cuando se leen desde PostgreSQL y SQLite. 30 cuando se leen desde Db2 y Oracle 12.1 o versiones anteriores. 128 cuando se leen desde Snowflake o Google BigQuery. 127 cuando se leen desde Redshift. 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, pero solo es compatible con bases de datos, no con almacenes de datos en la nube. | Los valores de nombre de usuario no se aplican a SQLite ni a BigQuery. |
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 y almacenes de datos en la nube admitidos, excepto Teradata, para el que solo se admiten 31 caracteres, y Redshift, para el que solo se admiten 64 caracteres. | Los valores de contraseña no se aplican a SQLite o BigQuery. |
*No puede utilizar ArcGIS para crear objetos en almacenes de datos en la nube.
Para BigQuery, la longitud máxima de nombre de dataset predeterminado admitida es de 31 caracteres. La longitud máxima del nombre de proyecto admitida es de 30 caracteres.
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 un mapa de ArcGIS Pro, crea una capa de consulta. Para definir la capa de consulta, ArcGIS Pro 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, ArcGIS Pro 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.
- ArcGIS Pro 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,ArcGIS Pro calcula la extensión de la capa cuando 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.