ArcPy处理土地利用类型数据
需求
分析不同年份土地利用类型的变化。
思路
1、准备要对比的不同年份的数据
2、从文件夹中分别读取不同年份每个小类的shp文件
3、将不同年份相同小类的图层的属性放到一个图层里(union)
4、在union生成的结果中新增字段(change)
5、使用字段计算器,给新增字段赋值,如果属性没变,就赋值为1,如果属性变化了就赋值为0
6、按照属性选择发生变化的要素,最终输出结果文件
方法
- os.listdir()——用于返回指定的文件夹包含的文件或文件夹的名字的列表
- os.path.splitext()——分离文件名与扩展名
- append() ——用于在列表末尾添加新的对象
- arcpy.ListFeatureClasses() ——列出工作空间中的要素类
- arcpy.Union_analysis() ——计算输入要素的几何并集,将要素及其属性都写入输出要素类
- arcpy.CreateFileGDB_management() ——创建文件地理数据库
- arcpy.ListFields() ——列出指定数据集中的要素类、shapefile 或表中的字段
- arcpy.AddField_management() ——向表或要素类表、要素图层、栅格目录或带属性表的栅格添加新字段
- arcpy.CalculateField_management() ——为要素类、要素图层或栅格计算字段的值
- arcpy.FeatureClassToGeodatabase_conversion() ——将一个或多个要素类/要素图层转换为地理数据库要素类
- arcpy.MakeFeatureLayer_management() ——创建要素图层
- arcpy.SelectLayerByAttribute_management() ——基于属性查询在图层或表视图中添加、更新或移除选择内容
- arcpy.CopyFeatures_management() ——将输入要素类或图层中的要素复制到新要素类
详解
1、os.listdir()
用于返回指定的文件夹包含的文件或文件夹的名字的列表。
os.listdir(new_shp_file_path) # 列出shp_file_path这个路径下的所有文件
如果目录下有中文,需要先进行转码处理:
new_shp_file_path = shp_file_path.decode('utf-8')
2、os.path.splitext()
分离文件名与扩展名,以最后一个.来区分扩展名
os.path.splitext(file)[0] 获得文件名
os.path.splitext(file)[1] 获得文件扩展名
os.path.splitext("D:/土地利用2017.gdb")[0] # D:/土地利用2017
os.path.splitext("D:/土地利用2017.gdb")[1] # .gdb
os.path.splitext("D:/土地利用2017.gdb.shp")[0] # D:/土地利用2017.gdb
os.path.splitext("D:/土地利用2017.gdb.shp")[1] # .shp
3、append()
append() 方法用于在列表末尾添加新的对象,无返回值,会修改原来的列表
aList = [123, 'xyz', 'zara', 'abc'];
aList.append( 2009 ); # alist = [123, 'xyz', 'zara', 'abc', 2009]
4、arcpy.ListFeatureClasses()
列出工作空间中的要素类
5、arcpy.Union_analysis()
arcpy.Union_analysis (inFeatures, outFeatures, "ALL")
6、arcpy.CreateFileGDB_management()
arcpy.CreateFileGDB_management(out_gdb_path,out_gdb_name)
# 在指定目录中创建了文件地理数据库,如果输出地理数据库名称不包含 .gdb 扩展名,则会添加这样一个扩展名
7、arcpy.ListFields()
arcpy.ListFields(new_item_path)
# 指定的要素类或表的字段名称列表
8、arcpy.AddField_management()
arcpy.AddField_management(new_item_path,name_space,'SHORT')
# new_item_path :要添加指定字段的输入表
# name_space :新增的字段名
# SHORT :新字段的字段类型,
其他值
9、arcpy.CalculateField_management()
arcpy.CalculateField_management(new_item_path, name_space, expression, 'PYTHON_9.3')
# new_item_path :文件路径
# name_space :新增的字段名
# expression : 赋值运算的表达式
# PYTHON_9.3 :指定要使用的表达式的类型
"""
VB —表达式将使用标准 VB 格式编写,默认设置,64 位产品不支持
PYTHON —表达式将使用标准 Python 格式编写。地理处理器方法和属性的使用与创建 9.2 版地理处理器相同
PYTHON_9.3 —表达式将使用标准 Python 格式编写。地理处理器方法和属性的使用与创建 9.3 版地理处理器相同
"""
10、arcpy.FeatureClassToGeodatabase_conversion()
arcpy.FeatureClassToGeodatabase_conversion(new_item_path,out_location)
11、arcpy.MakeFeatureLayer_management()
根据输入要素类或图层文件创建要素图层。该工具创建的图层是临时图层,如果不将此图层保存到磁盘或保存地图文档,该图层在会话结束后将不会继续存在。
arcpy.MakeFeatureLayer_management(item_name, lyr_name)
12、arcpy.SelectLayerByAttribute_management()
arcpy.SelectLayerByAttribute_management(lyr_name, 'NEW_SELECTION', condition)
# NEW_SELECTION —生成的选择内容将替换任何现有选择内容,默认设置
其他属性
输入必须为要素图层或表视图。不能使用要素类或表作为输入。
13、arcpy.CopyFeatures_management()
将输入要素类或图层中的要素复制到新要素类。如果输入是具有选定内容的图层,则仅复制所选要素。如果输入是地理数据库要素类或 shapefile,则会复制所有要素。
arcpy.CopyFeatures_management(lyr_name,out_path)
补充
- Python将反斜线 () 用作转义字符。例如,\n 表示换行符,\t 表示制表符。指定路径时,可使用正斜线 (/) 代替反斜线。使用两条反斜线(而不是一条)以避免语法错误。也可通过在包含反斜线的字符串前放置字母 r(以便正确解释)来使用字符串文本。
ArcPy处理土地利用类型数据相关推荐
- ArcGIS软件应用(二)——统计各行政区内的各土地利用类型面积
之前有许多同学遇到过如何利用ArcGIS统计不同行政区内的各土地利用类型面积,于是我写了这个博文,便于大家查看. 所用数据: "河南省市级行政区.shp" "河南省土地利 ...
- 1980-2018年全国30米土地利用类型样例数据
数据名称:中国全国30米高精度土地利用现状土地利用类型遥感监测数据 数据精度:30m 数据类型:栅格数据 数据范围:全国(含港澳台) 下载地址:https://download.csdn.net/do ...
- 全国及各省土地利用类型面板数据(2009-2016年)
数据集名称:全国及各省土地利用类型面板数据 时间范围:2009-2016年 数据来源:第二次全国土地调查和年度全国土地变更调查 相关说明:采用中华人民共和国国家标准<土地利用现状分类>(G ...
- 全国省市县土地利用类型面板数据2009-2021年
数据名称:省.市.县(区)最新土地利用类型面板数据(含36种用地类型) 数据来源:第二次和第三次全国土地调查和年度全国土地变更调查,采用中华人民共和国国家标准<土地利用现状分类>(GB/T ...
- arcgis把jpg转成栅格图像_土地利用JPG数据转栅格
一.课程简介 本套视频以栅格数据处理.矢量数据处理与制图综合.空间分析.自动矢量化和ArcScene三维可视化为主,课程内容见目录标题,视频时长12小时. 购买本课程后将免费获取下列资料: ①11G视 ...
- arcgis使用arcpy计算土地利用LUCC变化转移矩阵、马尔科夫模型变化表,最好用的方法TabulateArea实现两期数据变化统计
arcgis使用arcpy计算土地利用LUCC变化转移矩阵.马尔科夫模型变化表,最好用的方法TabulateArea实现两期数据变化统计: 下载链接:LUCC变化转移矩阵Arcpy脚本 coding ...
- 【Arc GIS 零基础教学】土地利用类型图的绘制方法
Hi,我是胡学长!今天教大家怎么利用Arc GIS 绘制土地利用类型图.土地利用类型图是表达土地资源的利用现状.地域差异和分类的专题地图.它是研究土地利用的重要工具和基础资料,同时也是土地利用调查研究 ...
- 更新土地利用.shp 数据,垃圾场选址... 第八届GIS技能大赛解题
这次我们来做一下第八届全国大学生 GIS 技能大赛2019年上午试题,虽然说是考试,但是其实里面的数据拿来作为练习是非常不错的,适合新手,当然了,如果你做得非常顺畅流利的话,那么你也可以去每年都有的G ...
- GEE学习总结(7)——MODIS 土地利用产品数据
MODIS 土地利用产品数据-MCD12Q1 MCD12Q1 V6产品提供六种不同的分类标准的每年全球土地覆盖类型产品.通过使用监督分类和后处理的方式,以及先验知识和辅助知识等用于进一步细化特定类的信 ...
最新文章
- CTO:再写 if-else,逮着罚款 1000!
- Spring MVC控制层的返回类型--String类型与Bean类型
- AS2的MD5/SHA1/TEA等加密算法类
- Linux下的主辅DNS服务器同步
- xilinx IP核之ROM
- 用Android Studio调试Framework层代码
- 公办低分二本_山东的5所专科院校,属于本省公办,适合低分学生报考
- vue检测不到data里数组里面元素的变化
- Mongodb 集群实战
- (转)SpringMVC学习(九)——SpringMVC中实现文件上传
- 源代码电影涉及的计算机思想,关于电影源代码的结局解释
- leetcode力扣36.有效的数独
- [javascript] Promise API
- vs下qt混合编译错误:MOC问题
- 【MySQL技术内幕】34-lock与latch
- 腾讯企业邮箱免费申请 mail-tencent.com
- 好用的Linux数据库管理工具推荐!
- X射线系统、超声波系统及MRI数字成像原理解析
- 婚礼MV怎么自己做?制作婚礼MV视频的方法,小白也能3步搞定
- 迅雷首席架构师刘智聪:微信小程序的架构与系统设计的几点观感