/*
* 文件名称:QBInfo.h
* 摘    要:定义情报处理通用数据结构
* 当前版本:2.0  王家星 20170311
*/

#pragma once

#pragma pack(1)  
	
// 昼夜光电侦察平台复接数据结构体  110字节,顺序不可调整
// struct struProtocal_FJ  
// {
// 	// 帧头
// 	UINT8  Head[2];	    // 帧头: EB 90
// 
// 	// 载荷参数
// 	UINT8  ZH_Type;          // 载荷识别码    
// 							 // 0x10:数码相机侦察平台 
// 	                         // 0x20:昼夜光电侦察平台
// 	UINT8  ZH_CmdType;       // 开关指令回报
// 	UINT8  ZH_WorkState;     // 载荷工作状态
// 	UINT8  ZH_CtrlState0;    // 主控状态字0
// 	UINT8  ZH_CtrlState1;    // 主控状态字1
// 	UINT8  ZH_ServoState;    // 伺服状态字
// 	UINT8  ZH_EOState0;      // 可见光状态字0
// 
// 	UINT8  ZH_IRState;       // 昼夜光电侦察平台:红外状态字
// 	                         // 数码相机侦察平台:数码相机曝光时间
// 
// 	UINT8  ZH_TrackState;    // 跟踪器状态字
// 	UINT8  ZH_RecorderState; // 记录仪状态字
// 
// 
// 	INT16  ZH_Pitch;         // 载荷俯仰角
// 	INT16  ZH_Azimuth;       // 载荷方位角
// 	UINT16 ZH_LaserDist;     // 激光测距值
// 	UINT16 ZH_EOFocalLen;    // 可见光焦距
// 
// 	UINT16 ZH_IRFocalLen;    // 昼夜光电侦察平台:红外焦距
// 	                         // 数码相机侦察平台:照片总编号:自上电起所有拍照总数
// 
// 	INT16  ZH_DeltaX;		 // 俯仰脱靶量
// 	INT16  ZH_DeltaY;		 // 方位脱靶量 
// 
// 	UINT8  ZH_EOState1;         // 可见光状态字1
// 	UINT8  ZH_LaserIndicateState;  // 激光照射状态字
// 
// 	UINT8 ZH_ImgType; // 图像类型 
// 	UINT8 ZH_ImgFlow; // 图像码率
// 
// 	UINT8  ZH_SMOverlapRatio;  // 数码照片重叠率 分辨率为0.5%, 范围:0%~100%
// 	UINT8  CHKSUM;   // 和校验位 1~32字节累和低8位为0x00    
// 
// 	// 第二部分:表4的部分内容,即struProtocal_FKtoZH后半部分内容(11-87)
// 
// 	// 飞机参数(部分)
// 	UINT8  UAV_Type;        // 无人机型号
// 	UINT8  UAV_ID;          // 无人机ID
// 	UINT8  UAV_States[11];  // 无人机飞行状态
// 	INT16  UAV_GyroPitch;   // 垂直陀螺俯仰角
// 	INT16  UAV_GyroRoll;    // 垂直陀螺滚转角
// 	UINT16 UAV_AirPresAlt;  // 无人机气压高度
// 	UINT16 UAV_MagHeading;  // 无人机磁航向角
// 
// 	// 左右两个GPS测量数据(可测飞机滚转角)
// 	UINT8  GPS_LR_WorkState;  // 卫导1定位测资状态
// 	UINT32 GPS_LR_UTC;        // 卫导1时分秒
// 	UINT8  GPS_LR_Day;        // 卫导1日
// 	UINT8  GPS_LR_Month;      // 卫导1月
// 	UINT8  GPS_LR_Year;       // 卫导1年
// 	INT32  GPS_LR_Lat;        // 卫导1纬度
// 	INT32  GPS_LR_Lon;        // 卫导1经度
// 	UINT16 GPS_LR_Alt;        // 卫导1高度
// 	UINT16 GPS_LR_VHeading;   // 卫导1地速方向(实际运动方向)
// 	UINT16 GPS_LR_HoriSpeed;  // 卫导1水平速度
// 	INT16  GPS_LR_VertSpeed;  // 卫导1天速(垂直速度)
// 	UINT16 GPS_LR_Heading;    // 卫导1航向角(机头方向)
// 	INT16  GPS_LR_Roll;       // 卫导1滚转角
// 
// 	// 前后两个GPS测量数据(可测飞机俯仰角)
// 	UINT8  GPS_FB_WorkState;  // 卫导2定位测资状态
// 	UINT32 GPS_FB_UTC;        // 卫导2时分秒
// 	UINT8  GPS_FB_Day;        // 卫导2日
// 	UINT8  GPS_FB_Month;      // 卫导2月
// 	UINT8  GPS_FB_Year;       // 卫导2年
// 	INT32  GPS_FB_Lat;        // 卫导2纬度
// 	INT32  GPS_FB_Lon;        // 卫导2经度
// 	UINT16 GPS_FB_Alt;        // 卫导2高度
// 	UINT16 GPS_FB_VHeading;   // 卫导2地速方向(实际运动方向)
// 	UINT16 GPS_FB_HoriSpeed;  // 卫导2水平速度
// 	INT16  GPS_FB_VertSpeed;  // 卫导2天速(垂直速度)
// 	UINT16 GPS_FB_Heading;    // 卫导2航向角(机头方向)
// 	INT16  GPS_FB_Pitch;      // 卫导2俯仰角
// 
// 	UINT8  CHKSUM2;   // 和校验位
// };

