1.一種分布式云環(huán)境下林地專題圖瓦片快速生成方法,所述方法包括如下步驟:
1)、用戶通過文件傳輸協(xié)議ftp方式將待處理的專題圖數(shù)據(jù)上傳至服務(wù)器數(shù)據(jù)節(jié)點,通過系統(tǒng)終端將專題圖的數(shù)據(jù)路徑上傳至分布式文件系統(tǒng)HDFS集群中;
2)、用戶從系統(tǒng)終端啟動服務(wù)器數(shù)據(jù)節(jié)點上的林地專題圖投影與格式轉(zhuǎn)換處理功能,并輸入目標(biāo)投影的眾所周知的ID(WKID);
3)、服務(wù)器數(shù)據(jù)節(jié)點上的林地專題圖投影與格式轉(zhuǎn)換處理功能啟動后,在映射規(guī)約MapReduce并行處理框架下,將服務(wù)器數(shù)據(jù)節(jié)點上的林地專題圖數(shù)據(jù)轉(zhuǎn)換到統(tǒng)一的投影坐標(biāo)之下,并以眾所周知的文字形式WKT格式輸出,具體為:
3.1)、在MapReduce框架下,將林地專題圖數(shù)據(jù)數(shù)據(jù)源作為林地專題圖投影與格式轉(zhuǎn)換處理功能的輸入值;
3.2)、使用矢量文件讀寫工具OGR接口,注冊矢量格式驅(qū)動;
3.3)、打開林地專題圖數(shù)據(jù)源;
3.4)、解析源投影與目標(biāo)投影;
3.5)、建立OGR坐標(biāo)轉(zhuǎn)換對應(yīng)關(guān)系;
3.6)、幾何圖形數(shù)據(jù)投影坐標(biāo)轉(zhuǎn)換;
3.7)、以WKT格式輸出數(shù)據(jù);
4)、用戶從系統(tǒng)終端啟動服務(wù)器數(shù)據(jù)節(jié)點上的林地專題圖切割與柵格化功能,并輸入分層級數(shù);
5)、服務(wù)器數(shù)據(jù)節(jié)點上的林地專題圖切割與柵格化功能啟動后,在MapReduce并行處理框架下,通過讀取用戶輸入的分層級數(shù),將林地專題圖數(shù)據(jù)分割并柵格化為瓦片,具體為:
5.1)、在MapReduce框架下,將經(jīng)過投影和格式轉(zhuǎn)換的林地專題圖數(shù)據(jù)作為林地專題圖切割與柵格化功能的輸入值;
5.2)、在Map階段,對于輸入的鍵值對,獲取值中的林地專題圖多邊形geo,獲取該多邊形最小外包矩形env;設(shè)置瓦片最大級數(shù)zmax與瓦片最小級數(shù)zmin,對于每一個瓦片級數(shù)z,如果zmin<z<zmax,則執(zhí)行步驟5.3;
5.3)、對于瓦片級數(shù)z,計算該級數(shù)下瓦片邊長對應(yīng)實際地面長度a,并計算出env對應(yīng)的地圖行列號范圍:最小行號rmin,最大行號rmax,最小列號cmin,最大列號cmax,對于每一對行列號(r,c),如果rmin<r<rmax且cmin<c<cmax,則執(zhí)行步驟5.4與步驟5.5;
5.4)、對于行列號(r,c)所確定的網(wǎng)格,建立該網(wǎng)格所對應(yīng)正方形grid,并以該grid與geo求相交,獲取相交多邊形intersect;
5.5)、對于多邊形intersect,遍歷其WKT格式下的每一個點(pointx,pointy),并將其轉(zhuǎn)換為像素坐標(biāo)(pixelx,pixely),從而獲取多邊形intersect的像素邊界;將z、r、c作為鍵,將intersect作為值,輸出為Map階段的鍵值對,其中,所述(pointx,pointy)表示點的x軸與y軸坐標(biāo),所述(pixelx,pixely)表示像素的x軸與y軸坐標(biāo);
5.6)、在Combine階段,MapReduce框架自動對具有相同z、r、c鍵的像素邊界進(jìn)行合并,作為Reduce階段的輸入;
5.7)、在Reduce階段,對于輸入的鍵值對,獲取值中像素邊界集合,根據(jù)像素邊界集合,采用非零纏繞規(guī)則填充,從而得到該鍵下的林地專題圖瓦片。