arcgis属性遍历插件_ArcGIS遍历区域内要素的属性(python)

import sys

reload(sys)

sys.setdefaultencoding('utf-8')     #使用utf码,默认是ascii码

import arcpy

path="D:/GISData"

arcpy.env.workspace=path

arcpy.MakeFeatureLayer_management(path+"/YF/样方分布图.shp",'YF')#将样方导入图层,命名YF

arcpy.MakeFeatureLayer_management(path+"/QJ/区界.shp",'QJ')#将区界导入图层,命名QJ

qjrws=arcpy.SearchCursor("QJ") #遍历**市各个区县

fds=['YFBH','YFXS','Area','GDLX','YFDZ']  #需要记录样方的属性名称

df=open(path+"/data.txt",'a') #准备将数据写入data文件

for fd in fds:

df.write(fd.ljust(9))

df.write('\t')

df.write('\n')

for qjrw in qjrws:

arcpy.SelectLayerByAttribute_management("QJ","NEW_SELECTION","XZQHMC ='"+qjrw.getValue('XZQHMC')+"'")#依次选择每个区县

arcpy.SelectLayerByLocation_management ("YF","COMPLETELY_WITHIN","QJ")#选择每个区县里面的样方

df.write('\n')

rows=arcpy.SearchCursor("YF") #遍历选中的每个样方

df.write(qjrw.getValue('XZQHMC'))  #写入区县名称

df.write('\n')

df.write('\n')

for r in rows: #依次写入每个样方的数据

for fd in fds:

df.write(str(r.getValue(fd)).ljust(9))

df.write('\t')  #制表排版

df.write('\n')#换行

df.close()#关闭文件

文件效果

YFBH         YFXS      Area        GDLX      YFDZ

**区(县)

9020116   12.19     19404.02  梯田(T)    **区(县)**镇(乡)**村*组

9020202   14.41     22293.12  坡地(P)    **区(县)**镇(乡)**村*组

9020210   10.42     15362.01  坡地(P)    **区(县)**镇(乡)**村*组

9020214   11.09     24548.32  坡地(P)    **区(县)**镇(乡)**村*组

9020232   15.28     20627.35  坡地(P)    **区(县)**镇(乡)**村*组

9020430   17.06     11893.23  坡地(P)    **区(县)**镇(乡)**村*组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值