// 昼夜光电侦察平台复接数据结构体  110字节,顺序不可调整
struct struProtocal_FJ  
{
	// 帧头
	UINT8  Head[2];	    // 帧头: EB 90

	// 载荷参数
	UINT8  ZH_Type;          // 载荷识别码    
	// 0x10:数码相机侦察平台 
	// 0x20:昼夜光电侦察平台
	UINT8  ZH_CmdType;       // 开关指令回报
	UINT8  ZH_WorkState;     // 载荷工作状态
	UINT8  ZH_CtrlState0;    // 主控状态字0
	UINT8  ZH_CtrlState1;    // 主控状态字1
	UINT8  ZH_ServoState;    // 伺服状态字
	UINT8  ZH_EOState0;      // 可见光状态字0

	UINT8  ZH_IRState;       // 昼夜光电侦察平台:红外状态字
	// 数码相机侦察平台:数码相机曝光时间

	UINT8  ZH_TrackState;    // 跟踪器状态字
	UINT8  ZH_RecorderState; // 记录仪状态字


	INT16  ZH_Pitch;         // 载荷俯仰角
	INT16  ZH_Azimuth;       // 载荷方位角
	UINT16 ZH_LaserDist;     // 激光测距值
	UINT16 ZH_EOFocalLen;    // 可见光焦距

	UINT16 ZH_IRFocalLen;    // 昼夜光电侦察平台:红外焦距
	// 数码相机侦察平台:照片总编号:自上电起所有拍照总数

	INT16  ZH_DeltaX;		 // 俯仰脱靶量
	INT16  ZH_DeltaY;		 // 方位脱靶量 

	UINT8  ZH_EOState1;           // 可见光状态字1
	UINT8  ZH_LaserIndicateState; // 激光照射状态字(含义见载荷补充协议)

	UINT8 ZH_ImgType; // 图像类型 
	UINT8 ZH_ImgFlow; // 图像码率

	UINT8  ZH_SMOverlapRatio;  // 数码照片重叠率 分辨率为0.5%, 范围:0%~100%
	UINT8  CHKSUM;   // 和校验位 1~32字节累和低8位为0x00    

	// 第二部分:表4的部分内容,即struProtocal_FKtoZH后半部分内容(11-87)

	// 飞机参数(部分)
	UINT8  UAV_Type;        // 无人机型号
	UINT8  UAV_ID;          // 无人机ID
	UINT8  UAV_States[11];  // 无人机飞行状态
	INT16  UAV_GyroPitch;   // 垂直陀螺俯仰角
	INT16  UAV_GyroRoll;    // 垂直陀螺滚转角
	UINT16 UAV_AirPresAlt;  // 无人机气压高度
	UINT16 UAV_MagHeading;  // 无人机磁航向角

