博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcGIS遍历区域内要素的属性(python)
阅读量:7060 次
发布时间:2019-06-28

本文共 1346 字,大约阅读时间需要 4 分钟。

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)    **区(县)**镇(乡)**村*组 

转载于:https://www.cnblogs.com/Wishise/archive/2012/10/30/2746336.html

你可能感兴趣的文章
剑指offer——面试题23:链表中环的入口节点
查看>>
X-Frame-Options,X-XSS-Protection,X-Content-Type-Options
查看>>
iOS下的多种字符串加密方式
查看>>
新的技术点-----每天更新
查看>>
[Leetcode]628. Maximum Product of Three Numbers
查看>>
Linux网络编程(四)
查看>>
Python定制类(进阶6)
查看>>
关于web系统整体优化提速总结
查看>>
table size script :
查看>>
RTC终于tm的通了
查看>>
在Silverlight中如何创建WCF Service
查看>>
Android 下的 USB HID 设备读写
查看>>
CSV文件转JSON
查看>>
Android Context类
查看>>
ztree 根据id选中某一点且触发当前点的click事件
查看>>
10.16复习 数位DP——不要62
查看>>
input checkbox复选框点击获取当前选中状态jquery
查看>>
Git 安装与简单使用(新手必看)
查看>>
leetcode-143. Reorder List
查看>>
怎样解决if __name__ == "__main__":下面的代码没有执行的问题
查看>>