(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()函數為何不能在外部編輯器中實現影像的批量自動加載,還有待于進一步研究。
新聞熱點
疑難解答