	// 左右两个GPS测量数据(可测飞机滚转角)
	UINT8  GPS_LR_WorkState;  // 卫导1定位测资状态
	UINT32 GPS_LR_UTC;        // 卫导1时分秒
	UINT8  GPS_LR_Day;        // 卫导1日
	UINT8  GPS_LR_Month;      // 卫导1月
	UINT8  GPS_LR_Year;       // 卫导1年
	INT32  GPS_LR_Lat;        // 卫导1纬度
	INT32  GPS_LR_Lon;        // 卫导1经度
	UINT16 GPS_LR_Alt;        // 卫导1高度
	UINT16 GPS_LR_VHeading;   // 卫导1地速方向(实际运动方向)
	UINT16 GPS_LR_HoriSpeed;  // 卫导1水平速度
	INT16  GPS_LR_VertSpeed;  // 卫导1天速(垂直速度)
	UINT16 GPS_LR_Heading;    // 卫导1航向角(机头方向)
	INT16  GPS_LR_Roll;       // 卫导1滚转角

	// 前后两个GPS测量数据(可测飞机俯仰角)
	UINT8  GPS_FB_WorkState;  // 卫导2定位测资状态
	UINT32 GPS_FB_UTC;        // 卫导2时分秒
	UINT8  GPS_FB_Day;        // 卫导2日
	UINT8  GPS_FB_Month;      // 卫导2月
	UINT8  GPS_FB_Year;       // 卫导2年
	INT32  GPS_FB_Lat;        // 卫导2纬度
	INT32  GPS_FB_Lon;        // 卫导2经度
	UINT16 GPS_FB_Alt;        // 卫导2高度
	UINT16 GPS_FB_VHeading;   // 卫导2地速方向(实际运动方向)
	UINT16 GPS_FB_HoriSpeed;  // 卫导2水平速度
	INT16  GPS_FB_VertSpeed;  // 卫导2天速(垂直速度)
	UINT16 GPS_FB_Heading;    // 卫导2航向角(机头方向)
	INT16  GPS_FB_Pitch;      // 卫导2俯仰角

	UINT8  CHKSUM2;   // 和校验位
};

// 转换后的组播位置信息数据结构体
struct struSocketProtocal
{
	UINT8 Socket_Head[2];			// 帧头
	UINT8 Socket_Marker;				// 帧标识
	UINT8 Socket_Sender;				// 发送方标识
	UINT16 Socket_FrameCount;	// 帧计数
	INT32 UAV_Lon;						// 自身经度
    INT32 UAV_Lat;						// 自身纬度
	INT16 UAV_Alt;						// 自身高度
	INT32 Target_Lon;					// 目标经度
	INT32 Target_Lat;					// 目标纬度
	INT16 Target_Alt;						// 目标高度
	UINT8 CRC[2];						// CRC16校验
	UINT8 Socket_End[2];				// 帧尾
};

// 转换后的图像复接数据结构体
struct struTranslateProtocal_FJ
{
	bool bValid;   // 结构体数据是否有效: TRUE—有效    FALSE—无效

	// 载荷参数
	UINT8  ZH_Type;      // 载荷识别码 0x10—数码相机侦察平台  0x20—昼夜光电侦查平台

	UINT8  ZH_CmdType;   // 回报开关指令

	//载荷工作状态——主界面显示
	UINT8  ZH_StablePlatformWorkState;  // 稳定平台工作状态:000—手动跟踪 001—自动跟踪 010—锁定 011—数引 100—扫描 101—刹车(昼夜光电平台)垂直随动(数码相机平台) 110—初始化 111—偏心跟踪
	UINT8  ZH_LaserRangeWorkState;      // 激光测距仪工作状态:000—正常 001—故障 010—关机 011—待机 100—测距开 101—测距关 111—休息
	UINT8  ZH_ElevatorWorkState;        // 升降机构工作状态:00—顶端  01—底端 10—上升 11—下降

	//状态字
	UINT8  ZH_CtrlState0;    // 主控状态字0
	UINT8  ZH_CtrlState1;    // 主控状态字1
	UINT8  ZH_ServoState;    // 伺服状态字

