arcgis 属性 python_ArcGIS遍历区域内要素的属性(python)_小木曾韭菜的博客-程序员秘密

技术标签: 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)    **区(县)**镇(乡)**村*组

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35715440/article/details/111948360

智能推荐

【Windows】【Runtime Error】Explorer.exe异常_explorer.exe runtime_Dongle_Kevin的博客-程序员秘密

关于Windows运行异常错误之Explorer异常及解决方法的参考。

反射_反射field的set两个参数分别是什么_Bearrr93的博客-程序员秘密

反射反射##反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码反射:将类的各个组成部分封装为其他对象,这就是反射机制画图分析一下反射好处:可以在程序运行过程中,操作这些对象。可以解耦,提高程序的可扩展性。##获取Class对象的方式:Class.forName(“全类名”):将字节码文件加载进内存,返回Class对象多用于配置文件,将类名定义在配置文件中。读取文件,加载类类名.class:通过类名的属性class获取多用于参数的传递

【spring配置多数据源】spring连接多个数据库,同一套项目配置多个数据库_wpannnn的博客-程序员秘密

开发中需要碰到的场景,需要将现有的一套系统提供给另外一个项目组进行使用,但是服务器还是用我们现有的,只是多配置两个数据库进行数据隔离,因此需要用到多数据源进行数据切换。配置多数据源两种方法,我目前的场景需要用到第一种进行配置通过aop在请求中定义标识符,告诉spring该注入哪个数据源,请求对应的数据库通过mybatis-plus进行配置httpshttpshttps。......

少量代码设计一个登录界面 - .NET CORE(C#) WPF开发_Dotnet9.com的博客-程序员秘密

微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言,如果对您有所帮助:欢迎赞赏。少量代码设计一个登录界面 - .NET CORE(C#) WPF开发阅读导航本文背景代码实现本文参考源码1. 本文背景继续 MaterialDesignThemes 开源控件库学习,本文简单使用输入控件的水印附加属性:materialDesign:HintAs...

人工智能命题逻辑--测试题答案(三)_RobotMujie的博客-程序员秘密

1.如果命题p为真、命题q为假,则下述哪个复合命题为真命题(B) A.p且q B.如果q则p C.非p D.如果p则q 2.p和q均是原子命题,“如果p那么q”是由p和q组合得到的复合命题。下面对“如果p那么q”这一复合命题描述不正确的是( A) A.无法用真值表来判断“如果p那么q”的真假 B....

随便推点

shell编写自动化发布脚本_shell自动脚本_玩名堂_的博客-程序员秘密

##在此之前先把项目从网上克隆下来,比如从码云上clone到git-repository/HAHAecho "*********************进入git项目HAHA目录*******************************"cd /developer/git-repository/HAHAecho "*********************g

(转)在Windows下使用CMake+MinGW搭建C/C++编译环境_zyb418的博客-程序员秘密

https://blog.csdn.net/lwsas1/article/details/79556945 1.1 MinGWMinGW 是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。简单说,MinGW是一...

python中的*和**参数:nn.Sequential(*layers)_nn.sequential里面的星号_三世的博客-程序员秘密

单星号参数函数中的单星号参数代表此处接受任意多个非关键字参数,这些参数将以数组形式保存,例如:def foo(a, *b): print bfoo(1, 2, 3, 4, 5)执行结果为:(2, 3, 4, 5)多星号参数函数中的多星号参数代表此处接受任意多个关键字参数,这些参数以字典形式保存,例如:def foo(a, **b): print bfoo(a=1, b=2, c=3, d=4, e=5)执行结果为:{'c': 3, 'b'

vue点击按钮打开下拉菜单_Vue实现自定义下拉菜单功能_weixin_39517859的博客-程序员秘密

先看例子,后面有对用到的知识点的总结效果图:实现代码如下:组件练习组件1菜单2//注册组件let list1 = ["北京","上海","深圳","郑州","南阳"];let list2 = ["胡歌","陈默","陶亚东","刘同"];Vue.component("custom-select",{data:function(){return {selectShow:false,val:""}},...

Mark:UFLDL反向传播算法及其检验调试方法——适合自己的才是好的_17420的博客-程序员秘密

人工智能、机器学习泛滥。以前搜不出来,现在搜出来的太多。找自己想看的都得费半天劲。这当然是好的,有资料总比没有强。但是搞这个方向,适合自己的才是好材料。太简单,你觉得不过瘾,太深奥,你看不懂,所以文章,刚好讲到你的困惑点,对你来说才是好文章。我自己觉得,反向传播方法,UFLDL里的讲解比较适合我,通篇没有废话,简单直接,写的非常好,所以Mark一下,免得下次忘了UFLDL这个关键词,又费半...

Oracle 游标的where current of子句_current of oracle_ETIpiero的博客-程序员秘密

游标中的更新和删除   在PL/SQL中依然可以使用UPDATE和DELETE语句更新或删除数据行。显式游标只有在需要获得多行数据的情况下使用。PL/SQL提供了仅仅使用游标就可以执行删除或更新记录的方法。  UPDATE或DELETE语句中的WHERE CURRENT OF子串专门处理要执行UPDATE或DELETE操作的表中取出的最近的数据。要使用这个方法,在声明游标时必须使用FOR

推荐文章

热门文章

相关标签