粗略计算移动卫星对高建筑的拍摄误差

代码中的T设置为了3.3天,参考的是吉林1号的运转周期

吉林1号:https://www.satimagingcorp.com/satellite-sensors/jilin-1-satellite-sensor-1m/jilin-1-smart-video-satellite/

#include<bits/stdc++.h> 
using namespace std;

const double pi = acos(-1.0);

//万有引力常量 
const double G = 6.67*1e-11;

//地球质量 
const double M = 5.965*1e24;

//地球半径
const double GR = 6371393; 

//自转角速度 
const double GW = 2*pi/(24*3600);

double Geostationary_Satellite_R()
{
    //计算同步卫星高度
    //GMm/r^2 = mw^2r -> r^3=GM/w^2
    double r3 = G*M/(pow(GW,2));
    double r = pow(r3, 1.0/3);
    return r;
}

double Satellite_R(double T)
{
    //根据周期T,单位为天,算出卫星的高度
    double w = 2*pi/(T*24*3600);
    double r3 = G*M/(pow(w,2));
    double r = pow(r3, 1.0/3);
    return r;
}

double pre_hour_dx(double T, double building_h, double hour)
{
    double w = 2*pi/(T*24*3600);
    double satellite_r = Satellite_R(T);
    double building_r = building_h+GR;
    double dh = satellite_r-building_r;
    //同步卫星hour时间内经过的距离 
    double move_x = w*satellite_r*hour*3600;
    //move_x/dh==dx/building_h
    double dx = move_x/dh*building_h;
    return dx;
}

int main()
{
    //设一个400m的高楼 
    double building_h = 400;
    double hour=1.0/6;
    double T=3.3;
    double dx = pre_hour_dx(T, building_h, hour);
    printf("%.9f\n", dx);
    return 0;···
}

答案:

5.675341064

即,吉林1号,对一个400m的建筑,在10分钟的两次拍摄,投影到地面距离误差可达5.675341064m。

一般马路一个车道宽为3.75m,双车道为7.5m。

也就是说,吉林一号,10分钟的视频记录,一条路就有可能因为高建筑的遮挡从完全可见到消失不见。

一般一层楼为2.8m,居民楼按30层计算,30 * 2.8 = 84m

10分钟的偏移为:1.191817304m

说明,吉林1号,在面对普通城市的楼房,也要考虑这个偏移问题。

但如果是处理底楼房,或野外的目标,基本不会产生太大偏差。

文章目录