struct CINRADMESSAGE
{
char Unused1[14];//1-14 保留
//unsigned short int MessageType;//15~16 记录数据类型,具体说明见附表
char MessageType;//15~16 记录数据类型,具体说明见附表
char Channel;
char Unused2[12];//17-28 保留
unsigned long int RadialCollectionTime;//29-32 径向资料采集的GMT时间(毫秒)
unsigned short int RadialCollectionDate;//33-34 径向资料采集的日期,以1/1/1970以来的Julian日期表示
unsigned short int UnambiguousRange;//35-36 不模糊距离,单位:0.1Km
unsigned short int AzimuthAngle;//37-38 方位角,实际值=(value>>3)*0.043945 (度)
unsigned short int DataNumber;//39-40 径向数据序号
unsigned short int DataStatus;//41-42 径向数据状态
short int ElevationAngle;//43-44 仰角,实际值=(value>>3)*0.043945 (度)
short int ElevationNumber;// 45-46 体扫内的仰角编号
short int FirstGateRangeOfRef;//47-48 第一个强度库的距离(米)
short int FirstGateRangeOfDoppler;//49-50 第一个速度/谱宽库的距离(米)
short int ReflectivityGateSize;//51-52 强度库长(米)
short int DopplerGateSize;//53-54 速度/谱宽库长(米)
short int ReflectivityGates;//55-56 强度库数
short int DopplerGates;//57-58 速度/谱宽库数
char Unused3[5];//59-64 保留
unsigned short int RefPointer;//65-66 从雷达数据头到强度数据开始的字节数
unsigned short int VelPointer;//67-68 从雷达数据头到速度数据开始的字节数
unsigned short int SWPointer;//69-70 从雷达数据头到谱宽数据开始的字节数
short int VelResolution;//71-72 速度分辨率:2=0.5m/s;4=1.0m/s
short int VCP;//73-74 体扫VCP模式 (11,21,31,32)
char Unused4[14];//75-88 保留
short int NyquistVelocity;//89-90 Nyquist速率(0.01m/s)不模糊速度
char Unused5[38];//91-128 保留
unsigned char Data[2300];//129-2428数据
char Unused6[4];//2429-2432 保留
};
//取得日期
void CRadBaseData::GetRadialDate(unsigned short JulianDate, int& year, int& month, int& day)
{
int JLDAYN = JulianDate+2440587;
int L = JLDAYN + 68569 ;
int N = 4 * L / 146097 ;
L = L - (146097 * N + 3) / 4 ;
int I = 4000 * (L + 1) / 1461001 ;
L = L - 1461 * I / 4 + 31 ;
int J = 80 * L / 2447 ;
day = L - 2447 * J / 80 ;
L = J / 11 ;
month = J + 2 - 12 * L ;
year = 100 * (N - 49) + I + L ;
}
//取得时间
void CRadar::GetRadialTime(unsigned long liMilliSeconds, int& hour, int& minute, int& seconds)
{
int Seconds=liMilliSeconds;///1000;
hour = Seconds/3600;
minute= (Seconds-hour*3600)/60 ;
seconds = Seconds -(60*hour+minute)*60 ;
}