前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >当Python遇上ArcGIS

当Python遇上ArcGIS

作者头像
博文视点Broadview
发布2020-06-11 15:29:58
1K0
发布2020-06-11 15:29:58
举报

早在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开发权威指南》

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档