查找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坐标与原图不符,高程值是对的,如何解决这个问题

已知几个点的坐标和高程,用啥软件算它的方量

从DEM数据提取对应点的高程,使用ArcGIS

用MATLAB绘制三维地形高程图

matlab等高线中标注点的高程

在arcgis9.3中,如何将一个包含高程信息的面图层(Polygon ZM)转换为不包含高程的面图层(Polygon)