arcgis10中文帮助-专业库-制图和可视化15地图工作流自动化

  • 格式:pdf
  • 大小:828.15 KB
  • 文档页数:25

地理处理 arcpy.mapping 模块简介

arcpy.mapping 模块是一个 Python 脚本库,可用于打开和操作 ArcMap 地图文档 (.mxd) 与图层文件 (.lyr)。使用 arcpy.mapping 的地理处理脚本可打开地图文档和图层;查询和更改内容;以及打印、导出

或保存已修改的文档。

arcpy.mapping 脚本中的函数可逼真地模拟在 ArcMap 应用程序中执行的操作。考虑以下简单的 ArcMap 工作流:

1.打开位于 C:\GIS\TownCenter_2009.mxd 的地图文档。

2.查找读取 GIS Services Division 2009 的任何布局文本元素,然后将其更改为读取 GIS

Services Division 2010。

3.将更新的地图布局导出到 PDF。

arcpy.mapping 脚本将以如下方式表示这些步骤:

这一简单的查找和替换脚本会将 2009 更改为 2010,然后将布局导出到 PDF 文件中。

地理处理 arcpy.mapping 模块专供需要自动化 ArcMap 工作流的任何人使用。尽管此模块看起来与编程

非常相似,并由功能强大的 Python 编程语言进行驱动,但是您不需要作为 GIS 软件开发人员来创建

arcpy.mapping 脚本。arcpy.mapping 的目的是自动化繁琐任务,从而使您能够集中精力从事重要的创造性工作和分析工作。

arcpy.mapping 和典型脚本方案的目的

系统已创建 arcpy.mapping 模块,以自动化地图管理和输出(打印和导出)工作流。所提供的函数将侧重

于修改现有地图图层和布局元素,不会用作完整的地图编译系统。交互式和高度可视化的 ArcMap 环境是用

于创建新地图文档以及创建地图图层和布局的推荐系统。但是,如果使用正确的方法,arcpy.mapping 的图层和布局元素修改功能可用于动态创建地图产品。要成功完成这些工作流,需认真地制作地图以准备由

arcpy.mapping ?疟臼褂玫淖槌刹糠郑 虼艘哉 贩绞浇? arcpy.mapping 与 ArcMap 结合使用实际上确实提供了一个自动化的地图生产系统。

通过描述 arcpy.mapping 执行的一些方案来了解其功能将会更容易些。以下是 arcpy.mapping 脚本可执行的几种方案:

l创建一列包含引用某个数据源的图层的地图。

l更新或修复地图文档中所有图层的数据源连接。

l创建有关包含在文档中的信息(例如图层、数据源和图层类型)的报告。

l将一组地图文档保存至之前的 ArcGIS 版本,以便分配给其他用户。

l打开并分析地图文档的内容,以根据内容分析更新文档元数据(例如,关键字和汇总)。然后,便可发现

地图文档元数据,并且该元数据在 ArcGIS 搜索实用程序和 ArcGIS.com 中创建了索引。

l使用地图导出命令批量创建地理数据,例如,由地图中的一列要素驱动的一系列 GeoTIFF 图像。

l构建多种 PDF 地图册:

n具有标题页、多个地图页以及支持内容(如表格式报表和联系人列表)的众多附加页的专题地图册

n基于数据驱动页面的参考地图册

mxd = arcpy.mapping.MapDocument(r"C:\GIS\TownCenter_2009.mxd") for textElement in arcpy.mapping.ListElements(mxd, "Text"): if textElement.text == "GIS Services Division 2009": textElement.text = "GIS Services Division 2010" arcpy.mapping.ExportToPDF(mxd, r"C:\GIS\TownCenterUpdate_2010.pdf") del mxdArcGIS 10 用于地图文档管理和输出的地理处理脚本

Page 1 of 25用于地图文档管理和输出的地理处理脚本

2011-3-19file://E:\temp\S-1-5-21-1417001333-299502267-682003330-500\temp\~hhF7EF.htm有关详细信息,请参阅主题通过 ArcGIS 构建地图册。

地理处理、arcpy.mapping 和扩展 ArcMap 应用程序

arcpy.mapping 模块是地理处理框架的一部分。因此,arcpy.mapping 脚本可使用 ArcGIS 提供的任何地理处理工具。使用 arcpy.mapping 编写的任何脚本都可自行转换为地理处理脚本工具以在 ArcToolbox 和模型构建器中使用。

作为地理处理框架的一部分,arcpy.mapping 旨在用作批处理工具,而不仅仅是用作自定义 ArcMap 应用

程序的框架。因为 arcpy.mapping 可用于针对地图创建您自己的处理系统,因此,可以公平地说,这是使

用新工具扩展 ArcMap 的一种方式。但地理处理不允许完全自定义 ArcMap 用户界面,并且全套 ArcMap

对象和函数将无法通过 arcpy.mapping 进行访问。

ArcObjects SDK 可用于访问全套对象和函数。ArcObjects SDK 和地理处理是互补的;两者都不会使另外

一个失效。作为一个常规表达式,ArcObjects 可用于通过新行为来扩展 ArcGIS,而地理处理是专为自动执

行任务而设计的。可使用 ArcObjects 执行诸如添加新用户界面、向要素类添加自定义行为或创建特殊制图渲染器之类的操作。地理处理可在正常运行框架的限制范围内自动执行任务。