	//可见光状态字0
	UINT8  ZH_EOCameraWorkState;     // EO相机状态: 0—正常 1—故障
	UINT8  ZH_EOCameraImgState;      // EO图像状态:  0—真实   1:—自检

	//红外状态字
	UINT8  ZH_IRCameraWorkState;     // 红外相机状态: 0—正常 1—故障
	UINT8  ZH_IRCameraImgState;      // 红外图像状态: 0—真实   1:—自检
	UINT8  ZH_IRCameraDigitalDouble; // 热像仪数字变倍:0—正常 1—数字变倍2X

	//配合11所调试激光状态字,占用可见光状态字1字节
	UINT8  ZH_LASERTEST_D7; // 全系统: 0-正常   1-故障
	UINT8  ZH_LASERTEST_D6; // 温控:   0-正常   1-故障
	UINT8 ZH_LASERTEST_D5; //  驱动:   0-正常   1-故障
	UINT8 ZH_LASERTEST_D4; // 照射循环:0-未完成 1-已完成
	UINT8 ZH_LASERTEST_D3; // 主波:    0-有主波 1-无主波
	UINT8 ZH_LASERTEST_D2; // 回波:    0-有回波 1-无回波
	UINT8 ZH_LASERTEST_D1D0;//工作状态:00:待机  01:测距  10:照射  11:休息


	// 数码相机曝光时间
	UINT ZH_SMExposalTime;  // 数码照片曝光时间 200~5000us

	// 跟踪器状态
	UINT8  ZH_EOTrackState_Control;  // 可见光接收球上主控数据:0—正常 1—故障
	UINT8  ZH_EOTrackState;          // 可见光跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白 110-冻结当前帧 111-显示当前帧
	UINT8  ZH_IRTrackState_Control;  // 红外接收球上主控数据:0—正常 1—故障
	UINT8  ZH_IRTrackState;          // 红外跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白 110-冻结当前帧 111-显示当前帧


	float  ZH_Pitch;   // 载荷俯仰角
	float  ZH_Azimuth; // 载荷方位角
	bool ZH_LaserOn;   // 激光测距开关,true为开
	unsigned int ZH_LaserDist;     // 激光测距值
	float ZH_EOFocalLen; // 可见光焦距
	float ZH_IRFocalLen; // 红外焦距

	UINT  ZH_SMSerialNumber; // 数码相机照片总编号

	int  ZH_DeltaX;		 // 俯仰脱靶量
	int  ZH_DeltaY;		 // 方位脱靶量 



	UINT8 ZH_ImgType;    // 图像类型:0x01—可见光 0x02—红外 0x03-数码照片 0x04—可见光&红外 0x07-可见光&数码照片 
	UINT8 ZH_ImgFlow;    // 图像码流:0x03—3Mbps 0x05—5Mbps 0x08—7.68Mbps

	float ZH_SMOverlapRatio;  // 数码照片重叠率

	double ZH_EOPixelSize; // 可见光像元尺寸
	double ZH_IRPixelSize; // 红外像元尺寸 非数字变倍15um
	double ZH_SMPixelSize; // 数码照片像元尺寸


	// 第二部分:表4的部分内容,即struProtocal_FKtoZH后半部分内容(11-87)

	// 飞机参数(部分)
	UINT8  UAV_Type;       // 无人机型号
	UINT8  UAV_ID;         // 无人机ID
	UINT8  UAV_States[11]; // 无人机飞行状态
	float  UAV_GyroPitch;  // 垂直陀螺俯仰角
	float  UAV_GyroRoll;   // 垂直陀螺滚转角
	float UAV_AirPresAlt;  // 无人机气压高度
	float UAV_MagHeading;  // 无人机磁航向角

