免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 4626|回复: 25
收起左侧

Python和ArcGIS自动化制图完全指南:前言

  [复制链接]

4

主题

4529

铜板

5

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
183

爱心勋章地信专家组冰雪节勋章

发表于 2021-4-26 17:19 | 显示全部楼层 |阅读模式
本帖最后由 hygnic 于 2021-4-26 18:31 编辑

Python和ArcGIS自动化制图完全指南:前言


前言:下文以《指南》代替本系列文章名称。在该指南中,我们将手把手的讲解如何使用 Python(ArcPy) 这门编程语言实现 ArcGIS 自动化的更新制图等操作。在学完所有文章后,读者可以通过使用 Python(ArcPy),针对林业、国土、水利、农业等需要大量制作专题图、分布图的项目,实现批量化、自动化,高效生成地图。




Python

“Life is short, you need Python”(生命苦短,你需要 Python)

Python 诞生于上个世纪八十年代,是一种面向对象的高级语言,相比于其他的低级语言(比如 C 语言就是一个贴近系统的低级语言)较易上手、同时代码量少、可以快速构建程序。

Python 之父 Guido van Rossum

看这一头浓密的头发!

非常适合非编程工作者编写代码来开展业务和扩展自己的相关领域能力。
下文包括后续章节均以《指南》代替本系列文章名称。
在该《指南》中,我们会通过讲解以及使用 Python 实操编写一个用于自动出图的完整程序来帮助读者掌握和了解该技能。

相信大家都有安装 ArcGIS,Python2.7 会随其一同安装在电脑,不用额外安装 Python。

Note: 上文说的高级语言和低级语言不是指语言的优劣,而是指该语言面向人类和机器的程度。


ArcPy

ArcPy是随 ArcGIS 软件安装的非开源的站点包,它使用Python 语言封装。是一个可以使用 Python 语言调用的工具包。

ArcPy的官方定位不是一个底层的接口, ArcPy的使用较为简单,功能多(能完全调用 ArcGIS 所包含的上千个工具)。
但是作为交换,ArcPy的操作细粒度较大,一些基础的工作需要我们使用 ArcGIS 完成。比如我们需要制作好模板文件等。



自动化制图原理

整个制图系统由三部分组成:mxd模板、数据库、Python程序


  • mxd模板:模板文件就是 mxd 后缀的模板文件。预先设置好合适的样式、图层和大小等信息,是我们最终输出成果的模板。

  • 数据库:在这里我们一般指 ArcGIS 所支持的 GDB 格式的数据库,用于存放所有的项目矢量数据或者栅格数据。

  • Python程序:即使用 Python 代码编写的程序。

使用 Python 代码通过一定的规则来对 mxd 模板文件及数据进行筛选和选择性的显示——对 mxd 文件标题、图层、图例、符号系统、查询语句、布局视图的位置以及各种要素进行更新和操控,将修改内容后的 mxd 模板另存为指定的名称,然后导出成地图。实现一个完整的自动化操作。

举个栗子,比如某个项目,其中有几十个功能分区,你需要给每个分区都制作一张地图。先完成一个分区的成果 ,其成果 mxd 将作为 mxd 模板。
然后 Python 不仅会对这个模板的数据进行修改更新,也会自动更新图例、修改文字描述、设置界面居中等。
最后将修改内容另存为按指定规则命名的 mxd 文档。一个接一个,直到将所有分区地图的 mxd 文件都制作出来,最后统一导出地图。
Note: mxd 文件是不保存空间数据的,它保存的是空间数据的路径信息、图层信息、符号信息以及对于制作地图非常重要的布局视图信息等。所以真正意义上完整的 mxd 模板也包括了与之相关联的数据库。



章节预览

简要的对后续章节进行一个简要的预览和说明。
第一章

详细介绍了 ArcPy 的使用、如何编写、如何运行。然后以一个例子,生动展示了 ArcPy 在地理空间处理工作流方面的强大。
能为没有 Python 编程经验的读者提供一定的参考和帮助,为后续内容做一个铺垫。

第二章

制作 mxd 模板文件的注意事项和命名规则。

第三章

编写 Python 程序自动识别各自的大小。使不同尺寸的制图单位和大小合适的 mxd 模板相匹配。

第四章

编写 Python 程序自动化操控 mxd 文件实现文件的筛选、更新、布局操作等,最终完成专题图的制图。



使用版本

该《指南》所有演示所使用的版本号
  • ArcGIS——10.3(所有提供下载的 mxd 模板已另存为10.1版本,方便使用)
  • Python——2.7



​




​

结束语

下载
  • 演示文件数据
  • 源代码
  • 《指南》文档小册子,便于电脑查看



关注公众号回复:自动化制图    ,获取所有下载!

​



​分享GIS,不止于Python。荟GIS精粹,关注我,带你飞!(长按扫码也行)







4

主题

4529

铜板

5

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
183

爱心勋章地信专家组冰雪节勋章

 楼主| 发表于 2021-4-27 14:02 | 显示全部楼层
有什么问题直接微信公众号问我,不然不一定能及时看到
回复 支持 反对

使用道具 举报

1

主题

745

铜板

3

好友

技术员

Rank: 3Rank: 3

积分
92
发表于 2021-5-6 11:26 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

1万

铜板

7

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
787
发表于 2021-6-1 19:26 | 显示全部楼层
已关注.....
回复

使用道具 举报

4

主题

4529

铜板

5

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
183

爱心勋章地信专家组冰雪节勋章

 楼主| 发表于 2021-6-3 20:50 | 显示全部楼层

感谢老师哈,互相学习
回复 支持 反对

使用道具 举报

10

主题

1万

铜板

21

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3734
发表于 2021-11-10 10:26 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

2506

铜板

3

好友

助理工程师

Rank: 5Rank: 5

积分
248
发表于 2021-11-12 18:49 | 显示全部楼层

谢谢分享
回复

使用道具 举报

0

主题

2506

铜板

3

好友

助理工程师

Rank: 5Rank: 5

积分
248
发表于 2021-11-12 18:49 | 显示全部楼层

谢谢分享
回复

使用道具 举报

5

主题

4402

铜板

3

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
979
发表于 2021-11-19 10:27 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

4万

铜板

10

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6189
发表于 2021-12-7 09:25 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表