關於GDAL的幾何校正問題

2021-09-06 08:27:13 字數 1127 閱讀 4097

首先可以參照以下兩處資料:

不過我按照上述資料並沒有成功,第乙個資料中給出了可執行的原始碼,但是實際結果並沒有做重取樣,好像只是把原始資料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 得到八個地理座標值,對八個地理座標值...

遙感影像的幾何校正介紹

之前對遙感中影像的幾何校正 幾何糾正 正射糾正等概念一直模糊不清,今天在這裡做乙個概念性的總結。遙感影像的幾何校正,也稱幾何糾正。當遙感影像在幾何位置上發生了變化,產生諸如行列不均勻,像元大小與地面大小對應不準確,地物形狀不規則變化等畸變時,即說明遙感影像發生了畸變,幾何校正即是對這種畸變的校正。同...