Migrar a la geodatabase de archivos
De los diversos tipos de geodatabases, las geodatabases de archivos se parecen más a las geodatabases personales en el sentido de que están diseñadas para que las edite un único usuario único y no admiten el versionado de la geodatabase. También se trabaja con ellas de la misma manera, ya sea al mostrar, consultar, editar o procesar datos o al desarrollar aplicaciones. No obstante, hay algunas diferencias importantes. Por ejemplo, las geodatabases personales tienen un límite de almacenamiento de 2 GB, mientras que las geodatabases de archivos no tienen ningún límite y la sintaxis SQL (lenguaje estructurado de consultas) difiere ligeramente entre las dos. Si está acostumbrado a trabajar con geodatabases personales y le gustaría migrar a una geodatabase de archivos, en este tema se indican las diferencias y se explica cómo empezar.
Para una introducción acerca de las diferencias entre las geodatabases de archivos y las geodatabases personales y de ArcSDE, consulte Tipos de geodatabases y Cómo se almacenan en una geodatabase los datos rasterizados.
Crear una nueva geodatabase de archivos
Para crear una nueva geodatabase de archivos vacía, haga clic con el botón derecho en una carpeta de sistema de archivos en el árbol de catálogo, seleccione Nuevo, a continuación, haga clic en Archivo geodatabase. Consulte Crear una geodatabase de archivos para obtener más información.
Migrar datos existentes
- La manera más fácil de copiar los datos de una geodatabase personal en una geodatabase de archivos consiste en utilizar los comandos Copiar y Pegar del árbol de catálogo. El método de copiar y pegar es flexible porque le permite elegir exactamente lo que desea copiar. Puede seleccionar todo el contenido de la geodatabase personal o solo elementos determinados como, por ejemplo, un conjunto de datasets de entidades, que desee migrar. Por ejemplo, para copiar un dataset de entidades desde una geodatabase personal en una geodatabase de archivos, cree una nueva geodatabase de archivos vacía en el árbol de catálogo. Seleccione los elementos en la geodatabase personal que desee, haga clic con el botón derecho en la selección, haga clic en Copiar y, a continuación, haga clic con el botón derecho en la geodatabase de archivos y haga clic en Pegar. Para obtener más información, consulte Copiar datasets de entidades, clases y tablas en otra geodatabase.
Copiar/Pegar puede migrar cualquier tipo de datos de la geodatabase excepto los dominios de atributo a los que no hace referencia ninguna clase de entidad o tabla. Si tiene tales dominios y desea migrarlos, utilice el método Exportar a documento de espacio de trabajo XML analizado más adelante.
- Para copiar una geodatabase completa, utilice el comando Exportar > XML Workspace Document para exportar la base de datos completa a un archivo XML. A continuación, puede crear una nueva geodatabase de archivos vacía y utilizar Importar > XML Workspace Document para importar los datos del archivo XML a la geodatabase de archivos. Este método también resulta flexible ya que le permite elegir los datasets que desea exportar en el asistente de exportación. Para obtener más información, consulte los temas siguientes:Exportar datasets de entidades, clases y tablas a un archivo de exportación e Importar datasets de entidades, clases y tablas desde un documento de espacio de trabajo XML.
- Si está migrando datos de la geodatabase de baja precisión, los métodos de copiar y pegar y Exportar a documento de espacio de trabajo XML convierten los datos automáticamente a alta precisión, estableciendo la resolución en aproximadamente 0,1 milímetros. Este es un buen valor predeterminado y funciona bien en casi todos casos. Sin embargo, si desea almacenar los datos con una resolución diferente, utilice la herramienta Mejorar referencia espacial antes de migrar los datos con copiar y pegar o exportar a documento de espacio de trabajo XML. Mejorar referencia espacial convierte los datos a alta precisión, permitiéndole elegir la resolución. Otra manera de ejercer el control sobre la resolución consiste en migrar con las herramientas de geoprocesamiento Importar/Exportar. Para obtener más información, consulte Migrar a alta precisión.
- Para mover shapefiles, coberturas o datos en otro formato a una geodatabase de archivos, utilice el mismo método que utilizaría para mover los datos a una geodatabase personal. Seleccione el dataset en el árbol de catálogo, haga clic con el botón derecho, a continuación seleccione el comando Exportar > Una geodatabase; utilice el comando Una geodatabase (multiple) para exportar varios datasets a la vez. También puede encontrar estas herramientas en ArcToolbox en Conversión > Una geodatabase. Para obtener más información, consulte los siguientes temas: Importar entidades, Importar tablas e Importar datasets ráster.
Las geodatabases de archivos tienen palabras clave de configuración que personalizan el almacenamiento de un dataset individual. Puede especificar una palabra clave al copiar y pegar o importar los datos, aunque el valor predeterminado suele ser adecuado. Para obtener más información, consulte Palabras clave de configuración para geodatabases de archivos.
Crear nuevos datasets
Un dataset de entidades, clase de entidad, catálogo de ráster, dataset ráster y tabla vacía se crea en una geodatabase de archivos de la misma manera que se crea en una geodatabase personal: haga clic con el botón derecho en la geodatabase o dataset de entidades, seleccione Nuevo y, a continuación, haga clic en el elemento que desea crear. Consulte cualquiera de los siguientes temas para obtener más información:
Crear nuevos datasets utilizando ArcCatalog
Crear datasets ráster en una geodatabase
Crear catálogos de ráster en una geodatabase
Una vez que haya creado una tabla o clase de entidad vacía, cargue los datos en el árbol de catálogo. Para obtener más información, consulte Sobre cómo cargar datos en las clases y tablas de entidades existentes e Importar datasets ráster.
A diferencia de las geodatabases personales, cada vez que se crea una nueva clase de entidad de geodatabase de archivos, catálogo de ráster, dataset ráster o tabla, ya sea a través del árbol de catálogo o de una herramienta de geoprocesamiento, puede especificar opcionalmente una palabra clave de configuración. La palabra clave de configuración personaliza cómo se almacenan los datos y cómo se accede a los mismos. Para obtener una descripción de las palabras clave disponibles, consulte Palabras clave de configuración para geodatabases de archivos.
Editar, mostrar y consultar datos
Una vez en una geodatabase de archivos, un dataset tiene el mismo aspecto tanto en ArcCatalog y ArcMap como en una geodatabase personal. Asimismo, a excepción de los índices espaciales y consultas SQL, que se analizarán más adelante, se trabaja con los datasets la misma manera. Todos los comandos y herramientas que aceptan los datasets de geodatabases personales también aceptan datasets de geodatabases de archivos.
El índice espacial de una clase de entidad de geodatabase personal utiliza un tamaño de cuadrícula único que no se puede modificar. El índice espacial de una clase de entidad de geodatabase de archivos utiliza hasta tres tamaños de cuadrícula, que se pueden modificar en cualquier momento. ArcGIS vuelve a generar automáticamente el índice espacial al final de ciertas operaciones de actualización para asegurarse de que el índice y los tamaños de cuadrícula sean óptimos. Sin embargo, en algunos casos raros, es posible que tenga que actualizar el índice manualmente. Para obtener más información, consulte Configurar índices espaciales.
La sintaxis de la cláusula SQL WHERE que se utiliza para consultar las geodatabases de archivo tiene la misma sintaxis que se utiliza en las coberturas, shapefiles y otras fuentes de datos basadas en archivos, con algunas funciones adicionales como, por ejemplo, la compatibilidad con subconsultas. Como resultado, la sintaxis de la cláusula WHERE difiere de las geodatabases personales. Los cuadros de diálogo para crear expresiones SQL en ArcGIS le ayudan a utilizar la sintaxis correcta de la cláusula WHERE para los datos que está consultando, ya que muestran los nombres de campo y los valores con los delimitadores adecuados. También seleccionan las palabras clave pertinentes y los operadores. Sin embargo, si tiene una cláusula WHERE definida para una capa en una geodatabase personal, es posible que no funcione en la misma capa una vez que haya movido los datos de origen a una geodatabase de archivos. Las razones posibles para que una cláusula WHERE no funcione son las siguientes:
- En las geodatabases personales, los nombres de campo se escriben entre corchetes, mientras que en las geodatabases de archivos, se escriben entre comillas dobles.
- Los comodines que se utilizan en geodatabases personales son * para cualquier número de caracteres y ? para un carácter. Las geodatabases de archivos utilizan % y _, respectivamente.
- Las búsquedas de cadenas en geodatabases personales no distinguen entre mayúsculas y minúsculas, mientras que en las geodatabases de archivos sí lo hacen.
- Las geodatabases personales utilizan UCASE y LCASE para convertir la mayúsculas y minúsculas de la cadena de caracteres, mientras que las geodatabases de archivos utilizan UPPER y LOWER.
- La fecha y la hora en las geodatabases personales se delimita mediante #, mientras que geodatabases de archivos van precedidas de la palabra date.
Sintaxis de la cláusula WHERE para una geodatabase personal |
Sintaxis equivalente para una geodatabase de archivos |
---|---|
[STATE_NAME] = 'California' |
"STATE_NAME" = 'California' |
[OWNER_NAME] LIKE '?atherine smith' |
"OWNER_NAME" LIKE '_atherine smith' |
[STATE_NAME] = 'california' (cuando se requiere una búsqueda que no distingue mayúsculas y minúsculas) |
LOWER("STATE_NAME") = 'california' |
UCASE ([LAST_NAME]) = 'JONES |
UPPER("LAST_NAME") = 'JONES' |
[DATE_OF_BIRTH] = #06-13-2001 19:30:00# |
"DATE_OF_BIRTH" = date '2001-06-13 19:30:00' |
Otro motivo por el que una cláusula WHERE podría no funcionar es que las geodatabases de archivos admiten menos operadores y funciones que las geodatabases personales y las geodatabases de archivos ofrecen compatibilidad limitada para las subconsultas. Sin embargo, es poco probable que una cláusula WHERE no funcione por esta razón. Las geodatabases de archivo admiten la mayor parte de las funciones de cláusula WHERE que probablemente necesite.
Geoprocesamiento
Hay pocas diferencias en cómo utilizar las herramientas de geoprocesamiento en las geodatabases de archivos en comparación con las geodatabases personales:
- Todas las herramientas de geoprocesamiento admiten las geodatabases de archivos.
- Para crear una geodatabase de archivos, utilice la herramienta Crear archivo GDB.
- Si utiliza una herramienta que crea una nueva clase de entidad, catálogo de ráster, dataset ráster o tabla en una geodatabase de archivos, puede especificar opcionalmente una palabra clave de configuración para personalizar cómo se almacenan los datos. La opción está disponible en algunas herramientas. Si la opción no está disponible, puede especificarla en el cuadro de diálogo Entornos.
Comprimir datos vectoriales
A diferencia de las geodatabases de ArcSDE y personales, las geodatabases de archivos le permiten almacenar opcionalmente datos vectoriales en formato comprimido de solo lectura para reducir los requisitos de almacenamiento. Los datos comprimidos tienen un formato de acceso directo. No tiene que descomprimir los datos al acceder a los mismos: ArcGIS y ArcReader los leen directamente. Los datos tienen el mismo aspecto que si estuvieran descomprimidos, y todas las operaciones de solo lectura se realizan de la misma manera, ya sea a través de un comando en el árbol de catálogo, geoprocesamiento o ArcObjects. Para obtener más información, consulte Acerca de la compresión de datos de la geodatabase de archivos.
Migrar aplicaciones
Si tiene una aplicación escrita en ArcObjects y desea cambiar los datos a los que accede desde una geodatabase personal o de archivos, tenga en cuenta lo siguiente:
- Actualice la fábrica del espacio de trabajo para hacer que la aplicación funcione en la nueva fuente de datos. Cambie la fábrica del espacio de trabajo de AccessWorkspaceFactory a FileGDBWorkspaceFactory y cambie la extensión de la geodatabase de .mdb a .gdb.
- Si la aplicación utiliza SQL, es posible que haya que actualizar la sintaxis para que funcione en una geodatabase de archivos:
- Tal y como se ha tratado previamente en este tema, la sintaxis de la cláusula WHERE de SQL difiere entre las geodatabases de archivo y las geodatabases personales. Si la aplicación utiliza QueryFilter o QueryDef, consulte el análisis anterior sobre la cláusula WHERE para conocer los cambios probables que tendrá que realizar.
- Las geodatabases de archivos no admiten todas las entidades y funciones disponibles para las geodatabases personales. En ArcGIS 9.2, entre las funciones habituales que no admiten las geodatabases de archivos se incluyen DISTINCT, GROUP BY y ORDER BY, y las funciones AVG, COUNT, MIN, MAX y SUM no se admiten fuera de las subconsultas. Es probable que versiones futuras incluyan la compatibilidad con algunas de ellas.
- La compatibilidad de uniones QueryDef para geodatabases de archivos está limitada en el sentido de que los subcampos solo pueden contener nombres de columnas simples; no se admiten los alias, expresiones y funciones. La cláusula FROM solo puede contener nombres de tabla simples.
- La compatibilidad de ExecuteSQL para INSERT y UPDATE en geodatabases de archivos se limita a instrucciones simples que solo contienen valores literales. Las expresiones compuestas como
SET RENTAL_PRICE = (RENTAL_PRICE - 1.00)
- Si la aplicación contiene subconsultas, es posible que no funcionen con geodatabases de archivos ya que la compatibilidad con las mismas es limitada. Para obtener más información, consulte Referencia de SQL.
- Para maximizar el rendimiento de la transferencia de datos, considere utilizar el modo de solo carga cada vez que se carga un número de registros grande. Para obtener más información, consulte las "Sugerencias de rendimiento" más abajo.
Al margen de estas diferencias, ArcObjects funciona del mismo modo en geodatabases de archivos y en geodatabases personales.
Sugerencias de rendimiento
Las siguientes indicaciones pueden ayudarle a mejorar y mantener el rendimiento de la geodatabase de archivos:
- La resolución predeterminada cuando se crea una nueva clase de entidad es de 0,1 milímetros o su equivalente en las unidades del sistema de coordenadas del dataset. El valor predeterminado para la resolución x, y funciona en casi todos casos. Si los datos no tienen esta precisión, puede establecer opcionalmente una resolución x, y mayor al crear la clase de entidad. Almacenar las coordenadas con una resolución x, y mayor disminuye los requisitos de almacenamiento y mejora el rendimiento. Esto no es exclusivo de las geodatabases de archivos; también se aplica a las geodatabases de ArcSDE. Para obtener más información sobre la resolución x, y, consulte Fundamentos de la clase de entidad.
- Al igual que con cualquier otra fuente de datos, cree solo aquellos índices de atributo que necesite realmente, ya que cada índice que agregue ralentizará ligeramente las ediciones a la clase de entidad o tabla. Cada vez que se edita un atributo indizado, ArcGIS también debe actualizar el índice. Si necesita editar un campo con frecuencia, evite crear un índice para el mismo si puede.
- Si planea agregar, editar o eliminar muchas entidades o registros en un dataset grande, ya sea a través de una sesión de edición, una herramienta de geoprocesamiento o el árbol de catálogo, es posible que pueda ahorrar tiempo eliminando el índice espacial y cualquier atributo de índice afectado antes de iniciar y, a continuación, volver a agregar los índices después de haber completado los cambios.
Cuando se agrega, edita o elimina una entidad o registro, ArcGIS tiene que actualizar los índices. Si está realizando modificaciones en un dataset pequeño o haciendo cambios en solo algunos registros, por ejemplo en 10 registros de 1 millón, el tiempo que tarda ArcGIS en actualizar los índices después de que cada cambio incremental no será un problema. Sin embargo, si está realizando cambios en un gran número de registros, por ejemplo en 300.000 de 1 millón, la actualización de los índices para los numerosos cambios incrementales, podría tardar más tiempo que si se eliminan los índices antes de iniciar y, a continuación, se agregan los índices después de haber completado los cambios. La decisión de si se deben borrar los índices en otros casos implica otros aspectos y es posible que no resulte obvia. Del mismo modo, los desarrolladores que escriben cargadores o convertidores con ArcObjects deberían considerar el uso del modo de solo carga cada vez que se cargue un gran número de registros. El modo de solo carga suspende la actualización de todos los índices espaciales y de atributos hasta que se hayan importado las entidades. Una vez importadas todas las entidades, los índices de todos los registros, tanto los nuevos como los existentes, se actualizan automáticamente. Este modo se establece a través de la interfaz IFeatureClassLoad.
- Al igual que en el caso de las geodatabases personales, si agrega y elimina datos frecuentemente, debería compactar la geodatabase de archivos con regularidad. También debería compactar una geodatabase de archivos después de cualquier cambio a gran escala. Al compactar, se mejora rendimiento reorganizando la forma en que los datos se almacenan en disco. Para obtener más información, consulte Compactar geodatabases de archivos y personales.
- Al igual que al trabajar con cualquier otro tipo de archivo almacenado en el sistema de archivos, mantenga su equipo a punto. Si está ejecutando Windows, ejecute el desfragmentador de disco ocasionalmente para mantener el rendimiento global del sistema de archivos. El desfragmentador de disco es una herramienta incluida en el sistema operativo Windows; para obtener más información, consulte la ayuda en línea del sistema operativo.
- Los tamaños de cuadrícula de índice espacial que son demasiado pequeños o demasiado grandes pueden provocar mayores tiempos de carga y un bajo rendimiento de búsqueda espacial. ArcGIS vuelve a generar automáticamente el índice espacial al final de la mayoría de operaciones, garantizando que los tamaños de cuadrícula sean óptimos. Raramente tendrá que volver a calcular el índice manualmente. Sin embargo, hay situaciones cuando se agregan muchas entidades en una sesión de edición que podrían requerir un recálculo manual. Para obtener más información, consulte Configurar índices espaciales.