47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
''' 去地平效应功能代码
|
||
因为去地平效应是需要像元的成像时间作为的输入参数量,因此需要原始影像的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 |