Saya memiliki folder dengan banyak geodatabases di dalamnya. Di dalam geodatabases terdapat kelas fitur. Saya ingin mendapatkan daftar kelas fitur di geodatabases ini menggunakan skrip Python. Saya hanya sampai pada daftar geodatabases. Adakah yang punya saran untuk mendaftarkan kelas fitur di geodatabases?
Baris item cetak dalam skrip saya memberi saya hasil berikut:
C:\output\data.gdb
C:\output\otherdata.gdb
C:\output\somethingelse.gdb
Saya ingin membuat daftar kelas fitur di geodatabases di atas. Berikut ini skrip saya.
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
sumber
sumber
Jawaban:
Trik yang Anda lewatkan adalah menjadikan setiap gdb ruang kerja yang aktif sebelum mencantumkan konten:
Juga perhatikan bahwa ini akan melewatkan kelas fitur di dalam dataset fitur, lihat Daftar semua kelas fitur di File Geodatabase, termasuk di dalam dataset fitur? untuk menyelesaikannya.
Lebih umum, jika Anda menggunakan,
r
Anda tidak perlu menggandakan backslash semuanya (membuat copy dan paste lebih mudah dari bilah alamat windows explorer dll.): Mis.r'D:\output'
sumber
for wspace in workspaces:
danfor fc in featureclasses:
.Script ini akan berurusan dengan set data fitur yang ada (setidaknya secara teori - saya belum mengujinya). Namun, gagasan umum yang sama, jika ada dataset fitur, Anda perlu mengatur direktori kerja Anda ke dataset sebelum mendaftarkan fitur-fitur di dalamnya.
sumber
arcpy.env.workspace = gdb
sebagai ListWorkspaces mengembalikan path lengkap. ;-)