目录

  • 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格式文件相关推荐

  1. wp文件转shp_完美实现从mapGIS文件转换成ArcGIS中shp格式文件

    完美实现从 mapGIS 文件转换成 ArcGIS 中 shp 格式文件 最近经苦战实验,终于找到如何完美实现从 mapGIS 文件转换成 ArcGIS 中 shp 格式文件.步骤如下(各步骤中细节操 ...

  2. python使用 docx 库操作 docx 格式文件

    docx 库 文章结构: 一.docx 基本用,创建 docx 文件并添加数据 二.深入理解文本格式(format),并设置所格式属性(attribute) 三.深入理解样式(styles),以及如何 ...

  3. python操作xlsx格式文件

    python操作xlsx格式文件 一.准备工作 二 .xlrd库读取 三.pandas库读取 1.安装pandas: pip install pandas 2.代码如下 3.操作行列 一.准备工作 二 ...

  4. 用 python 来操作 docx, xlsx 格式文件(二)(使用 docx 库操作 docx 格式文件

    docx 库 文章结构: 一.docx 基本用,创建 docx 文件并添加数据 二.深入理解文本格式(format),并设置所格式属性(attribute) 三.深入理解样式(styles),以及如何 ...

  5. python-docx库_用 python 来操作 docx, xlsx 格式文件(二)(使用 docx 库操作 docx 格式文件...

    docx 库 文章结构: 一.docx 基本用,创建 docx 文件并添加数据 二.深入理解文本格式(format),并设置所格式属性(attribute) 三.深入理解样式(styles),以及如何 ...

  6. python操作excel格式文件

    python操作excel格式文件 1. 读数据 2. 写excel 3.操作整合 1. 读数据 安装包 pip install openpyxl 导包 from openpyxl import lo ...

  7. python操作XML格式文件

    python操作XML格式文件 python操作XML格式文件 1. 读取文件和内容 2.读取节点数据 3.修改和删除节点 4.构建文档 python操作XML格式文件 可扩展标记语言,是一种简单的数 ...

  8. java shapefile 中文乱码_GeoTools操作Shape格式文件

    需要从Web系统中导出Shape格式数据文件,并使用AicMap打开. 中间件在系统中扮演连接数据和服务的角色.GeoTools承担了从各种数据源(如PostGIS,GML,Shapefile,WFS ...

  9. python存储数据的操作(csv格式文件,Excel表格文件)!!!

    python存储数据 存储数据的方式 两种存储数据方式的区别 csv格式文件 Excel格式文件 csv文件的写入 csv文件的读取 Excel基本概念 Excel文件的写入 Excel文件的读取 存 ...

最新文章

  1. Android 10.0 PackageManagerService(三)APK扫描-[Android取经之路]
  2. Python求找出1000以内所有的“完数”
  3. Redis的内存淘汰策略
  4. 为EasyUI 的Tab 标签添加右键菜单
  5. 没有主清单属性_原神:晴知的主C诺艾尔大型进阶攻略初版
  6. sqlite事务模型、性能优化tips、常见误区
  7. 贾跃亭又成功拿到6亿融资!九城与法拉第未来签约...
  8. HTML知识积累及实践(五) - 表单元素
  9. 打造黑苹果(一)组装硬件的选择与组装
  10. 一个40岁老程序员的2022年中总结 - 四十不惑,不忘初心
  11. 【转】关于ATSC与DVB的比较
  12. C语言随机产生26个大写字母
  13. 最详细bugku杂项小白解法(1~24已完结)
  14. vue mysql 电商_mei-shopone: nuxt(vue)+node(egg.js)+mysql晒点风格极简商城,电商系统。适合入门全栈开发,槑先森工作室。...
  15. Unity 大气特效插件分析 - Aura #01
  16. 正负样本的分配atss
  17. NSSCTF刷题wp——常用编码
  18. QT播放本地视频和网络视频
  19. Java对List集合进行排序
  20. c# 获取目录所有文件及子目录文件

热门文章

  1. Dubbo3注册为应用级时报错“No provider available for the service XXX”
  2. 北交大研究生计算机科学方向,北京交通大学考研历程计算机科学与技术经验分享...
  3. 聚划算超级聚享日为当代青年人打造理想家居空间
  4. 2022A特种设备相关管理(电梯)考试试题及答案
  5. 第二天linux基础
  6. [附源码]计算机毕业设计JAVA文章管理系统查重PPT
  7. 【Css】div或按钮鼠标经过或鼠标点击后效果样式(图文+示例)
  8. Vue常用组件库的比较分析(pc端)
  9. 主管护士需要考计算机和英语吗,主管护师需要考职称英语和计算机吗
  10. 分支与循环超详解(C语言)