使用arcpy替换工程文件中的栅格图层数据源异常

使用arcpy替换mxd中的栅格图层数据源时,发现导出的图片异常。

修改代码把修改后的mxd保存后发现修改后的数据源不是我传入参数的数据源

 

比如我设置的参数是 “2019_3_2_2f8091e2d4ce4ce596b53c521f4e144e_AAA.tif”,但是我打开arcpy保存的mxd后发现数据源是“2019_3_2_2f8091e2d4ce4ce596b53c521f4e144e_AAA.png”。

而且相同的目录下有一个“2019_3_2_2f8091e2d4ce4ce596b53c521f4e144e_AAA.png” 文件,导致导出的图片不是我想要的。

猜测arcpy替换数据源的时候忽略了文件的后缀,只是根据文件名过滤然后找到了第一个栅格文件当做数据源。

所以保证同一个文件夹下所有的栅格文件文件名(不包括扩展名)不一致才能保证此功能正常。

mxd = arcpy.mapping.MapDocument(mxdPath)  # 加载mxd地图文档

    main_layer = arcpy.mapping.ListLayers(mxd, "layer")[0]  # 获取要素图层

    main_layer.replaceDataSource("../{0}".format(layerPath), "RASTER_WORKSPACE", layerName)  # 修改数据源 layerName

  

posted @ 2019-04-08 10:28  leechg  阅读(755)  评论(0编辑  收藏  举报