基于Arcpy的TIF柵格多年數(shù)據(jù)的批量鑲嵌

首先通過Matlab將需要拼接的數(shù)據(jù)的目錄及名稱獲取,注意,如果要用Matlab的話,保證拼接數(shù)據(jù)名稱長度的一致性。

調(diào)整目錄到該需要鑲嵌的數(shù)據(jù)下
e=dir('*.tif');
datasum=[];
for i=1:length(e)
    data=e(i).name;
    data=strcat('G:/yellow original modis MOD13A2/h27v05/',data,';');
    datasum=[datasum;data];
end
%再次調(diào)整目錄到該需要鑲嵌的數(shù)據(jù)下
e=dir('*.tif');
datasum1=[];
for i=1:length(e)
    data=e(i).name;
    data=strcat('G:/yellow original modis MOD13A2/h26v05/',data,';');
    datasum1=[datasum1;data];
end
%再次調(diào)整目錄到該需要鑲嵌的數(shù)據(jù)下
e=dir('*.tif');
datasum2=[];
for i=1:length(e)
    data=e(i).name;
    data=strcat('G:/yellow original modis MOD13A2/h26v04/',data);
    datasum2=[datasum2;data];
end
%對來源數(shù)據(jù)進(jìn)行合并
dd=[datasum,datasum1,datasum2];
%調(diào)整工作路徑到目標(biāo)數(shù)據(jù)下
e=dir('*.tif');
datasum3=[];
for i=1:length(e)
    data=e(i).name;
    data=strcat('G:/yellow original modis MOD13A2/h25v05/',data);
    datasum3=[datasum3;data];
end

需要注意的是,每次目錄下的數(shù)據(jù)按照同樣的順序排列的,運(yùn)行完畢后,將變量dd復(fù)制到excel中,并存為csv格式,本文存成h26v04.csv,該文件是鑲嵌文件,目標(biāo)文件存為h25v05n.csv.另外上述中調(diào)整好幾次工作空間,為了方便起見,讀者也能夠?qū)⑺袛?shù)據(jù)放在一起,然后使用e=dir('*.tif'),得到所有的文件,然后使用for=1:length(e),然后再里面用代碼得到每個的名稱,并進(jìn)行組合,這里就不再贅述。

# -*- coding: utf-8 -*-
# Import arcpy module
import arcpy
import csv
import numpy as np

csv_reader = csv.reader(open('G:/yellow original modis MOD13A2/h25v05 .csv'))
h25v05=[]
for row in csv_reader:
    h25v05.append(row)

csv_reader = csv.reader(open('G:/yellow original modis MOD13A2/h26v04.csv'))
h26v04=[]
for row in csv_reader:
    h26v04.append(row)


# Local variables:
a=np.arange(0,345) #這里設(shè)置0,345是因?yàn)樽髡咝枰科唇?44個數(shù)據(jù)集,如果要拼100個,則設(shè)置99就行
for i in a:
    result=h25v05[i]
    a5=''.join(result)
    a6=a5
    a1=h26v04[i]
    a1="".join(a1)
    arcpy.Mosaic_management(a1,a6,"LAST", "FIRST", "-3000", "-3000", "NONE", "0", "NONE")
    print (i)

上述代碼的重點(diǎn)在于使用''.join函數(shù)使得列表變成字符串,鑲嵌的核心代碼寫法是先通過Arcigs中的建模工具獲取,然后按照里面的寫法來進(jìn)行編寫,運(yùn)行完畢后,鑲嵌結(jié)果在目標(biāo)數(shù)據(jù)中,而不會產(chǎn)生新的文件。

更多需求,請查看個人介紹

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容