利用Arcpy向Arcmap中批量加载遥感影像

(2017/2/20:这是我的第二篇博客,继续探寻上一篇未解决的利用arcpy.BuildPyramids_management()函数批量建立金字塔并加载遥感影像的问题,上篇博客的链接是:http://blog.csdn.net/supergiser_lee/article/details/56012714,欢迎大家斧正 )

    在上一篇博客《arcpy中中文路径的处理方案》一文中,提到了利用arcpy的BuildPyramids_management()函数批量创建金字塔和加载遥感影像的问题,但是最终事先打开的mxd文档中并没有自动加载入任何一张遥感影像,查看“地理处理”——》“结果”——》“当前会话”,也没有看到任何消息出现;利用arcpy.GetMessages()函数,也不能返回任何结果。这是为什么呢?由于上一篇博客中的所有代码都是在IDLE环境下书写和执行的,为了找的原因,这次在Arcmap中自带的python临时交互窗口中书写并运行代码进行测试。

   首先在ArcMap中新建一个空白地图文档,如下图所示,测试目录,也就是一会将要用到的工作空间目录中事先存放了大量的tif格式的遥感影像,目录为:“C:\ArcGIS_test\测试用遥感影像\J47F013048.tif ”

在ArcMap中打开python代码窗口,编写之前提到的代码并执行,效果如下图:

发现工作空间目录下的所有tiff影像已经全部被加载到ArcMap当前的地图文档中了,并且利用该编辑器并未引入其他库函数或进行其他的转码声明即能对图像执行创建金字塔和加载的操作;这说明Arcpy的BuildPyramid_Management()函数可以对图像进行批量加载处理,之前的猜测不对。也说明ArcMap中内置了某种机制,使得在其自身python窗口中编写代码时包含的中文路径可以被识别。

这说明,当在ArcMap内部执行python批处理脚本时,可以不用考虑转码的操作,而如果要使用外部编辑器调用arcpy站点包中的相关函数并操作时,则需要人工地解决转码问题。至于BuildPyramid_Management()函数为何不能在外部编辑器中实现影像的批量自动加载,还有待于进一步研究。

转载自:https://blog.csdn.net/SuperGiser_Lee/article/details/56016646

You may also like...