gpt4 book ai didi

c++ - 如何使用 libgeotiff 将坐标写入 TIF 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:57:09 46 4
gpt4 key购买 nike

我正在尝试使用 GeoTiff 库创建一个 tif 文件。我设法使用库的标准 TIF 函数将所有数据写入一个普通的 tif 文件,但我不知道如何使用这些函数来添加角的坐标。

例如,我在 Internet 上查找过,并且能够添加与图像地理定位相关的信息:模型、栅格、角度单位等。但我看不到要添加的任何键使用“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);
...

有人能告诉我在哪里可以找到有关如何编写这些坐标的文档,或者如果可能的话,我需要使用哪个键/函数来完成这些操作吗?

干杯。

最佳答案

这可能最适合作为评论,但由于它的大小,我将其作为答案发布。我的 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,它似乎使用 GTIFImageToPCS 将图像坐标 (0, 0) 转换为相应的地理坐标,而不是直接查看某个标签。

我敢打赌,GTIFImageToPCS 可以正常工作,只要您添加其他信息,例如投影、基准面和可能的图像中心位置(连接点?)。

关于c++ - 如何使用 libgeotiff 将坐标写入 TIF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8154959/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com