早在ArcGIS9.0版本已经支持Python2.1了,通过Dispatch Geoprocessor方式调用GP工具,还依赖于PythonWin。 ArcGIS9.2版本引入了arcgisscripting模块,支持跨平台操作,支持Python2.4版本,而且不再依赖于PythonWin,Calculate Field工具也支持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开发技术。 博文视点您阅读的专业智库 喜欢请分享至朋友圈 |
|
来自: LibraryPKU > 《GIS》