ArcPy操作shp格式文件
目录
- ArcPy操作shp格式文件
- shp文件介绍
- 创建shp
- 编辑shp
- 编辑列/字段
- 插入列
- 编辑行/记录
- 主要涉及的对象
- arcpy.Cursor(游标)对象
- arcpy.Row对象
- arcpy.Array对象
- 插入行
- 删除行
- 更新行
ArcPy操作shp格式文件
之所以写这篇文章,是因为最近接到一个将csv文件转为多边形shp的任务,每一行形如POLYGON((121.4 31.1, 121.4 31.1),(121.4 31.1, 121.4 31.1)),对应多边形shp文件中的一行的若干个部分,期间参考了https://blog.csdn.net/u010608964/article/details/90046317这篇文章。希望总结一下这方面的知识,以备以后用到的时候查询。
arcpy是ArcGIS中使用的编程语言,用户可通过它调用ArcGIS中的各种功能,实现批量处理。ESRI Shapefile(shp),或简称shapefile,是美国环境系统研究所公司(ESRI)开发的一种空间数据开放格式,可存储点、线、面等要素,是目前软件包中支持最广泛的格式,其格式标准提供在官方白皮书中,在 GIS 行业 Shapefile 文件几乎成了地理数据的代名词。一般是在ArcMap中手动编辑shp,但是有些场景下可以用arcpy操作shp文件,能够实现批处理或更多自定义的操作。
- 提取文本或表格文件中的信息转为shp文件;
- 对shp文件内记录增删改查;
- …
本文采用ArcGIS 10.2,其它版本的具体接口可能不一样。
文中提及的各种对象的构造参数、属性、方法均可以在ArcGIS官方文档中搜索得到。
shp文件介绍
shp文件是ESRI(ArcGIS的公司)文件开发的格式。arcmap生成的.shp文件(包含了所有点、线或面的坐标数据,一个文件通常只能为其中一种,以若干条记录的形式存储)会有一系列非必须的辅助文件:.prj(坐标系文件,定义了shp坐标的坐标系)、.dbf(数据库文件,包含了与.shp中各记录对应的各个字段)等。关于shp的介绍可以参考一篇很有趣的文章:https://zhuanlan.zhihu.com/p/72676768。
创建shp
shapefile = arcpy.CreateFeatureclass_management(env.workspace, '2.shp', geometry_type='POLYGON', has_m='DISABLED', has_z='DISABLED' )
编辑shp
编辑列/字段
插入列
arcpy.AddField_management(shapefile, "index", "SHORT") # 插入短整型列,列名为index
编辑行/记录
主要涉及的对象
arcpy.Cursor(游标)对象
ArcPy通过游标对象读写shp文件(或地理数据库),Cursor分为三种形式:读取,插入,更新,需要根据需求选用。
Cursor通过文件或数据库的路径以及其它参数生成。例如:
cursor = arcpy.InsertCursor('c:\1.shp')
对Cursor对象可读取、插入、删除Row对象。
for row in cursor:# 对row操作。
arcpy.Row对象
row.shape = array
row.index = 1 # row的index列设为1
arcpy.Array对象
The array object can contain any number of geoprocessing objects such as points, geometries, or spatial references.
array = arcpy.Array()
array.append(arcpy.Point(121,33))
array.append(arcpy.Array()) # 多边形shp的一行存在多个部分(Part)时,array可以由多个array组成。
插入行
cursor.insertRow()
删除行
cursor.deleteRow()
更新行
cursor.deleteRow()
ArcPy操作shp格式文件相关推荐
- wp文件转shp_完美实现从mapGIS文件转换成ArcGIS中shp格式文件
完美实现从 mapGIS 文件转换成 ArcGIS 中 shp 格式文件 最近经苦战实验,终于找到如何完美实现从 mapGIS 文件转换成 ArcGIS 中 shp 格式文件.步骤如下(各步骤中细节操 ...
- python使用 docx 库操作 docx 格式文件
docx 库 文章结构: 一.docx 基本用,创建 docx 文件并添加数据 二.深入理解文本格式(format),并设置所格式属性(attribute) 三.深入理解样式(styles),以及如何 ...
- python操作xlsx格式文件
python操作xlsx格式文件 一.准备工作 二 .xlrd库读取 三.pandas库读取 1.安装pandas: pip install pandas 2.代码如下 3.操作行列 一.准备工作 二 ...
- 用 python 来操作 docx, xlsx 格式文件(二)(使用 docx 库操作 docx 格式文件
docx 库 文章结构: 一.docx 基本用,创建 docx 文件并添加数据 二.深入理解文本格式(format),并设置所格式属性(attribute) 三.深入理解样式(styles),以及如何 ...
- python-docx库_用 python 来操作 docx, xlsx 格式文件(二)(使用 docx 库操作 docx 格式文件...
docx 库 文章结构: 一.docx 基本用,创建 docx 文件并添加数据 二.深入理解文本格式(format),并设置所格式属性(attribute) 三.深入理解样式(styles),以及如何 ...
- python操作excel格式文件
python操作excel格式文件 1. 读数据 2. 写excel 3.操作整合 1. 读数据 安装包 pip install openpyxl 导包 from openpyxl import lo ...
- python操作XML格式文件
python操作XML格式文件 python操作XML格式文件 1. 读取文件和内容 2.读取节点数据 3.修改和删除节点 4.构建文档 python操作XML格式文件 可扩展标记语言,是一种简单的数 ...
- java shapefile 中文乱码_GeoTools操作Shape格式文件
需要从Web系统中导出Shape格式数据文件,并使用AicMap打开. 中间件在系统中扮演连接数据和服务的角色.GeoTools承担了从各种数据源(如PostGIS,GML,Shapefile,WFS ...
- python存储数据的操作(csv格式文件,Excel表格文件)!!!
python存储数据 存储数据的方式 两种存储数据方式的区别 csv格式文件 Excel格式文件 csv文件的写入 csv文件的读取 Excel基本概念 Excel文件的写入 Excel文件的读取 存 ...
最新文章
- Android 10.0 PackageManagerService(三)APK扫描-[Android取经之路]
- Python求找出1000以内所有的“完数”
- Redis的内存淘汰策略
- 为EasyUI 的Tab 标签添加右键菜单
- 没有主清单属性_原神:晴知的主C诺艾尔大型进阶攻略初版
- sqlite事务模型、性能优化tips、常见误区
- 贾跃亭又成功拿到6亿融资!九城与法拉第未来签约...
- HTML知识积累及实践(五) - 表单元素
- 打造黑苹果(一)组装硬件的选择与组装
- 一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心
- 【转】关于ATSC与DVB的比较
- C语言随机产生26个大写字母
- 最详细bugku杂项小白解法(1~24已完结)
- vue mysql 电商_mei-shopone: nuxt(vue)+node(egg.js)+mysql晒点风格极简商城,电商系统。适合入门全栈开发,槑先森工作室。...
- Unity 大气特效插件分析 - Aura #01
- 正负样本的分配atss
- NSSCTF刷题wp——常用编码
- QT播放本地视频和网络视频
- Java对List集合进行排序
- c# 获取目录所有文件及子目录文件
热门文章
- Dubbo3注册为应用级时报错“No provider available for the service XXX”
- 北交大研究生计算机科学方向,北京交通大学考研历程计算机科学与技术经验分享...
- 聚划算超级聚享日为当代青年人打造理想家居空间
- 2022A特种设备相关管理(电梯)考试试题及答案
- 第二天linux基础
- [附源码]计算机毕业设计JAVA文章管理系统查重PPT
- 【Css】div或按钮鼠标经过或鼠标点击后效果样式(图文+示例)
- Vue常用组件库的比较分析(pc端)
- 主管护士需要考计算机和英语吗,主管护师需要考职称英语和计算机吗
- 分支与循环超详解(C语言)