	// 左右两个GPS测量数据(可测飞机滚转角)
	UINT8  GPS_LR_WorkState;  // 卫导1定位测资状态
	UINT8 GPS_LR_Location;    // 卫导1定位
	UINT8 GPS_LR_Attitude;    // 卫导1测姿
	unsigned int GPS_LR_UTC;  // 卫导1时分秒
	unsigned int GPS_LR_Day;  // 卫导1日
	unsigned int GPS_LR_Month;// 卫导1月
	unsigned int GPS_LR_Year; // 卫导1年
	float  GPS_LR_Lon;        // 卫导1经度
	float  GPS_LR_Lat;        // 卫导1纬度
	float GPS_LR_Alt;         // 卫导1高度
	float GPS_LR_VHeading;    // 卫导1地速方向(实际运动方向)
	float GPS_LR_HoriSpeed;   // 卫导1水平速度
	float  GPS_LR_VertSpeed;  // 卫导1天速(垂直速度)
	float GPS_LR_Heading;     // 卫导1航向角(机头方向)
	float  GPS_LR_Roll;       // 卫导1滚转角

	// 前后两个GPS测量数据(可测飞机俯仰角)
	UINT8 GPS_FB_WorkState;    // 卫导2定位测资状态
	UINT8 GPS_FB_Location;     // 卫导2定位
	UINT8 GPS_FB_Attitude;     // 卫导2测姿
	unsigned int GPS_FB_UTC;   // 卫导2时分秒
	unsigned int GPS_FB_Day;   // 卫导2日
	unsigned int GPS_FB_Month; // 卫导2月
	unsigned int  GPS_FB_Year; // 卫导2年
	float  GPS_FB_Lon;         // 卫导2经度
	float  GPS_FB_Lat;         // 卫导2纬度
	float GPS_FB_Alt;          // 卫导2高度
	float GPS_FB_VHeading;     // 卫导2地速方向(实际运动方向)
	float GPS_FB_HoriSpeed;    // 卫导2水平速度
	float GPS_FB_VertSpeed;    // 卫导2天速(垂直速度)
	float GPS_FB_Heading;      // 卫导2航向角(机头方向)
	float GPS_FB_Pitch;        // 卫导2俯仰角

	struTranslateProtocal_FJ()
	{
		bValid = false;
	}
};

// 图像中心点定位结构体
struct struCenterLocation
{
	bool bValid;  // 是否有效
	double Lon;   // 经度
	double Lat;   // 纬度
	double H;     // 高度

	struCenterLocation()
	{
		bValid = false;
		Lon = 0;
		Lat = 0;
		H = 0;
	}
};

// 情报处理复接数据结构体
struct struQB_FJ
{
// 	bool bValid;   // 结构体数据是否有效: TRUE—有效    FALSE—无效
// 
// 	// 载荷姿态和属性
// 	UINT8  ZH_StablePlatformWorkState;  // 稳定平台工作状态:000—手动跟踪 001—自动跟踪 010—锁定 011—数引 100—扫描 101—刹车 110—初始化 111—偏心跟踪
// 	UINT8  ZH_TrackState;               // 跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白
// 	float  ZH_Pitch;   // 载荷俯仰角
// 	float  ZH_Azimuth; // 载荷方位角
// 	bool   ZH_LaserOn; // 激光测距开关,true为开
// 	double ZH_LaserDist;  // 激光测距值
// 	float ZH_FocalLen;   //焦距 mm
// 	float ZH_IRFocalLen; // IR焦距 mm(CH96补充)
// 	int  ZH_DeltaX;		 //俯仰脱靶量
// 	int  ZH_DeltaY;		 //方位脱靶量 
// 	double ZH_PixelSize;  //像元尺寸
// 	int ZH_ImgWidth;  // 图像宽
// 	int ZH_ImgHeight; // 图像高
// 
// 	// 飞机位置姿态GPS
// 	double UAV_GPS_Lon; // 无人机经度
// 	double UAV_GPS_Lat; // 无人机纬度
// 	float UAV_GPS_Alt; // 无人机高度
// 	float UAV_GPS_HSpeed; // 水平速度
// 	float UAV_Pitch;  // 俯仰角
// 	float UAV_Yaw;    // 航向角(机头方向)
// 	float UAV_Roll;   // 滚转角
// 	float UAV_GroundHeight;  // 无人机下视点地面高度:地面计算获取30米高程
// 
// 	// GPS时间
// 	unsigned int UAV_GPS_Year;  // 卫导1年
// 	unsigned int UAV_GPS_Month; // 卫导1月
// 	unsigned int UAV_GPS_Day;   // 卫导1日
// 	unsigned int UAV_GPS_UTC;   // 卫导1时分秒
// 
// 	// 附加部分
// 	struCenterLocation centerLoc;   // 图像中心点地理坐标,目标定位时会用到
// 
// 	struQB_FJ()
// 	{
// 		bValid = false;
// 	}

