查找MDB中高程点的高程值有0值的图幅(用游标遍历查找某个字段的值),并将查到的结果写入到TXT中
Posted gis木棉鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找MDB中高程点的高程值有0值的图幅(用游标遍历查找某个字段的值),并将查到的结果写入到TXT中相关的知识,希望对你有一定的参考价值。
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 FeatureClass Fields = arcpy.ListFields(FeatureClass) for Field in Fields: fieldname = Field.name #print fieldname if "ELEV" in fieldname: cursor = arcpy.da.SearchCursor(FeatureClass, ‘ELEV‘) for row in cursor: #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中的主要内容,如果未能解决你的问题,请参考以下文章
南方cass 中 用原图生成无编码高程点的时候,x,y坐标与原图不符,高程值是对的,如何解决这个问题
在arcgis9.3中,如何将一个包含高程信息的面图层(Polygon ZM)转换为不包含高程的面图层(Polygon)