1. 程式人生 > >使用向量面裁剪柵格資料的對齊問題

使用向量面裁剪柵格資料的對齊問題

最近湊巧有幾個比較多的柵格裁剪問題,整理如下:

我們只有由於柵格與向量資料的儲存模型不相同,這就導致柵格資料的像元無法與向量資料的點等同,從而導致裁切後的對齊問題,放大資料我們就能發現,如下圖可以說明:(其中黑白色為柵格資料,每個正方形代表一個像元,紅色區域為向量面數據。)


我們按照預設設定執行 Raster工具箱中的 Clip 工具,看看結果,藍色的柵格部分:


發現,柵格資料裁剪完,並不是需要的向量資料範圍,而是向量資料壓蓋的最小柵格資料範圍。

如果我們需要得到的柵格,是向量資料的範圍,該如何做呢?

【舊版本】如果正在使用的是10.1以及更早期的版本:

1. 首先將作為裁剪範圍的向量面(Feature)轉為圖形(Graphic),在ArcMap中,在面圖層上右鍵,使用 Convert  Features to Graphics... 選單,如下圖:

  (Graphic 被選中狀態下,周圍是有幾個小方塊的,與 Feature 被選中的亮藍色不同哦...)

    

2.在 ArcMap 中,使用圖層的右鍵選單中的Export功能,匯出選中Graphic 範圍內的資料:


看看結果,為了清楚,我將Graphic的填充色去掉,柵格資料左邊與上邊界是與向量資料一致的,這樣就盡最大範圍保持了結果柵格與向量資料範圍的最大一致性:

PS:有人會問,為什麼下邊和右邊邊界沒有完全貼合? 需要知曉,柵格資料的行列數是向量資料長度整除像元大小(匯出的像元大小預設與源資料相同,也可以根據需要修改)得出的,而通常有餘數的存在,因此沒有那麼嚴絲合縫,歸根結底還是兩種資料的儲存模型不同導致的。

【新版本】如果正在使用的是10.2以及更新期的版本:

新版本中 Clip 工具提供了額外的引數,可以簡單的勾選就完成了上面的需求:


PS:一定要注意右邊的幫助哇,為了儘可能滿足向量資料邊界範圍,行列數是通過計算調整,也就是像元大小相比原始資料會變化,像元值會進行重取樣獲取。

看看結果吧,影線區域是向量,玫紅色區域是生成的柵格:


最後來張全家福,對比下,哪種結果是你想要的,決定對應的選擇哪種方法 ,(左側圖層順序,即為右側圖層顯示順序)。