关于GDAL的几何校正问题

首先可以参照以下两处资料:

http://wenku.baidu.com/view/508a46f0f90f76c661371a66
http://www.cnblogs.com/flyingfish/archive/2007/09/12/890442.html

不过我按照上述资料并没有成功,第一个资料中给出了可运行的源码,但是实际结果并没有做重采样,好像只是把原始数据copy了一份,仅对拷贝做了

投影设置和仿射变换设置,真实数据没有重采样。

第二个资料中博主给出的源码在我这里不能运行,每次均是运行到ChunkAndWarpImage/Multi函数处即出错。

将第一个资料中的GenImgProjTransform/er替换为GCPTransform/er,可以对无坐标参考系统的裸数据进行校正,但是得不到正确的结果,可以看到结果被重采样了,

空间坐标范围也正确,但是原始图像被缩小并集中到结果图像的左上角,目前我也不清楚是什么错误导致了这样的结果。

我的解决办法是,由于GDAL支持2种类型的坐标系统,一种是仿射信息描述的,一种是GCP点描述的。给出GCP点之后,按照下面步骤操作:

(1)将原始图像转换为GDAL可编辑更新的格式,以UPDATE方式打开;

(2)将GCP点设置给原始图像,并将目标坐标系统WKT数据设置给原始图像,GDALFlushCache更新数据;

(3)对原始数据做重投影变换,用到的变换类为:GDALCreateGenImgProjTransformer2/GDALGenImgProjTransform

这样得到的结果不仅空间范围正确,并且也进行了重采样。

其他一些细节:

(1)如果将一幅1024*768的图像纠正到以下空间范围去:

                 40N

100E                       120E

                20N

arcgis中GCP点的规则为:

左上角:0,0->100E,40N

左下角:0,-768->100E,20N

右下角:1024,-768->120E,20N

右上角:1024,0->120E,40N

但是在GDAL中,GCP点的规则为:

左上角:0,0->100E,40N

左下角:0,768->100E,20N

右下角:1024,768->120E,20N

右上角:1024,0->120E,40N

(2)GDAL仅支持1-3次多项式的GCP校正,多项式次数T与GCP点数量N的关系为(在使用GDALGCPTranform变换时需要指定):

N=(T+1)*(T+2)/2

转载于:https://www.cnblogs.com/yeahgis/archive/2013/03/06/2946729.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值