使用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

  

使用arcpy替换栅格数据异常的更多相关文章

  1. [ Coding七十二绝技 ] 如何利用Java异常快速分析源码

    前言 异常一个神奇的东西,让广大程序员对它人又爱又恨.爱它,通过它能快速定位错误,经过层层磨难能学到很多逼坑大法.恨他,快下班的时刻,周末的早晨,它踏着七彩云毫无征兆的来了. 今天,要聊的是它的一项神 ...

  2. WebApi 全局异常与局部异常

    全局异常过滤器 public class ApiExceptionFilter:ExceptionFilterAttribute { private IHostingEnvironment _env; ...

  3. Rxjava异常处理

    异常处理 在Rxjava订阅的Observable有时会抛出异常,在RxJava中有两大类策略,一个是准备备用的Observable,在发生异常时将subscriber订阅到新的Observable上 ...

  4. Python字符串的编码与解码(encode与decode)

    首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unico ...

  5. .NET Framework 中的字符编码

    字符是可用多种不同方式表示的抽象实体. 字符编码是一种为受支持字符集中的每个字符进行配对的系统,配对时使用的是表示该字符的某些值. 例如,摩尔斯电码是一种为罗马字母表中的每个字符进行配对的字符编码,配 ...

  6. python代码风格指南:pep8 中文翻译

    摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见​PEP7.本文和​PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...

  7. Python-2.7 : 编码问题及encode与decode

    普通的字符串在py2.7中都是以ASCII编码的,例如str=“abc”,若含有中文则会以gbk或者gb2312编码(GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB ...

  8. PEP 8 - Python代码样式指南

    PEP 8 - Python代码样式指南 PEP: 8 标题: Python代码风格指南 作者: Guido van Rossum <python.org上的guido>,Barry Wa ...

  9. python 编码规范起源:PEP8 编码规范中文版

    PEP: 8 标题: Python代码的样式指南 版: c451868df657 最后修改: 2016-06-08 10:43:53 -0400(2016年6月8日星期三) 作者: Guido van ...

随机推荐

  1. VMwear安装Centos7详细过程

      1.软硬件准备软件:推荐使用VMwear,我用的是VMwear 10镜像:CentOS7   硬件:因为是在宿主机上运行虚拟化软件安装centos,I3CPU双核.硬盘500G.内存4G以上. 2 ...

  2. stringstream快速实现String和int之间的转换

    需要包含头文件”sstream” #include <iostream> #include <string> #include <sstream> using na ...

  3. 一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了

    一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了 转载: 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它 ...

  4. hadoop fs -put localfile . 时出现如下错误: could only be replicated to 0 nodes, instead of 1

    hadoop fs -put localfile . 时出现如下错误:could only be replicated to 0 nodes, instead of 1网友的说法: 这个问题是由于没有 ...

  5. jQuery中判断input的checked属性

    <input type="checkbox" id="ipt1" checked> <input type="checkbox&qu ...

  6. Nodejs + express + ejs

    特性 <% %> 用于控制流 <%= %> 用于转义的输出 (会对数据字符进行转义) // 数据源 // app.js var tem={ title:"我是中间部分 ...

  7. Android内存管理-OnTrimMemory

    Application中有两个与内存管理相关的方法:onLowMemory()和 onTrimMemory(int level),源码如下 @CallSuper public void onLowMe ...

  8. Android解析WindowManagerService(一)WMS的诞生

    前言 此前我用多篇文章介绍了WindowManager,这个系列我们来介绍WindowManager的管理者WMS,首先我们先来学习WMS是如何产生的.本文源码基于Android 8.0,与Andro ...

  9. tomcat优化记录

    1.使用jdk自带的Jconsole进行可视化查看: 2.使用jmeter做压力测试,做完后有几个重要的指标:正确率.cpu占用率.qps jvm: 3.tomcat server.xml优化: ar ...

  10. C# winform 打印事例

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...