使用GDAL进行RPC坐标转换
来源:互联网 发布:外汇模拟交易软件 编辑:程序博客网 时间:2024/04/30 09:43
使用GDAL进行RPC坐标转换
对于高分辨率遥感卫星数据而言,目前几乎都提供了有理函数模型(RFM)来进行图像校正(SPOT系列提供了有理函数模型之外还提供了严格轨道模型)。对遥感影像进行校正目前最常用的就是使用有理函数模型来进行校正。
有理函数模型的计算公式网上可以搜到,同时我之前的博客中也有比较详细的说明,可以参考这篇博客http://blog.csdn.net/liminlu0314/article/details/24810593。
GDAL库从1.3左右就开始提供基于RPC的坐标转换,到目前2.x版本以来,基于RPC的坐标转换一直在持续优化,从1.X版本到2.X版本,计算速度有了较大提升。
下面是使用GDAL基于RPC坐标转换的代码:
#include "gdal_priv.h"#include "gdal_alg.h"void main(){ CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO"); CPLSetConfigOption("GDAL_DATA", "./data"); GDALAllRegister();//注册驱动 const char* pszTif = "F:\\ZY3_TLC_E115.5_N39.8_20150110_L1A0002974893-NAD.tiff"; //打开数据 GDALDataset *pDS = (GDALDataset*)GDALOpen(pszTif, GA_ReadOnly); //从元数据中获取RPC信息 char** papszRPC = pDS->GetMetadata("RPC"); //将获取的RPC信息构造成结构体 GDALRPCInfo oInfo; GDALExtractRPCInfo(papszRPC, &oInfo); GDALClose((GDALDatasetH)pDS); //设置RPC模型中所需的DEM路径 char** papszTransOption = NULL; papszTransOption = CSLSetNameValue( papszTransOption, "RPC_DEM", "E:\\DEM.img" ); //设置DEM //使用RPC信息,DEM等构造RPC转换参数 void *pRPCTransform = GDALCreateRPCTransformer(&oInfo, FALSE, 0, papszTransOption); //定义图像的四个角点行列号坐标 double dX[4] = {0, 24525, 24525, 0}; double dY[4] = {0, 0, 24438, 24438}; double dZ[4] = {0, 0, 0, 0}; int nSuccess[4] = {FALSE}; //输出原始行列号坐标 printf("row col:\n"); for(int i=0; i<4; i++) printf("%d\tX=%.7f\tY=%.7f\tZ=%.7f\n", i, dX[i], dY[i], dZ[i]); //调用RPC坐标转换函数进行坐标转换反算(行列号转经纬度) GDALRPCTransform(pRPCTransform, FALSE, 4, dX, dY, dZ, nSuccess); //输出转换的经纬度 printf("long lat:\n"); for(int i=0; i<4; i++) printf("%d\tX=%.7f\tY=%.7f\tZ=%.7f\n", i, dX[i], dY[i], dZ[i]); //调用RPC坐标转换函数进行坐标正算(经纬度转行列号) GDALRPCTransform(pRPCTransform, TRUE, 4, dX, dY, dZ, nSuccess); //输出转换后的行列号坐标 printf("row2 col2:\n"); for(int i=0; i<4; i++) printf("%d\tX=%.7f\tY=%.7f\tZ=%.7f\n", i, dX[i], dY[i], dZ[i]); //释放资源 GDALDestroyRPCTransformer(pRPCTransform); CSLDestroy(papszTransOption);}
2 0
- 使用GDAL进行RPC坐标转换
- 使用GDAL进行影像投影坐标、地理坐标、图上坐标的转换
- GDAL坐标转换
- GDAL进行影像投影坐标、地理坐标、图上坐标的转换
- 使用GDAL对遥感影像进行投影转换
- GDAL坐标转换六参的使用方法
- GDAL坐标转换六参的使用方法 .
- GDAL创建坐标系与坐标转换
- 使用GDAL库中的RPC校正问题
- 使用水经注微图怎么进行CAD图坐标转换
- 使用万能地图下载器进行坐标转换的时候如何确定平面坐标的选择
- 使用GDAL进行栅格数据读取示例
- 如何使用GDAL进行AOI裁剪
- 如何使用GDAL进行图像镶嵌
- 使用GDAL对HDF数据进行校正
- 使用GDAL对DEM进行彩色渲染
- 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示
- 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示
- 技术分享之崩溃处理流程以及触发时机
- ffmpeg文档2:输出到屏幕
- 中国剩余定理
- Maximum Subarray 的总结
- 【垂直搜索引擎搭建11】使用htmlparser获取页面的字符编码encoding
- 使用GDAL进行RPC坐标转换
- Django之HttpServer服务器分析详解
- http状态码
- openERP 7.0 向导路径详解 2
- ffmpeg文档4:创建线程
- JAVA时间知识点汇总(Date,SimpleDateFormat,TimerTask,UUID)
- 悠百佳商业骗局,千万别学我加盟悠百佳!
- 通过AJAX和PHP,提交JQuery Mobile表单(两篇)
- react native组件传递参数值给方法