using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
using Serilog;
using XdCxRhDw.Dto;
using XdCxRhDW.App.Api;
using XdCxRhDW.Core.Api;
using XdCxRhDW.Dto;
namespace XdCxRhDW.WebApi.Controllers
{
///
/// 星历推算功能相关接口
///
public class XlController : BaseController
{
///
/// 推算某个时间点星历
///
/// 推算参数
///
[HttpPost]
public AjaxResult Calc(XlCalcDto dto)
{
try
{
var p = EphHelper.Calc(dto.tleStr, dto.dt);
return Success(new SatEphDto()
{
SatId = p.SatId,
SatTime = p.SatTime,
TleTime = p.TleTime,
X = p.X,
Y = p.Y,
Z = p.Z,
VX = p.VX,
VY = p.VY,
VZ = p.VZ,
});
}
catch (Exception ex)
{
return Error(ex.Message);
}
}
///
/// 推算某个时间段星星历
///
/// 推算参数
///
[HttpPost]
public AjaxResult> CalcMult(XlCalcMultDto dto)
{
try
{
var eph = EphHelper.CalcMult(dto.tleStr, dto.start, dto.end, dto.spanSeconds);
return Success(eph.Select(p => new EphResDto()
{
SatId = p.SatId,
SatTime = p.SatTime,
TleTime = p.TleTime,
X = p.X,
Y = p.Y,
Z = p.Z,
VX = p.VX,
VY = p.VY,
VZ = p.VZ,
}).ToList());
}
catch (Exception ex)
{
return Error>(ex.Message);
}
}
}
}