	bool bValid;   // 结构体数据是否有效: TRUE—有效    FALSE—无效

	// 载荷姿态和属性
	UINT8  ZH_StablePlatformWorkState;  // 稳定平台工作状态:000—手动跟踪 001—自动跟踪 010—锁定 011—数引 100—扫描 101—刹车 110—初始化 111—偏心跟踪
	UINT8  ZH_TrackState;               // 跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白
	float  ZH_Pitch;   // 载荷俯仰角
	float  ZH_Azimuth; // 载荷方位角
	bool   ZH_LaserOn; // 激光测距开关,true为开
	double ZH_LaserDist;  // 激光测距值
	float ZH_FocalLen;   //焦距 mm
	int  ZH_DeltaX;		 //俯仰脱靶量
	int  ZH_DeltaY;		 //方位脱靶量 
	double ZH_PixelSize;  //像元尺寸
	int ZH_ImgWidth;  // 图像宽
	int ZH_ImgHeight; // 图像高

	// 飞机位置姿态GPS
	double UAV_GPS_Lon; // 无人机经度
	double UAV_GPS_Lat; // 无人机纬度
	float UAV_GPS_Alt; // 无人机高度
	float UAV_GPS_HSpeed; // 水平速度
	float UAV_Pitch;  // 俯仰角
	float UAV_Yaw;    // 航向角(机头方向)
	float UAV_Roll;   // 滚转角
	float UAV_GroundHeight;  // 无人机下视点地面高度:地面计算获取30米高程

	// GPS时间
	unsigned int UAV_GPS_Year;  // 卫导1年
	unsigned int UAV_GPS_Month; // 卫导1月
	unsigned int UAV_GPS_Day;   // 卫导1日
	unsigned int UAV_GPS_UTC;   // 卫导1时分秒

	// 附加部分
	struCenterLocation centerLoc;   // 图像中心点地理坐标,目标定位时会用到

	struQB_FJ()
	{
		bValid = false;
	}
};


// 图像经纬度边界
struct GeoBoundingBox
{
	double NorthLat; // 北纬
	double SouthLat; // 南纬
	double WestLon;  // 西经
	double EastLon;  // 东经

	GeoBoundingBox()
	{
		NorthLat = -200.0;
		SouthLat = -200.0;
		WestLon = -200.0; 
		EastLon = -200.0;
	}
};

//图像信息结构
struct ImgStru
{
	int				ImgWidth;	   // 图像宽
	int				ImgHeight;	   // 图像高
	int				bitcount;	   // 位数
	GeoBoundingBox  BoundingBox;   // 经纬度边界(存储几何校正后图像的地理边界信息)
	unsigned char*  buff;	       // 图像数据

	ImgStru()
	{
		ImgWidth = 0;
		ImgHeight = 0;
		bitcount = 0;
		buff = NULL;
	}

	~ImgStru()
	{
		if ( buff != NULL )
		{ 
			delete[] buff; 
			buff = NULL; 
		}
	}

};

//图像数据:输入图像、输出图像、TIF图像
struct ImgData
{
	bool     bValid; //是否有效
	ImgStru	 srcImg; //输入图像数据
	ImgStru	 dstImg; //输出图像数据
	ImgStru	 geoImg; //TIF文件数据
};

// 情报结构体
struct QBStru
{
	//struTranslateProtocal_FJ frameAll; // 全部复接数据
	struQB_FJ framePart;   // 部分复接数据
	ImgData   image;   // 图像数据

	QBStru()
	{
		//memset(&frameAll, 0, sizeof(struTranslateProtocal_FJ));
		memset(&framePart, 0, sizeof(struQB_FJ));
		memset(&image, 0, sizeof(ImgData));
	}
};
// CH96协议
struct Protocal96TXD
{
	//载荷参数
	UINT8   head[2];						// 帧头(1-2)

