首先可以參照以下兩處資料:
不過我按照上述資料並沒有成功,第乙個資料中給出了可執行的原始碼,但是實際結果並沒有做重取樣,好像只是把原始資料copy了乙份,僅對拷貝做了
投影設定和仿射變換設定,真實資料沒有重取樣。
第二個資料中博主給出的原始碼在我這裡不能執行,每次均是執行到chunkandwarpimage/multi函式處即出錯。
將第乙個資料中的genimgprojtransform/er替換為gcptransform/er,可以對無座標參考系統的裸資料進行校正,但是得不到正確的結果,可以看到結果被重取樣了,
空間座標範圍也正確,但是原始影象被縮小並集中到結果影象的左上角,目前我也不清楚是什麼錯誤導致了這樣的結果。
我的解決辦法是,由於gdal支援2種型別的座標系統,一種是仿射資訊描述的,一種是gcp點描述的。給出gcp點之後,按照下面步驟操作:
(1)將原始影象轉換為gdal可編輯更新的格式,以update方式開啟;
(2)將gcp點設定給原始影象,並將目標座標系統wkt資料設定給原始影象,gdalflushcache更新資料;
(3)對原始資料做重投影變換,用到的變換類為:gdalcreategenimgprojtransformer2/gdalgenimgprojtransform
這樣得到的結果不僅空間範圍正確,並且也進行了重取樣。
其他一些細節:
(1)如果將一幅1024*768的影象糾正到以下空間範圍去:
40n100e 120e
20narcgis中gcp點的規則為:
左上角:0,0->100e,40n
左下角:0,-768->100e,20n
右下角:1024,-768->120e,20n
右上角:1024,0->120e,40n
但是在gdal中,gcp點的規則為:
左上角:0,0->100e,40n
左下角:0,768->100e,20n
右下角:1024,768->120e,20n
右上角:1024,0->120e,40n
(2)gdal僅支援1-3次多項式的gcp校正,多項式次數t與gcp點數量n的關係為(在使用gdalgcptranform變換時需要指定):
n=(t+1)*(t+2)/2
使用GDAL庫中的RPC校正問題
最近將gdal庫更新至1.11版本之後,發現之前寫的rpc像方改正模型校正的結果偏差特別大 更新版本之前結果和pci處理的結果一致 所以初步判斷是gdal庫的bug,經過各個引數修改發現原來是指定的dem取樣方式導致的。當指定dem的取樣方式為最鄰近時,校正結果偏差很大,當dem取樣方式為雙線性取樣...
利用GDAL進行多項式幾何校正校正新思路
首先說一下最簡單的幾何校正模型 仿射校正模型 叫法可能不對,大家明白即可 所謂仿射校正,即是通過地理座標來確定轉換關係的。首先根據控制點陣列用gdalgcptogeotransform得到轉換係數,然後代入待校正影像的四個角點座標 0,0 w,0 0,h w,h 得到八個地理座標值,對八個地理座標值...
遙感影像的幾何校正介紹
之前對遙感中影像的幾何校正 幾何糾正 正射糾正等概念一直模糊不清,今天在這裡做乙個概念性的總結。遙感影像的幾何校正,也稱幾何糾正。當遙感影像在幾何位置上發生了變化,產生諸如行列不均勻,像元大小與地面大小對應不準確,地物形狀不規則變化等畸變時,即說明遙感影像發生了畸變,幾何校正即是對這種畸變的校正。同...