Tengo una carpeta con numerosas geodatabases en ella. Dentro de las geodatabases hay clases de entidad. Me gustaría obtener una lista de las clases de entidad en estas geodatabases utilizando un script Python. Solo he llegado a enumerar las geodatabases. ¿Alguien tiene una sugerencia para enumerar las clases de entidad en las geodatabases?
La línea de elementos de impresión en mi script me da los siguientes resultados:
C:\output\data.gdb
C:\output\otherdata.gdb
C:\output\somethingelse.gdb
Quiero generar una lista de las clases de entidad en las geodatabases anteriores. A continuación se muestra mi guión hasta ahora.
import arcpy, os, sys
from arcpy import env
arcpy.env.workspace = "D:\\output"
inWorkspace = arcpy.env.workspace
workspaces = arcpy.ListWorkspaces("*", "FileGDB")
for item in workspaces:
print item #This part gives me the print statements I shared above
# fcList = arcpy.ListFeatureClasses() #I haven't figured this part out
#I want to list the feature classes in the geodatabases
arcpy
arcgis-10.0
feature-class
workspace
Patty Jula
fuente
fuente
Respuestas:
El truco que te estás perdiendo es hacer que cada gdb sea el espacio de trabajo activo antes de enumerar los contenidos:
También tenga en cuenta que esto perderá una clase de entidad dentro de los conjuntos de datos de entidad, consulte ¿ Listado de todas las clases de entidad en la Geodatabase de archivos, incluso dentro de los conjuntos de datos de entidad? para resolver eso
En términos más generales, si lo usa
r
, no necesita duplicar la barra diagonal inversa (facilita la copia y el pegado desde la barra de direcciones del explorador de Windows, etc.): por ejemplor'D:\output'
fuente
for wspace in workspaces:
yfor fc in featureclasses:
.Este script se ocupará de cualquier conjunto de datos de características existentes (al menos en teoría, no lo he probado). Sin embargo, la misma idea general, si hay conjuntos de datos de características, debe establecer su directorio de trabajo en ese conjunto de datos antes de enumerar las características dentro.
fuente
arcpy.env.workspace = gdb
como ListWorkspaces devuelve la ruta completa. ;-)