Verifique la validez de la geodatabase de archivos usando arcpy

10

Como sugiere el título, ¿cómo puedo saber si un archivo GDB es válido con arcpy? Un enfoque es, solo verificar si el nombre termina con .gdb, pero ese no es un enfoque sólido. Porque se puede terminar con un archivo normal .gdb, donde los GDB son esencialmente carpetas para el sistema operativo. Entonces, ¿cómo puedo hacer eso?

usuario
fuente

Respuestas:

8

El siguiente código se utiliza para enumerar espacios de trabajo , en este caso, geodatabases de archivos. No comprueba la extensión del archivo .gdb, pero está buscando su tipo interno. Esto debería dejar fuera los directorios con una .gdbextensión, pero que en realidad no son archivos GDB.

import arcpy

arcpy.env.workspace = "C:/Data" 

# List all file geodatabases in the current workspace 
# 
workspaces = arcpy.ListWorkspaces("*", "FileGDB")
for workspace in workspaces: 
    # Print workspace name
    #
    print workspace
Consigue espacial
fuente
8

Donde la respuesta de @Get Spatial es parcialmente correcta, pero no resuelve el problema directamente. Entonces respondiendo mi propia pregunta:

desc = arcpy.Describe(filePath)
print desc.dataType

Imprime el tipo de objeto que la ruta dada dirige. Para carpetas, imprime Foldery para geodatabases imprimeWorkspace

usuario
fuente