	UINT8	mem1;							// 预留,载荷参数开始(3)
	UINT8 SwitchCmd;					// 开关指令(4)
	UINT8 Status0;							// 状态字0(暂无)(5)
	UINT8 Status1;							// 状态字1(图像状态)(6)
	UINT16 EOFocus;					// 可见光焦距值(7-8)
	UINT8 Status2;							// 状态字2(伺服状态)(9)
	UINT32 FrameCount;				// 帧计数值(时码)(10-13)
	INT16 dx;									// 俯仰脱靶量(14-15)
	INT16 dy;									// 方位脱靶量(16-17)
	UINT16 IRFocus;						// 红外焦距值(18-19)
	UINT16 LaserDis;					// 激光测距值(20-21)
	UINT8 LaserState;					// 激光状态(测距开关)(22)
	UINT32 None_1;						// 无(23-26)
	UINT32 None_2;						// 无(27-30)
	INT16 ZH_Pitch;						// 载荷俯仰角(31-32)
	INT16 ZH_Azimuth;					// 载荷方位角(33-34)
	UINT16 PixelSize;						// 像元大小(35-36)
	UINT16 mem2[6];						// 压缩/所取图像/横向/纵向分辨率(37-48)

	//飞机参数
	INT16 PlaneID;								//飞机ID(49-50)(1-2)
	INT16 Pitch;										//飞机测姿俯仰角(51-52)(3-4)
	INT16 Roll;										//飞机测姿滚转角(53-54)(5-6)
	INT16 Yaw;										//飞机测姿航向角(55-56)(7-8)
	INT32 Satelite_lon;							//飞机测姿经度(57-60)(9-12)
	INT32 Satelite_lat;							//飞机测姿纬度(61-64)(13-16)
	INT32 Satelite_height;						//飞机测姿高度(65-68)(17-20)
	INT16 Satelite_Ground_Speed;			//飞机测姿地速(69-70)(21-22)
	INT16 Satelite_Ground_Speed_Dir;	//测姿GPS地速方向(71-72)(23-24)
	INT16 Satelite_Sky_Speed;				//测姿GPS天速(73-74)(25-26)
	INT16 MTI_Pitch;							//MTI俯仰角(75-76)(27-28)
	INT16 MTI_Roll;								//MTI滚转角(77-78)(29-30)
	INT16 MTI_Yaw;								//MTI航向角(79-80)(31-32)
	INT32 MTI_lon;								//MTI经度(81-84)(33-36)
	INT32 MTI_lat;								//MTI纬度(85-88)(37-40)
	INT16 MTI_height;							//MTI高度(89-90)(41-42)
	INT16 MTI_Ground_Speed;				//MTI地速(91-92)(43-44)
	INT16 MTI_Ground_Speed_Dir;		//MTI地速方向(93-94)(45-46)
	INT16 MTI_Sky_Speed;					//MTI天速(95-96)(47-48)
	UINT32 UTC_Second;						//UTC天秒(97-100)(49-52)
	UINT8 UTC_Year;							//UTC年(101)(53)
	UINT8 UTC_Month;							//UTC 月(102)(54)
	UINT8 UTC_Day;							//UTC 日(103)(55)
	UINT8 NavigationState;					//导航状态(104)(56)
	UINT16 PressureHEG;						//气压高度(105-106)(57-58)
	INT16 AirSpeed;								//空速(107-108)(59-60)
	UINT8	Engine_Speed;						//发动机转速(109)(61)
	INT8 Left_Tmp;								//左缸温(110)(62)
	INT8 Right_Tmp;								//右缸温(111)(63)
	INT8 Pitch_Install_Err;						//载荷俯仰安装误差(112)(64)
	INT8 Roll_Install_Err;						//载荷滚转安装误差(113)(65)
	INT8 Yaw_Install_Err;						//载荷偏航安装误差(114)(66)
	UINT8	mem3;									//预留(115)(67)
	INT8 GPS_Parm[38];						//测姿GPS 参数(116-148)(68-100)

