一个高效的通用光学卫星数据正射校正程序

本文介绍了一种能处理多数光学遥感卫星数据的正射校正程序,利用99脚本语言进行处理,适用于GF1、GF多模、吉林1号和资源3号等卫星数据。程序包括准备DEM数据、选择待校正数据、正射校正等步骤,并展示了不同卫星数据的正射校正速度。

李国春

随着高分辨率对地观测卫星发射的日益增多,对数据处理软件的要求也越来越高。通常每个系列卫星都有自己的数据特点并需要专门的处理软件,但卫星数量的增加为每种卫星单独设计软件的压力越来越大。本文介绍的一种处理方案旨在能够正射校正处理大多数的光学遥感卫星的观测数据。

将卫星运营部门发布的卫星数据处理成用户数据最重要的处理成本是正射校正部分。这里提供的处理方案可以快速无人工干预处理由有理式(RPC)参数描述的一级数据。

本文演示处理了几种卫星数据,更多类别的卫星(尤其是近年大量发射的新卫星)数据用户可以用本文程序试验处理,遇有问题可以及时反馈以便修正处理。

一、99脚本语言处理代码

1. 准备正射校正用DEM数据

	Print("开始生成中国区 SRTM 90m DEM 数据...");
	DWORD tc = GetTickCount();
	//创建 DEM 数据,正射校正用///////////////////////////////////////////////////////////////////////////////////////////////
	double		demGeoBox[4];				//排列依次为:最小纬度、最小经度、最大纬度和最大经度
	longlong	demHeight = 36000;
	longlong	demWidth = 42000;
	short		demBuffer[demHeight][demWidth];
	double		dbOrgLat = 46.0;			//设置左上角位置的经纬度
	double		dbOrgLon = 95.0;
	short		defaltElv = 0.0;	
	double		demPixSize = 5.0/6000.0;	//SRTM90m = 0.0008333。ASTGTM2、3 DEM 为 0.00027778度/像元.pixsize = 1.0/3600.0;
	DemSrtm90Buffer(demBuffer,dbOrgLat,dbOrgLon,demHeight,demWidth,defaltElv,demGeoBox);
	double dmtm = (GetTickCount() - tc) / 1000.0;
	Print("生成中国区 SRTM 90m DEM 数据用时 %f 秒。",dmtm);

这段代码从SRTM90读来高程数据,存放在DemSrtm90Buffer指向的缓存。数据左上角纬度46.0°N,经度95°E。东西向42000个像元,南北向36000个像元。每个像元5/6000°。这样根据经纬度位置能够定位到对应的高程。

正射校正用DEM数据可以使用SRTM90、ASTGDEM2、3等通用DEM,也可以使用用户自行定义的DEM数据,只需指定开始经纬度位置、像元大小和数据范围,并将数据预存到一个数据缓存中即可。

2.  选择待校正的数据集

	//选择待进行正射校正的卫星数据文件,自动查找对应的RPC数据文件 ///////////////////////////////////////////////////////////////
	longlong	width,height;
	int			bands,datatype;
	STRING tifName = OpenFileDialog(TRUE,"*.tif;*.tiff");//打开一个tif文件
	STRING	rpcName = tifName - '.';
	rpcName = rpcName + ".rpb";
	if(!PathFileExists(rpcName))
	{
		rpcName = tifName - '.';
		rpcName = rpcName + "_rpc.txt";
		if(!PathFileExists(rpcName))
		{
			Print("没有找到多光谱数据 %s 对应的 RPC 文件。",tifName);
			ret
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值