使用GDAL進行RPC座標轉換

2021-08-30 09:03:27 字數 1239 閱讀 5720

對於高解析度遙感衛星資料而言,目前幾乎都提供了有理函式模型(rfm)來進行影象校正(spot系列提供了有理函式模型之外還提供了嚴格軌道模型)。對遙感影像進行校正目前最常用的就是使用有理函式模型來進行校正。

有理函式模型的計算公式網上可以搜到,同時我之前的部落格中也有比較詳細的說明,可以參考這篇部落格

gdal庫從1.3左右就開始提供基於rpc的座標轉換,到目前2.x版本以來,基於rpc的座標轉換一直在持續優化,從1.x版本到2.x版本,計算速度有了較大提公升。

下面是使用gdal基於rpc座標轉換的**:

#include "gdal_priv.h"

#include "gdal_alg.h"

void main()

; double dy[4] = ;

double dz[4] = ;

int nsuccess[4] = ;

//輸出原始行列號座標

printf("row col:\n");

for(int i=0; i<4; i++)

printf("%d\tx=%.7f\ty=%.7f\tz=%.7f\n", i, dx[i], dy[i], dz[i]);

//呼叫rpc座標轉換函式進行座標轉換反算(行列號轉經緯度)

gdalrpctransform(prpctransform, false, 4, dx, dy, dz, nsuccess);

//輸出轉換的經緯度

printf("long lat:\n");

for(int i=0; i<4; i++)

printf("%d\tx=%.7f\ty=%.7f\tz=%.7f\n", i, dx[i], dy[i], dz[i]);

//呼叫rpc座標轉換函式進行座標正算(經緯度轉行列號)

gdalrpctransform(prpctransform, true, 4, dx, dy, dz, nsuccess);

//輸出轉換後的行列號座標

printf("row2 col2:\n");

for(int i=0; i<4; i++)

printf("%d\tx=%.7f\ty=%.7f\tz=%.7f\n", i, dx[i], dy[i], dz[i]);

//釋放資源

gdaldestroyrpctransformer(prpctransform);

csldestroy(papsztransoption);

}

GDAL投影轉換 座標偏移筆記

1.osr osr 向量資料投影 作用 投影座標系之間轉換 地理座標和投影座標之間轉換 可用於幾何物件和點 點屬於幾何物件 from osgeo import gdal import osrpeters sr osr.spatialreference peters sr.importfromproj...

GDAL座標轉換六參的使用方法

gdal六參座標轉換是一種二維座標轉換的引數,常在gdaldataset 類中的cplerr setgeotransform double padftransform 使用 下面讓我們先來談論一下二維的仿射變換。仿射變換變換公式 展開形式 x y 為目標座標,x,y為原始座標,dx,dy為平移引數。...

gdal中shapefile座標度轉換到柵格公尺

python gdal讀取 ogr shapefile的座標表示為度,柵格資料的座標為公尺。以下 展示讀取shapefile檔案的度座標並轉換為依賴柵格資料投影的座標公尺。from osgeo import gdal,ogr defworld2pixel padftransform,x,y pixe...