python3 arcgis_当Python遇上ArcGIS

早在ArcGIS9.0版本已经支持Python2.1了,通过Dispatch Geoprocessor方式调用GP工具,还依赖于PythonWin。

ArcGIS9.2版本引入了arcgisscripting模块,支持跨平台操作,支持Python2.4版本,而且不再依赖于PythonWin,Calculate Field工具也支持Python作为解释器。

在ArcGIS9.3/9.3.1时期,Python进行了微小的调整,支持了Python2.5版本,对arcgisscripting模块进行了升级。

ArcGIS10是一个里程碑式的版本,该版本引入了ArcPy,这也是本章学习的焦点,支持Python2.6版本,Python Windows的引入让Python开发者使用更加方便,而且也引入了制图等模块来丰富相关的功能。ArcGIS10.1引入了Python Addin与Python Toolbox,更加坚定了Esri支持Python的决心,而且Label Expression也支持Python作为解释器。

ArcPy.Mapping 是ArcGIS10推出的一个针对所有许可均可使用的 Python 脚本模块,主要是用于操作现有地图文档和图层文件的内容;提供自动执行导出和打印的函数。ArcPy.Mapping 可用于自动执行地图生产;它扩展了数据驱动页面的功能,同时,因其包含PDF文档的处理函数,可以为用户构建完整地图册提供便利。另外ArcPy.Mapping 脚本可以自动创建和管理要通过ArcGIS for Server 发布的地图服务。

地图文档(MapDocument)是ArcGIS经常使用的一种数据格式,它可以存储地图图层、页面布局和所有其他地图属性的规范(包括符号、标注等用户常用的制图需求)。通过地图文档,用户可以方便地在 ArcMap 中保存、重复使用和共享自己的工作内容。

MapDocument 对象通常是在地图自动化脚本中创建的首批对象引用之一,因为它是许多 ArcPy.Mapping 函数的必要参数。通过MapDocument 对象,用户基本上可以访问地图文档中的几乎所有其他对象(例如,数据框、图层、页面布局元素)。

一般情况下,用户只需要输入正确的地图文档绝对路径即可获得地图文档对象,然后可以获得该地图文档的相关属性(如描述信息、存储路径、概要信息、标题信息、页面大小等),如果对某些属性信息进行了修改,也会支持地图文档的保存和另存为“拷贝”功能,另外也支持不同类型工作空间的替换功能。

·地图文档(MapDocument)

语法:MapDocument (mxd_path),只需要输入地图文档的绝对路径即可。

以下为该函数的脚本示例:

·列出问题数据源(ListBrokenDataSources)

语法:ListBrokenDataSources (map_document_or_layer)。

有时候用户经常会打开已经丢失数据源的地图文档,一旦打开这种地图文档,会占用用户大量的时间,ArcPy提供了查看问题数据源的函数,可以方便地让用户了解问题数据源的信息。

以下为该函数的脚本示例:

·替换工作空间(replaceWorkspaces)

如果用户已经得知所操作的地图文档的数据源有问题,就需要用正确的数据源来进行替换,那么就需要使用ArcPy提供的修复数据源函数来完成。ArcPy提供了几种修复数据源的方法,针对地图文档对象(MapDocument)、图层对象(Layer)、表视图对象(TableView)分别有两种适用方法:一个是findAndReplaceWorkspacePaths函数,该函数只适合同一个工作空间类型的转换;另一个是replaceWorkspaces函数,该函数可以适合于不同工作空间类型的转换,比较通用。

在介绍该函数之前,需要再着重说明一下几个重要的概念:工作空间、工作空间路径、工作空间类型。

工作空间是一种数据容器,也可以理解为数据源。工作空间可以是包含 shapefile、CAD 文件或栅格数据等内容的文件夹,也可以是 ArcInfo Workstation coverage、个人地理数据库、文件地理数据库和 SDE 连接等。工作空间路径指工作空间的系统路径。对于基于文件的数据(如 CAD、shapefile 或栅格),工作空间路径包括了该数据所在的文件夹的名称;对于基于文件的地理数据库,工作空间路径包括地理数据库的名称。SDE 工作空间路径由 SDE 连接文件的系统路径定义。工作空间类型是 ArcGIS 支持的数据模型格式。例如,shapefile、个人地理数据库、文件地理数据库、CAD、SDE,等等。

接下来以地图文档的replaceWorkspaces函数为例,来看一下该函数的用法。

语法:replaceWorkspaces (old_workspace_path, old_workspace_type,new_workspace_path, new_workspace_type, {validate})。

以下为该函数的脚本示例:

————本文节选自《ArcGIS开发权威指南》

《ArcGIS开发权威指南》

地理信息系统资深专家之作,内容丰富,实战性强

陈於立等 编著

2015年9月出版

随着Web GIS 2.0时代的到来,单个研发技术的实施已经不能满足当前GIS项目的基本需求。如今用户既需要专业人士进行业务管理,又要求整个企业进行协作分享,而且还需要将信息通过网络或者移动端进行发布,这无疑需要多源技术的共同结合才能完成。那么从事GIS行业的开发者就需要了解GIS多源的开发技术。本书主要介绍ArcGIS平台及相关产品的开发模式,包括桌面端开发、Web端开发、移动端开发、数据库开发、脚本开发等主流的ArcGIS开发技术。 博文视点您阅读的专业智库

喜欢请分享至朋友圈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值