三種開源庫實現GIS座標轉換

2021-09-02 15:15:34 字數 1309 閱讀 2376

通過座標系proj4字串建立projpj型別座標系,呼叫pj_transform函式實現。

其中座標系proj4字串可在proj4-data資料夾中的epsg檔案中搜尋得到。

double x = dblsrcx;

double y = dblsrcy;

double z = dblsrcz;

projpj fref, tref;

tref = pj_init_plus(strdstproj.c_str());

fref = pj_init_plus(strsrcproj.c_str());

pj_transform(fref, tref, 1, 1, &x, &y, &z);

gdal底層座標轉換對proj.4介面進行了封裝,設定座標系的方式變得更加多樣。支援常用名、epsg碼、wkt、proj4等多種方式。對座標轉換功能也進行了物件導向封裝。

double dbx = dblon;

double dby = dblat;

double dbz = dbhgt;

ogrspatialreference fref, tref;

fref.setwellknowngeogcs("wgs84");

//epsg::4547 cgcs2000 / 3-degree gauss-kruger cm 114e

tref.importfromepsg(4547);

ogrcoordinatetransformation *coordtrans;

coordtrans = ogrcreatecoordinatetransformation(&fref, &tref);

coordtrans->transform(1, &dbx, &dby, &dbz);

osgearth座標轉換進一步呼叫了gdal的座標轉換介面,使用更加方便。

osg::ref_ptrpsrcsrs;

osg::ref_ptrpdstsrs;

psrcsrs = osgearth::spatialreference::createfromproj4(strsrcproj);

pdstsrs = osgearth::spatialreference::createfromproj4(strdstproj);

osg::vec3d vecout;

psrcsrs->transform(vecpositon, pdstsrs, vecout);

以上三種gis開源庫都可方便實現座標轉換。具體實踐過程中,可根據專案開源庫的依賴情況靈活選用。

Qt中QGraphicsView三種座標系統詳解

在qgraphicsview中支援三種不同的座標系統 視口座標 場景座標 項座標 場景座標就是系統視窗 qgraphicsscene 的座標,它 0,0 作為它的左上角座標.視口座標相當於場景座標的數學變換,如當乙個視窗座標為 0,0 至 100,100 那麼這個視窗就是實實在在的由100 100個...

三種笛卡爾座標到極座標轉換插值演算法比較

1 最鄰近插值法 鄰近插值演算法按水平方向從左到右的掃瞄的影象資料,利用取樣點之間的資料間隔對取樣點畫素進行線性組合,此時得到的畫素值就是目標畫素值。圖1 最鄰近插值示意圖 假設p1,p2 為影象資料中同一行的兩個取樣點,n為兩點間間隔的取樣資料,則插補畫素值pi 可以是p1,p2 點畫素值的線性組...

Github 三種不錯的開源loading效果

最近突然心血來潮,對一些loading感興趣,loading這玩意說重要也重要,說不重要也不重要,因為這是乙個提公升你產品體驗的乙個細節,如果loading做的好,對於一些耗時需要使用者等待的頁面來說會轉移使用者注意力,不會顯得那麼煩躁,所以你可以看到市面上各種各樣好玩的loading動畫,那麼這篇...