	UINT16 CRC;									//飞参数据校验(149-150)
};

struct Data96TXD
{
	//载荷参数
	UINT8   head[2];						// 帧头(1-2)

	UINT8	mem1;							// 预留,载荷参数开始(3)
	UINT8 SwitchCmd;					// 开关指令(4)
	UINT8 Status0;							// 状态字0(暂无)(5)
	UINT8 Status1;							// 状态字1(图像状态)(6)
	float EOFocus;							// 可见光焦距值(7-8)
	UINT8 Status2;							// 状态字2(伺服状态)(9)
	UINT32 FrameCount;				// 帧计数值(时码)(10-13)
	int dx;										// 俯仰脱靶量(14-15)
	int dy;										// 方位脱靶量(16-17)
	float IRFocus;							// 红外焦距值(18-19)
	int LaserDis;							// 激光测距值(20-21)
	UINT8 LaserState;					// 激光状态(测距开关)(22)
	UINT32 None_1;						// 无(23-26)
	UINT32 None_2;						// 无(27-30)
	float ZH_Pitch;							// 载荷俯仰角(31-32)
	float ZH_Azimuth;						// 载荷方位角(33-34)
	float PixelSize;							// 像元大小(35-36)
	UINT16 mem2[6];						// 压缩/所取图像/横向/纵向分辨率(37-48)

	//飞机参数
	int PlaneID;										//飞机ID(49-50)(1-2)
	float Pitch;										//飞机测姿俯仰角(51-52)(3-4)
	float Roll;											//飞机测姿滚转角(53-54)(5-6)
	float Yaw;											//飞机测姿航向角(55-56)(7-8)
	double Satelite_lon;							//飞机测姿经度(57-60)(9-12)
	double Satelite_lat;								//飞机测姿纬度(61-64)(13-16)
	double Satelite_height;						//飞机测姿高度(65-68)(17-20)
	float Satelite_Ground_Speed;				//飞机测姿地速(69-70)(21-22)
	float Satelite_Ground_Speed_Dir;		//测姿GPS地速方向(71-72)(23-24)
	float Satelite_Sky_Speed;					//测姿GPS天速(73-74)(25-26)
	float MTI_Pitch;								//MTI俯仰角(75-76)(27-28)
	float MTI_Roll;									//MTI滚转角(77-78)(29-30)
	float MTI_Yaw;								//MTI航向角(79-80)(31-32)
	double MTI_lon;								//MTI经度(81-84)(33-36)
	double MTI_lat;									//MTI纬度(85-88)(37-40)
	double MTI_height;							//MTI高度(89-90)(41-42)
	float MTI_Ground_Speed;					//MTI地速(91-92)(43-44)
	float MTI_Ground_Speed_Dir;			//MTI地速方向(93-94)(45-46)
	float MTI_Sky_Speed;						//MTI天速(95-96)(47-48)
	int UTC_Second;							//UTC天秒(97-100)(49-52)
	int UTC_Year;									//UTC年(101)(53)
	int UTC_Month;								//UTC 月(102)(54)
	int UTC_Day;									//UTC 日(103)(55)
	UINT8 NavigationState;					//导航状态(104)(56)
	float PressureHEG;							//气压高度(105-106)(57-58)
	float AirSpeed;									//空速(107-108)(59-60)
	int	Engine_Speed;								//发动机转速(109)(61)
	int Left_Tmp;									//左缸温(110)(62)
	int Right_Tmp;									//右缸温(111)(63)
	float Pitch_Install_Err;						//载荷俯仰安装误差(112)(64)
	float Roll_Install_Err;							//载荷滚转安装误差(113)(65)
	float Yaw_Install_Err;						//载荷偏航安装误差(114)(66)
	UINT8	mem3;									//预留(115)(67)
	INT8 GPS_Parm[38];						//测姿GPS 参数(116-148)(68-100)

	UINT16 CRC;									//飞参数据校验(149-150)
};

struct MostSimpleTgtInfo
{
	unsigned int ID;
	double Lon;
	double Lat;
	double Alt;
};

#pragma pack()