《基于ArcGIS的Python编程秘笈(第2版)》——2.2 引用当前的地图文档

简介:

本节书摘来自异步社区《基于ArcGIS的Python编程秘笈(第2版)》一书中的第2章,第2.2节,作者: 【美】Eric Pimpler(派普勒) 更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 引用当前的地图文档

在ArcGIS Python窗口或自定义的脚本工具中运行地理处理脚本时,经常需要引用当前加载在ArcMap中的地图文档。通常来讲,在对地图文档中的图层和表执行地理处理操作之前,需要引用当前的地图文档。本节将介绍如何在Python地理处理脚本中引用当前的地图文档。

2.2.1 准备工作
在对地图文档执行任何操作之前,都需要先在Python脚本中引用地图文档,可以通过调用arcpy.mapping模块中的MapDocument()函数来实现。引用地图文档的途径有两种:一是引用ArcMap中当前活动的文档;二是引用磁盘中特定位置的文档。使用CURRENT关键字作为MapDocument()函数的参数,就可以加载ArcMap中当前活动的地图文档,如下列代码所示。

mxd = mapping.MapDocument("CURRENT")

提示: 

只有在ArcGIS的Python窗口或ArcToolbox的自定义脚本工具中运行脚本时,才可以使用CURRENT关键字。如果在IDLE或其他开发环境中运行脚本时使用CURRENT关键字,则无法访问当前加载在ArcGIS中的地图文档。需要指出的是,CURRENT关键字不区分大小写,所以也可以使用“current”。
引用本地或网络驱动器上的地图文档,只需提供地图文档的路径和名称作为MapDocument()函数的参数。例如,要引用C:data文件夹中的crime.mxd文件,代码为:arcpy.mapping.MapDocument("C:/data/crime.mxd")。

2.2.2 操作方法
下面按步骤介绍如何引用ArcMap中当前活动的地图文档。

(1)在ArcMap中打开C:ArcpyBookCh2Crime_Ch2.mxd。

(2)单击ArcMap“标准”工具条上的“Python”按钮。

(3)在“Python”窗口中键入如下代码,导入arcpy.mapping模块。这里将arcpy.mapping模块赋值给mapping变量,就可以不需要在所有代码中都以arcpy.mapping为前缀,而只需要引用mapping代替arcpy.mapping即可。这不仅使代码更容易阅读,而且减少了代码的编写量。本书后面的小节也使用这种方法。虽然并没有要求一定要使用这种方式,但它确实可以使代码的编写更加简洁高效。此外,可以按个人意愿为这个变量命名,例如命名为MAP、mp或其他任何合理的名字。

import arcpy.mapping as mapping

(4)在上一步添加的第一行代码下键入如下代码,可引用当前活动的地图文档(Crime_Ch2.mxd),把该引用赋值给变量。

mxd = mapping.MapDocument("CURRENT")

(5)设置地图文档标题。

mxd.title = "Crime Project"

(6)使用saveACopy()方法保存地图文档文件的副本。

mxd.saveACopy("C:/ArcpyBook/Ch2/crime_copy.mxd")

(7)单击“File | Map Document Properties”,可以查看地图文档的新标题。

(8)可以通过查看C:ArcpyBookcodeCh2ReferenceCurrentMapDocument.py解决方案文件来检查代码。

2.2.3 工作原理
MapDocument类有创建该类实例的构造函数。在面向对象编程中,实例也叫对象。MapDocument的构造函数既接受CURRENT关键字,也接受本地或网络驱动器上的地图文档文件的路径。首先使用构造函数创建一个对象,并把它赋值给mxd变量。然后可以使用点记法访问该对象的属性和方法。在本例中,使用MapDocument.title属性输出地图文档文件的标题,并使用MapDocument.saveACopy()方法保存地图文档文件的副本。

相关文章
|
1天前
|
数据采集 数据挖掘 数据处理
探索Python编程:从基础到进阶的旅程
在编程世界中,Python因其易学性和强大功能而受到许多开发者的青睐。本文将通过一系列生动的例子和实用的技巧,带领初学者理解Python的基础概念,并逐步深入到更复杂的编程任务。我们将一起探索如何通过Python解决实际问题,同时提升编程技能和逻辑思维能力。无论你是编程新手还是希望提高现有技能的开发者,这篇文章都将为你提供宝贵的学习资源和灵感。
|
1天前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
|
2天前
|
存储 数据可视化 Python
Python编程中的数据可视化技术
在数据驱动的世界中,将复杂的数据集转换为易于理解的视觉表示形式至关重要。本文将深入探讨如何使用Python进行数据可视化,包括选择合适的库、处理数据和设计有效的图表。我们将一起学习如何让数据讲故事,并确保你的信息传达清晰且有影响力。
|
2天前
|
网络协议 IDE iOS开发
Python编程---简单的聊天工具
Python编程---简单的聊天工具
12 2
|
2天前
|
小程序 IDE 开发工具
Python编程--个人信息修改小程序
Python编程--个人信息修改小程序
17 2
|
2天前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
|
2天前
|
Python
Python编程--解压缩文件
Python编程--解压缩文件
|
2天前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
|
2天前
|
Python
Python编程---双色球选购程序
Python编程---双色球选购程序
|
2天前
|
存储 Python Perl
Python编程--正则基础(一)
Python编程--正则基础(一)