আমি ব্যবহার শেষ পর্যন্ত gotchula এর উত্তর কিন্তু ফলন ছাড়া কারণ আমি সাধারণত পুনঃ-ব্যবহার করে এফসি হ্যান্ডলগুলি তৈরি করেছেন এবং ফলন এর একবার ব্যবহার করা হয় তারপর বাতিল বেশি সহজ আমাকে পড়তে ও বুঝতে কি জন্য fcs.append()
চেয়ে করছে fcs = yield(...)
।
def listFcsInGDB(gdb):
''' list all Feature Classes in a geodatabase, including inside Feature Datasets '''
arcpy.env.workspace = gdb
print 'Processing ', arcpy.env.workspace
fcs = []
for fds in arcpy.ListDatasets('','feature') + ['']:
for fc in arcpy.ListFeatureClasses('','',fds):
#yield os.path.join(fds, fc)
fcs.append(os.path.join(fds, fc))
return fcs
gdb = sys.argv [1]
fcs = listFcsInGDB(gdb)
for fc in fcs:
print fc
ফলাফল:
d:\> python list-all-fc.py r:\v5\YT_Canvec.gdb
Processing r:\v5\YT_Canvec.gdb
Buildings_and_structures\BS_2530009_0
Buildings_and_structures\BS_2380009_2
Buildings_and_structures\Tower
Buildings_and_structures\Underground_reservoir
...
এটি এখন মডিউলটিতে আমি আর্কপ্লাস * বলে। আপনার অন্যান্য কোড বা পাইথনপথ এবং তারপরে রাখুন:
import arcplus
fcs = arcplus.listAllFeatureClasses('d:\default.gdb')
for fc in fcs:
print "magic happens with: ", fc
আর্কপ্লাস ওয়াইল্ডকার্ড ফিল্টারিং যোগ করে; "হাইড্রো" সমন্বিত বৈশিষ্ট্য ডেটাসেটের মধ্যে "এইচডি_" দিয়ে শুরু হওয়া কেবল বৈশিষ্ট্যযুক্ত ক্লাসগুলির প্রক্রিয়া করতে
fcs = arcplus.listAllFeatureClasses(gdb, fd_filter='*Hydro*', fc_filter='HD_*')
। * এখন গিথুবে, ১০.০ এর জন্য আপগ্রেড করা হয়েছে আর্কগিস 9.3 এর জন্য এখানে দেখুন ।
arcpy.da.Walk
) কীভাবে জিআইএস তালিকা তৈরি করবেন?