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 ...
随机推荐
- WPF教程:附加属性
一.附加属性的特点1.特殊的依赖属性2.用于非定义该属性的类 例如Grid面板的RowDefinition.ColumnDefinition.Canvas面板的Left.RightDockPanel面 ...
- DNS远程和DNS日志
三.rndc远程控制服务器 1.在被管理的服务器上生成密钥 # cd /var/named/chroot/etc # rndc-confgen -a -b 128 -k mrndc-key -c mr ...
- (简单) POJ 1511 Invitation Cards,SPFA。
Description In the age of television, not many people attend theater performances. Antique Comedians ...
- (简单) POJ 3169 Layout,差分约束+SPFA。
Description Like everyone else, cows like to stand close to their friends when queuing for feed. FJ ...
- Java的内存泄漏
内存泄漏是指,无用对象(不再使用的对象)持续占用内存或者无用对象的内存得不到及时释放,从而造成的内存浪费 就说是有一块内存你不需要再用了,但是呢你还保留着它的指针,那么这块内存就不会被回收 举个例子 ...
- js extend的实现
var obj = { a: "aaaaaa" }; var obj1 = { b: "bbbbbb" }; Object.extend = function ...
- java class加载机制及对象生成机制
java class加载机制及对象生成机制 当使用到某个类,但该类还未初始化,未加载到内存中时会经历类加载.链接.初始化三个步骤完成类的初始化.需要注意的是类的初始化和链接的顺序有可能是互换的. Cl ...
- 使用PHPMailer发送带附件并支持HTML内容的邮件
PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件 ...
- 新手如何学习java(java学习建议路线图)
怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA). ...
- Discuz经典函数注释之authcode
Discuz函数中最经典的函数是authcode函数,因为supesite,UCenterHome,UCenter,Discuz X都使用了这个函数进行加密啊传输串与cookie 今天为大家带来aut ...