不知您是否遇到过下面情况:ArcGIS Pro的Map/Scene中所引用的数据源被移动或重命名了,导致Map/Scene中找不到之前的数据,出现红色叹号;已有一个Map模板文件,图层的样式符号都是设置好的,想批量设置成另外一个数据源,复用该模板文件中的样式符号。

如果您在ArcGIS Pro的使用过程中遇到了上面情况,那么可以参考本篇文章,本文以图层存储在同一GDB中为例介绍。

情况一:Map中已有图层的数据源被移动了

原始Map长这样:


当数据源位置改变之后,显示找不到数据源的红色叹号:

arcgis python 字段 编码替换字符 arcgis字段内容替换_图层


这时如果右键单个图层->属性->->设置数据源,选择新的数据源:

arcgis python 字段 编码替换字符 arcgis字段内容替换_图层_02


只会更新这一个图层,其它图层仍然是红色叹号,如果图层数量很多的话,就比较麻烦了:


那么怎么批量修改这些图层呢?

最简便的方法是单击红色叹号,弹出修改数据源的对话框,设置成正确路径:

arcgis python 字段 编码替换字符 arcgis字段内容替换_数据源_03


这时后面的图层也会自动修复:


所以点击红色叹号是可以批量修复的,这种是最简单的情况。

情况二:当前Map中图层的数据源都能找到,没有红色叹号,只是想批量替换成另一个GDB中的同名要素类,比如想利用之前Map中图层的样式符号,但是想显示成别的数据,有两种方法:

法一:选择View菜单->Catalog View

arcgis python 字段 编码替换字符 arcgis字段内容替换_图层_04


然后选择Catalog->点击Data Sources

arcgis python 字段 编码替换字符 arcgis字段内容替换_ArcGIS Pro_05


弹出界面中选择Workspace,右侧Name处可以按地图选择想要修复的Map,设置新的GDB路径,点击Apply即可:

arcgis python 字段 编码替换字符 arcgis字段内容替换_ArcGIS Pro_06


法二:使用Find And Replace,然后进行查找替换,点击应用

arcgis python 字段 编码替换字符 arcgis字段内容替换_批量替换数据源_07


这时打开Map,就可以看到数据了。

情况三:数据源名称变了

如果要素类名称变化了,那么点击红色叹号也只能修改这一个图层:


如果想要批量修改,可以在Data Sources弹出界面中选择Item,进行设置:

arcgis python 字段 编码替换字符 arcgis字段内容替换_ArcGIS Pro_08


虽然这里也需要设置多次,但是比第一种一个一个点图层设置属性也快很多了,尤其是遇到图层数量很多的情况。