使用和部署脚本

可部署使用 arcpy.mapping 的脚本,并可通过与任何地理处理脚本相同的方式对其进行执行。您所选择的运行脚本的方式将取决于您想要执行脚本的方式和时间:

l地图册导出脚本可和脚本工具一样正常运行。您可编写脚本以处理用于定义所要包括的地图文档和要导出

输出文件的位置的输入。工具箱用户界面提供了可交互定义输入的良好用户界面。

l每天早晨在设定的时间打印地图的脚本是作为 Windows 计划任务运行的很好的备选方案。

l列出损坏的数据源连接的脚本可通过 ArcMap 的 Python 窗口执行,在此窗口中,您可轻松查看通过脚本打印的消息,并决定下一个适合的操作过程。

有关 arcpy.mapping 类和函数的完整列表,请参阅以下内容:

arcpy.mapping 类的列表(按字母顺序)

arcpy.mapping 函数的列表(按字母顺序)

相关主题

什么是 Python 窗口?

什么是 Python?

使用 ArcGIS 构建地图册

使用 arcpy.mapping 更新和修复数据源

通过“数据驱动页面”可以基于单个地图文档方便快捷地创建一系列布局页面。要素图层或索引图层基于图层中

的各个索引要素将地图分割为多个部分,然后为每个索引要素生成一个相应的页面。“数据驱动页面”可基于常

规的面格网。例如,您可能要创建一个显示城镇宗地的地图册或地图系列。借助表示格网的索引图层,您可以轻

松地创建一系列覆盖城镇且面积相等的页面,如下图所示。

版权所有 © 1995-2010 Esri. 保留所有权利。

什么是数据驱动页面?

Page 2 of 25用于地图文档管理和输出的地理处理脚本

2011-3-19file://E:\temp\S-1-5-21-1417001333-299502267-682003330-500\temp\~hhF7EF.htm您可能想要在创建“数据驱动页面”时依据某条路径,例如,高速公路或者沿以下带状地图中所示的河流的路

径。

有以下两种地理处理工具可帮助您创建索引图层:格网索引要素和带状地图索引要素。这两种工具都是数据驱动页面工具集的一部分。该工具集还包含一些可帮助您创建地图册的其他工具。这些工具包括:计算相邻字段地理处理工具,此工具可用于在索引图层中创建一些字段,用来对地图册中的相邻页面进行标注;计算中央经线和纬线和计算 UTM 带地理处理工具,这两种工具可用来为索引中的各个要素计算具体的空间参考字符串;计算格网收敛角工具,该工具可用于将各个“数据驱动页面”旋转到正北方向。

Page 3 of 25用于地图文档管理和输出的地理处理脚本

2011-3-19file://E:\temp\S-1-5-21-1417001333-299502267-682003330-500\temp\~hhF7EF.htm有关详细信息,请参阅创建数据驱动页面。

索引图层不必为格网。它可以是地图要素。例如,您可以使用美国各州的面图层来创建“数据驱动页面”。在此

情况下,将为每个州创建一个相应页面。

并不局限于只使用面图层作为索引图层。也可以使用点和线,前提是使用要素图层。非要素图层(如栅格图层)

不能用于索引图层。

可通过单一布局为每个数据驱动页面定义地图组成部分。只有布局的动态部分会随各页面内容的不同而发生变

化。静态元素将保持不变。对布局的静态元素所做的任何更改都将反映在地图系列的各个页面上。

动态元素

l地图的地理范围

l地图比例

Page 4 of 25用于地图文档管理和输出的地理处理脚本

2011-3-19file://E:\temp\S-1-5-21-1417001333-299502267-682003330-500\temp\~hhF7EF.html指北针(如果设置了地图旋转)

l比例尺

l比例文本

l动态文本(例如,页面名称和页码)

l包含动态查询的图层

静态元素

l布局页面的大小和方向

l数据框的大小和位置

l静态文本

l内图廓线

可将“数据驱动页面”导出到各个图形文件,或者将其加入多页面 PDF 中。可以对整个系列的页面进行打印或导出,也可以选择要打印或导出的子集。

许多项目都需要不同的页面大小、多个索引图层或者有关某些页面的非地图信息。例如,州地图集可能包含标

题页面、总览图页面,以及该州内每个县对应的一个页面。此外,有些作为大城市发源地的县还包含插图。可

以使用单独的 MXD 表示总览图页面、包含插图的页面以及其余地图,从而构建地图集。可使用以 Python 编写的地图脚本将这些页面聚合为一个包含完整地图册产品的多页面 PDF 文档。

相关主题

使用 ArcGIS 构建地图册

创建数据驱动页面

使用“数据驱动页面”,通过采用单一布局和遍历一组地图范围即可生成一组输出页面。范围由图层中的要素定

义,有时称为切片、部分或感兴趣区域 (AOI)。定义范围的图层称为索引图层。任何要素图层均可用作索引图层。您可以使用设置数据驱动页面 对话框创建并自定义新的“数据驱动页面”。此对话框包含两个选项卡:定义

和范围。您可从数据驱动页面 工具条或页面和打印设置 对话框中激活此对话框。

设置数据驱动页面对话框

您可以通过定义选项卡选择用于控制各页面地理范围的索引图层。您还可以选择字段,用来对页面进行命名及

排序。还有针对地图旋转、空间参考、页码和比例的可选设置。