Überprüfen Sie die Gültigkeit der Datei-Geodatabase mit arcpy

10

Wie der Titel schon sagt, wie kann ich feststellen, ob eine GDB-Datei mit arcpy gültig ist? Ein Ansatz besteht darin, nur zu überprüfen, ob der Name mit endet .gdb, aber das ist kein robuster Ansatz. Weil eine normale Datei mit beendet werden kann .gdb, wobei GDBs im Wesentlichen Ordner für das Betriebssystem sind. Wie kann ich das machen?

Nutzer
quelle

Antworten:

8

Der folgende Code wird zum Auflisten von Arbeitsbereichen verwendet , in diesem Fall von Datei-Geodatabases. Es wird nicht nach der Dateierweiterung .gdbgesucht, sondern nach dem internen Typ. Dies sollte Verzeichnisse mit einer .gdbErweiterung weglassen, die aber eigentlich keine File GDBs sind.

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
Holen Sie sich räumlich
quelle
8

Die Antwort von @Get Spatial ist teilweise richtig, löst das Problem jedoch nicht direkt. Beantworte also meine eigene Frage:

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

Es gibt den Typ des Objekts aus, das der angegebene Pfad leitet. Für Ordner wird gedruckt Folderund für Geodatabases wird gedrucktWorkspace

Nutzer
quelle