2011-11-16 314 views
2

我正在嘗試使用GeoTiff庫創建tif文件。我設法使用庫的標準TIF函數將所有數據寫入普通的tif文件,但我無法弄清楚如何使用這些函數來添加拐角的座標。如何使用libgeotiff將座標寫入TIF文件

我在互聯網上尋找的例子,並得到了能夠添加相關的圖像地理定位信息:模型,光柵,角單位等,但我看不到任何關鍵添加邊角信息傾銷與「listgeo」標籤信息時,我必須得到:角座標

... 
GTIFKeySet(gtif, GeogCitationGeoKey, TYPE_ASCII, 7, "WGS 84"); 
GTIFKeySet(gtif, GeogAngularUnitsGeoKey, TYPE_SHORT, 1, 9102); 
GTIFKeySet(gtif, GeogSemiMajorAxisGeoKey, TYPE_DOUBLE, 1, 6378137.0); 
GTIFKeySet(gtif, GeogInvFlatteningGeoKey, TYPE_DOUBLE, 1, 298.257223563); 
... 

有人能指出我在哪裏可以找到如何寫那些協調文檔,或者鍵/功能我需要使用要做到這一點,如果可能的話?

乾杯。

回答

2

這可能是最適合作爲評論,但由於它的大小,我會張貼它作爲答案。我的GIS知識是有點生鏽,但讓我們來看看listgeo如何轉儲角落的信息:

static void GTIFPrintCorners(GTIF *gtif, GTIFDefn *defn, FILE * fp_out, 
           int xsize, int ysize, int inv_flag, int dec_flag) 

{ 
    printf("\nCorner Coordinates:\n"); 
    if(!GTIFReportACorner(gtif, defn, fp_out, 
          "Upper Left", 0.0, 0.0, inv_flag, dec_flag)) 
    { 
     printf(" ... unable to transform points between pixel/line and PCS space\n"); 
     return; 
    } 

    // Ommited ... 
} 

看着GTIFReportACorner似乎它轉換圖像座標(0,0),以它的使用GTIFImageToPCS相應的地理座標,而不是期待直接在一些標籤。

我敢打賭,只要您添加其他信息,如投影,基準和圖像中心的位置(連接點?),GTIFImageToPCS就可以正常工作。