是否将相同的更改应用于多个地图文档?


9

我有几个地图文档(大约30个),它们引用所有相同的文件并以相同的方式显示它们。我通过设置一个地图来创建它们,然后使用“另存为”来创建新地图,然后调整布局中的数据框范围。当然,既然我已经创建了它们,我需要对它们全部进行完全相同的更改。是否有比仅在每个文档中手动重复相同步骤更有效的过程?如果没有,是否有更好的方法来设置项目以促进此类更改?

我正在使用ArcMap 10.0。


1
更改的性质将决定您前进的最佳途径。
Mowry 2014年

我需要交换shapfile参考路径,更改符号系统和级别显示顺序。
Scott La Vanne 2014年

1
您可能会看一下“数据驱动页面”,并在Alex的答案中建议使用arcpy.mapping。我会用Google来表示,但这是一个有用的链接:blogs.esri.com/esri/arcgis/2011/01/28/data-driven-pages
johns

Answers:


2

您是否使用过每个“数据驱动页面”?不知道版本10是否有,我使用的是10.1。很漂亮,但是在这一点上,对于您而言,这是事实。

数据驱动页面将从一个区域移动到下一个区域,从而随心所欲地绘制或导出地图。我布置了一个大分水岭,然后为各个布局限制定义了其中的子分水岭。

在帮助中搜索“数据驱动页面”以获取更多说明。


数据驱动页面似乎是最佳选择。在研究了如何使用它之后,我发现使用数据驱动页面来重新创建地图要比单独编辑它们更快。我还准备在将来全面进行更改。
Scott La Vanne 2014年

8

对多个文档进行批量更改的最有效方法是使用ArcGIS中可用的Python脚本。您将需要编写一个Python脚本,该脚本将迭代(或遍历)您拥有的每个地图文档文件,并应用您在代码中指定的更改。

开始寻找arcpy.mapping模块。10.1和10.2嵌入了更多功能,但是即使使用10.0,您也可以走很长一段路。指定需要执行的更改类型,然后查看是否可以在arcpy.mapping模块中找到匹配的功能。如果有一些遗漏,请提出一个新问题,我们将尝试寻找替代方法。如果您以前没有在ArcGIS中编写脚本,请考虑通读入门帮助

还可以考虑看看Esri工作人员在线下载的arcpy.mapping示例脚本(带有源代码)。根据帮助文件,它们应该适用于10.0,但我仅在10.1和10.2中使用它们。

PS。仅从一个地图文档开始,以查看更改是否正确应用,并且在进行任何更改之前始终备份数据。


1

您无法使用Python脚本完成所有操作。

您可能可以使用两种技术:

  1. 对其中一个地图文件中的公共图层进行更改。
  2. 创建一个新的组图层,并将所有这些图层添加到该组。
  3. 将组层导出到磁盘。
  4. 打开其他地图文档并添加先前保存的组图层。
  5. 删除旧的重复图层,并在必要时取消对已添加图层的分组。

您可能会发现自定义模板可能有用。

  1. 创建具有布局和所有地图共有的图层的地图。
  2. 将其另存为模板。
  3. 使用此模板开始新地图并添加其他任何图层或布局更改
  4. 然后,以后只能在模板上对公共元素进行任何更改,但会在使用该模板的所有地图中得到反映。

ESRI模板帮助

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.