2011-11-16 309 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就可以正常工作。