syntax = "proto3";
option go_package = "../protogo";
package CalProtobuf;
// 后端请求：六要素计算双根数
message CalcTleReq {	
	int32 noradID=1;			//卫星编号
	string noradName=2;		//卫星名称
	int32 year=3;			//星历时间(年)
	int32 month=4;			//星历时间(月)
	int32 day=5;			//星历时间(日)
	int32 hour=6;			//星历时间(时)
	int32 minute=7;			//星历时间(分)
	int32 second=8;			//星历时间(秒)
	float a=9;				//轨道半轴长
	float ee=10;				//偏心率
	float I=11;				//轨道倾角
	float raan=12;			//升交点赤经
	float arc=13;			//近地点幅角
	float m=14;				//平近点角
}
//AGI返回：六要素计算双根数
message CalcTleRet{		
	string line0=1;			//标准双根数第0行
	string line1=2;			//标准双根数第1行
	string line2=3;			//标准双根数第2行
}
//后端请求：任务预报计算
message CalcReportReq{			
	string startDateTime=1;		//开始时间UTC
	string endDateTime=2;		//结束时间UTC
	double latitude=3;			//站点纬度
	double longitude=4;		//站点经度
	double altitude=5;			//站点海拔
	double slice=6;			//点位间隔
	double minAzi=7;			//最小方位角
	double maxAzi=8;			//最大方位角
	double minEle=9;			//最低仰角
	double maxEle=10;		//最高仰角
	double minDist=11;		//最小距离
	double maxDist=12;		//最大距离
	double pointSlice=13;		//星下点计算间隔
	int32 pointCollect=14;		//星下点采集间隔
	string line0=15;			//标准TLE第0行
	string line1=16;			//标准TLE第1行
	string line2=17;			//标准TLE第2行
}
//AGI返回：任务预报report
message CalcReportRet{			
	repeated Xxd xxds = 1;
	repeated Task tasks = 2;
}
//星下点
message Xxd{
	string dt=1;
	double lon=2;
	double lat=3;
	double height=4;
}
//单圈次任务预报
message Task{			
	string start=1;
	string end=2;
	double startAzi=3;
	double endAzi=4;
	double startEle=5;
	double maxEle=6;
	double minDist=7;
	double maxDist=8;
	repeated Obs obss = 9;
}
//dat文件俯仰角方位角
message Obs{
	string dt=1;
	double azi=2;
	double ele=3;
	double range=4;
}