''' 去地平效应功能代码 因为去地平效应是需要像元的成像时间作为的输入参数量,因此需要原始影像的SLC作为输出项,或者原始的SLC中,保留了影像的成像时刻。 作为模型约定: 1.模型的输入需要已经经过了正射校正,否则没有办法与已有的DEM进行匹配。 2.开发示例使用的高分三号,注意高分三号的正射模型为rpc,因此需要需要计算的对应的时间。 ''' import os import numpy as np # import gdal import math class DeLevelingEffect: ''' 去地平效应 计算公式: Phi=(4*pi/lambda_)*(r1-r2) lambda_ 波长 pi=3.14159265358979323846264338327950288 r1:主 r2:辅 ''' def LevelingEffect(lamda_,r1,r2,pi=3.14159265358979323846264338327950288): '''计算地平效应的相位 agrs: lamda_: double, 波长 r1:shape nx1 ,主影像的斜距 r2:shape nx1 ,辅影像的斜距 pi:double,圆周率 return: Phi:shape nx1 ''' Phi=(4*pi/lamda_)*(r1-r2) return Phi def CalSlantDistance(Rs_Salatellite,Rs_SeaLevel): '''计算斜率 agrs: Rs_Salatellite:nx3 x,y,z 地面对应时刻的 卫星位置和速度 Rs_SeaLevel:nx3 x,y,z 地面的坐标 return: SlantDistance:nx1 斜距 ''' SlantDistance=np.sqrt(np.sum((Rs_Salatellite-Rs_SeaLevel)**2,axis=1)).reshape(-1,1) return SlantDistance # 根据根据卫星轨道数据,构建合适的影像信息 pass