arcpy.mapping-认识arcpy.mapping
arcpy.mapping-认识arcpy.mapping
by 李远祥
ArcMap提供了强大的地图制图功能,在实际的工作中,只要涉及到专题地图和地图册的制作,难免会遇到非常多的出图工作和地图图面元素的调整,这部分的工作虽然简单,但基本上是繁琐的重复操作,这些操作不单是耗时长,而且容易出错,往往需要打开ArcMap界面进行多次的操作。而对于一些数据量比较大的地图来说,通过ArcMap界面来逐个调整,很容易会因为调整过程中地图的刷新带来卡机或软件等待响应。
虽然可视化交互操作是大众基础,但面对巨量的重复劳动或界面操作时,显然不太人性。具备一定ArcGIS基础的用户来说,可能会知道通过AO来写一些代码去实现批量操作。但毕竟AO的学习成本比较高,编写起来并不算方便(尽管它功能很强大)。Esri针对上述情况,在ArcGIS10.x版本中专门引入了arcpy.mapping模块,用来解决地图交互操作和批量修改的工作量问题。
arcpy.mapping 专门面向专业的 GIS 分析人员(以及开发人员)而构建。Arcpy.mapping 是一种粗粒度对象模型,也即函数的设计原则是单个 arcpy.mapping 函数可代替多行 ArcObjects 代码。而基于Python的好处,就是无需打开ArcMap界面即可实现处理。那么,通过arcpy.mapping能解决哪些具体的问题呢?Esri的官方帮助明确列出以下几种主要情况:
- 创建有关地图文档中所含信息(如数据框坐标系、图层数据源、数据源损坏的图层或布局元素位置)的报告。
- 更新、修复或替换地图文档或图层文件中的图层数据源。
- 更新图层符号系统而无需实际打开地图文档。
- 查找并替换文件夹内所有地图文档的文本字符串。
- 将地图文档保存至之前的 ArcGIS 版本,以便分发。
- 更新地图文档元数据(例如,关键字、摘要和描述)。
- 使用地图导出命令批量创建地理数据,例如,由数据框中要素列表驱动的一系列 GeoTIFF 图像。
- 自动创建和管理要通过 ArcGIS for Server 发布的地图服务。
- 构建多种 PDF 地图册:
- 含标题页、多个地图页面以及任意数量含辅助内容(如表格式报表和联系人列表)的附加页面的专题或时态地图册。
- 基于数据驱动页面输出的参考地图册。
其实arcpy.mapping的粒度并不是所想象中那么粗,也有非常多的细粒度的操作,例如图层的控制,符号库的读取等。其好处也是不言而喻了。试想下现在有1000个mxd文档需要将其更改数据源,并保存为之前的ArcGIS版本文档,如果采用手工操作,这将会是一种什么样的画面?通过arcpy.mapping也许就是短短几十几行代码就实现了。
当然了,arcpy.mapping并不是独立存在的东西,它需要使用Python环境,也就是说,Python的基础还是需要的。同时,如果要取得更好的效果,必须要了解arcpy的一些其他功能,arcpy.mapping的操作更多的是辅助性操作。
arcpy.mapping-认识arcpy.mapping的更多相关文章
- NHibernate系列文章二十七:NHibernate Mapping之Fluent Mapping基础(附程序下载)
摘要 从这一节起,介绍NHibernate Mapping的内容.前面文章都是使用的NHibernate XML Mapping.NHibernate XML Mapping是NHibernate最早 ...
- arcpy.UpdateCursor和arcpy.da.UpdateCursor计算面积时间的比较
arcpy.UpdateCursor ####################### import arcpy from arcpy import env import os import sys f ...
- NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)
摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...
- arcpy.mapping实战-专题图制图自动化
arcpy.mapping实战-专题图制图自动化 by 李远祥 最初对arcpy.mapping感兴趣是因为一次大规模的专题地图调整的需要,由于某某单位利用ArcEngine编写的专题图出图系统,出现 ...
- ArcPy 将mxd格式转换为msd格式
在控制程序进行地图服务更新时,如果只是修改MXD中的渲染是不行的,需要写脚本将MXD转换为MSD,替换原有的MSD文件,并重新启动地图服务,这样才能读取到新的渲染方式. 附上Python代码: # - ...
- Arcpy多线程热力图
起因是这样一段对话,领导:你会用脚本生成热力图图片吗?我:可以研究下.领导:那这个需求就给你了.我:...... 经过一番研究,研究出大概的思路,先将有经纬度的表中的数据筛选出表并生成 ...
- ArcPy开发教程2-管理地图文档1
联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com ArcPy开发教程2-管理地图文档1 第二次课:2019年2月26日上午第二节 讲解: 地图文档:Map docume ...
- 【305】◀▶ ArcPy 相关功能实现
目录: 1. 同一图层的多个要素合并(2种方法) 2. 导入带经纬度坐标的 txt 文件 3. 栅格计算器的实现 4. 添加 shp 文件(显示在 ArcMap) 5. 通过经纬度坐标生成 Polyg ...
- 【284】◀▶ arcpy.da & arcpy 数据访问模块
使用游标访问数据 数据访问模块 (arcpy.da) 参考: ArcGIS Python编程案例(9)-ArcPy数据访问模块 读取几何 写入几何 使用 Python 指定查询 01 da.Sea ...
随机推荐
- Spring第一个例子的补充
1.首先导入需要的包: 2.文件结构: 3.先看xml配置文件: <?xml version="1.0" encoding="UTF-8"?> &l ...
- (简单) POJ 2750 Potted Flower,环+线段树。
Description The little cat takes over the management of a new park. There is a large circular statue ...
- mysql问题: alter导致速度慢
1 如何并行执行. 数据库里有一个数据量非常大的表,当对这个表进行alter的时候,这时候该表是只读的,由于数据量很大alter时间很长,如果这时候有insert或update操作,有什么办法在这期间 ...
- 16、手把手教你Extjs5(十六)Grid金额字段单位MVVM方式的选择
这一节来完成Grid中的金额字段的金额单位的转换.转换旰使用MVVM特性,总体上和控制菜单的几种模式类似.首先在目录app/view/main/menu下建立文件Monetary.js,用于放金额单位 ...
- linux ssl 双向认证
一,首先切换到apache目录下,创建一个CA文件夹 sudo mkdir CA sudo chmod 777 CA 二,然后进去CA文件夹 cp CA 三,创建其它文件 mkdir demoCA m ...
- bitmap资源回收
这个问题哎,困扰本宫一天! bitmap不完全解决method: http://blog.csdn.net/hahahacff/article/details/8540942 http://blog. ...
- [Angular Tutorial] 13 -REST and Custom Services
在这一步中,我们将会改变我们获取数据的方式. ·我们定义一个代表RESTful客户端的自定义服务.使用这个客户端,我们可以用一种更简单的方法向服务端请求数据,而不用处理更底层的$httpAPI,HTT ...
- TFS2013 升级至TFS2015及项目的创建
TFS2015已发布想体验下新特性 由于现有数据库已经是SQLSERVER2012 SP1 开发工具VS2013 都符合升级要求 现在体验下吧 1.先下载TFS2015 运行安装向导一路NEXT 直至 ...
- Linux文件编辑之sed命令
文件编辑之sed命令 sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为模式空间 (pattern space ...
- BZOJ1478 Sgu282 Isomorphism
Problem A: Sgu282 Isomorphism Time Limit: 15 Sec Memory Limit: 64 MBSubmit: 172 Solved: 88[Submit] ...