24 votos

¿Cómo hacer un inventario SIG?

Mi oficina experimentará un gran cambio en su sección de SIG. Esta sección lleva funcionando desde los años 80 y cuenta con una enorme colección de datos SIG (es decir, shapefiles, archivos raster, datos, etc.), pero nunca ha sido objeto de ningún inventario. Ahora se hará.

¿Existe alguna forma automatizada de extraer toda la información sobre los datos del SIG (es decir, shapefile, cobertura arc-info, archivo de capas, *.mxd, gdb, archivo raster, etc.) de un PC a un archivo Excel? La información puede incluir la fecha de creación, la fecha de la última edición, el nombre de la carpeta o contenedor, etc.

0voto

jtruelove Puntos 633

No he conseguido que las otras respuestas funcionen del todo.

En el primer ejemplo, en un directorio con geodatabases y shapefiles, sólo obtuve una lista de las clases de características en la geodatabase, pero cuando comenté la parte de geodatabases del script, obtuve una lista de shapefiles.

En el segundo ejemplo, la parte de las geodatabases no funcionaba en absoluto, así que copié la parte de las geodatabases del primer ejemplo. De nuevo, obtuve una lista de sólo geodatabases.

Entonces me di cuenta: las bases de datos geográficos se leen antes que los archivos shape, y el script se detiene en el punto break en la parte de geodatabases.

Siendo un novato en python no sé por qué el break es necesaria, pero sin ella el script parece entrar en un bucle sin fin, pero ya que el break se necesita se me ocurrió que poner la parte de geodatabases en su propio bucle, después de que los otros tipos de archivos se enumeran, resolvería el problema:

#create blank text file with open("C:\\Temp\\GISlayers.txt", "w") as txt: for root, dirs, files in os.walk("C:\\Temp\\temp"): for f in files: #look for shapefiles, etc. [code...] for f in files: #look for geodatabases [code...]

Cuando lo hice, obtuve mi listado completo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X