查找MDB中高程點的高程值有0值的圖幅(用遊標遍歷查找某個字段的值),並將查到的結果寫入到TXT中
阿新 • • 發佈:2019-01-14
name addm open ces pat message back ext put
1、
mdbs = arcpy.ListWorkspaces("*","Access")
2、
FeatureClasses = arcpy.ListFeatureClasses()
3、
Fields = arcpy.ListFields(FeatureClass)
4、
cursor = arcpy.da.SearchCursor(FeatureClass, ‘ELEV‘)
註意:工作空間的轉換
import arcpy from arcpy import env import os #input = r"E:\test\MDB" input = arcpy.GetParameterAsText(0) env.workspace= input mdbs = arcpy.ListWorkspaces("*","Access") for mdb in mdbs: #a = "" cout = 0 mdbname = mdb[-14:-4] #print mdbname env.workspace=mdb FeatureClasses = arcpy.ListFeatureClasses() for FeatureClass in FeatureClasses: if "TERP" in FeatureClass: #print FeatureClassFields = arcpy.ListFields(FeatureClass) for Field in Fields: fieldname = Field.name #print fieldname if "ELEV" in fieldname: cursor = arcpy.da.SearchCursor(FeatureClass, ‘ELEV‘) for row incursor: #print(row) if row[0] == 0: #a = mdbname cout = cout+1 if cout > 0: arcpy.AddMessage(mdbname+" "+"dgx Elev have 0 problem!") textpath = input+os.sep+"text.txt" f = open(textpath,"a") f.write(mdbname+‘\n‘) f.close() # print cout # f = open("E:/test/text.txt","a") #f.write(a+‘\n‘) #f.close()
查找MDB中高程點的高程值有0值的圖幅(用遊標遍歷查找某個字段的值),並將查到的結果寫入到TXT中