|
@@ -49,57 +49,128 @@ namespace XdCxRhDW.Sender
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- var lines = File.ReadAllLines("Simulation_Data2023.dat");
|
|
|
- int idx = 1;
|
|
|
+
|
|
|
string url = string.Format("http://{0}:{1}/Api/Pos/", ip, port);
|
|
|
if (tskType == "X1D1CX")//一星一地测向定位
|
|
|
{
|
|
|
+ var lines = File.ReadAllLines("Simulation_Data2023.dat");
|
|
|
+ int idx = 1;
|
|
|
url += "PosX1D1Async";
|
|
|
+ foreach (var line in lines)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
+ var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
+ X1D1PosDto dto = new X1D1PosDto()
|
|
|
+ {
|
|
|
+ SigTime = DateTime.Now,
|
|
|
+ XdDto = Convert.ToDouble(items[1]),
|
|
|
+ MainYbDto = Convert.ToDouble(items[2]),
|
|
|
+ CxRes = Convert.ToDouble(items[4]),
|
|
|
+ MainX = Convert.ToDouble(items[7]),
|
|
|
+ MainY = Convert.ToDouble(items[8]),
|
|
|
+ MainZ = Convert.ToDouble(items[9]),
|
|
|
+ SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon"),
|
|
|
+ SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat"),
|
|
|
+ CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon"),
|
|
|
+ CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat"),
|
|
|
+ CxLon = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lon"),
|
|
|
+ CxLat = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lat"),
|
|
|
+ RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon"),
|
|
|
+ RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat"),
|
|
|
+ };
|
|
|
+ var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
|
|
|
+ var response = await client.PostAsync(url, content);
|
|
|
+ Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
|
|
|
+ }
|
|
|
}
|
|
|
if (tskType == "X2D1")//两星一地定位
|
|
|
{
|
|
|
+ var lines = File.ReadAllLines("Simulation_Data2023.dat");
|
|
|
+ int idx = 1;
|
|
|
url += "PosX2D1Async";
|
|
|
+ foreach (var line in lines)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
+ var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
+ X2D1PosDto X2D1PosDto = new X2D1PosDto();
|
|
|
+ X2D1PosDto.SigTime = DateTime.Now;
|
|
|
+ X2D1PosDto.SxDto = Convert.ToDouble(items[0]);
|
|
|
+ X2D1PosDto.XdDto = Convert.ToDouble(items[1]);
|
|
|
+ X2D1PosDto.MainYbDto = Convert.ToDouble(items[2]);
|
|
|
+ X2D1PosDto.AdjaYbDto = Convert.ToDouble(items[3]);
|
|
|
+ X2D1PosDto.MainX = Convert.ToDouble(items[7]);
|
|
|
+ X2D1PosDto.MainY = Convert.ToDouble(items[8]);
|
|
|
+ X2D1PosDto.MainZ = Convert.ToDouble(items[9]);
|
|
|
+ X2D1PosDto.AdjaX = Convert.ToDouble(items[10]);
|
|
|
+ X2D1PosDto.AdjaY = Convert.ToDouble(items[11]);
|
|
|
+ X2D1PosDto.AdjaZ = Convert.ToDouble(items[12]);
|
|
|
+ X2D1PosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon");
|
|
|
+ X2D1PosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat");
|
|
|
+ X2D1PosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon");
|
|
|
+ X2D1PosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat");
|
|
|
+ X2D1PosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon");
|
|
|
+ X2D1PosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat");
|
|
|
+ var content = new StringContent(JsonConvert.SerializeObject(X2D1PosDto), System.Text.Encoding.UTF8, "application/json");
|
|
|
+ var response = await client.PostAsync(url, content);
|
|
|
+ Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (tskType == "X2D1NoPar")//两星一地无参定位
|
|
|
+ {
|
|
|
+ url += "PosX2D1NoParAsync";
|
|
|
+ var res = X2D1NoPar();
|
|
|
+ var content = new StringContent(JsonConvert.SerializeObject(res), System.Text.Encoding.UTF8, "application/json");
|
|
|
+ var response = await client.PostAsync(url, content);
|
|
|
+ Log($"已向[{txtAddr1.Text}]发送两星一地无参定位仿真结果");
|
|
|
}
|
|
|
if (tskType == "RH")//融合定位
|
|
|
{
|
|
|
+ var lines = File.ReadAllLines("Simulation_Data2023.dat");
|
|
|
+ int idx = 1;
|
|
|
url += "PosRHAsync";
|
|
|
+ foreach (var line in lines)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
+ var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
+ RHPosDto RHPosDto = new RHPosDto();
|
|
|
+ RHPosDto.SigTime = DateTime.Now;
|
|
|
+ RHPosDto.SxDto = Convert.ToDouble(items[0]);
|
|
|
+ RHPosDto.XdDto = Convert.ToDouble(items[1]);
|
|
|
+ RHPosDto.MainYbDto = Convert.ToDouble(items[2]);
|
|
|
+ RHPosDto.AdjaYbDto = Convert.ToDouble(items[3]);
|
|
|
+ RHPosDto.CxRes = Convert.ToDouble(items[4]);
|
|
|
+ RHPosDto.MainX = Convert.ToDouble(items[7]);
|
|
|
+ RHPosDto.MainY = Convert.ToDouble(items[8]);
|
|
|
+ RHPosDto.MainZ = Convert.ToDouble(items[9]);
|
|
|
+ RHPosDto.AdjaX = Convert.ToDouble(items[10]);
|
|
|
+ RHPosDto.AdjaY = Convert.ToDouble(items[11]);
|
|
|
+ RHPosDto.AdjaZ = Convert.ToDouble(items[12]);
|
|
|
+ RHPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon");
|
|
|
+ RHPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat");
|
|
|
+ RHPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon");
|
|
|
+ RHPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat");
|
|
|
+ RHPosDto.CxLon = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lon");
|
|
|
+ RHPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lat");
|
|
|
+ RHPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon");
|
|
|
+ RHPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat");
|
|
|
+ var content = new StringContent(JsonConvert.SerializeObject(RHPosDto), System.Text.Encoding.UTF8, "application/json");
|
|
|
+ var response = await client.PostAsync(url, content);
|
|
|
+ Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- var stationRes = new StationResDto()
|
|
|
+ if (tskType == "X3TwoDto")//三星双时差定位
|
|
|
+ {
|
|
|
+ url += "PosX3TwoDtoAsync";
|
|
|
+ }
|
|
|
+ if (tskType == "X3TwoDfo")//三星双频差定位
|
|
|
{
|
|
|
- SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon"),
|
|
|
- SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat"),
|
|
|
- CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon"),
|
|
|
- CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat"),
|
|
|
- CxLon = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lon"),
|
|
|
- CxLat = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lat"),
|
|
|
- RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon"),
|
|
|
- RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat"),
|
|
|
- };
|
|
|
- foreach (var line in lines)
|
|
|
+ url += "PosX3TwoDfoAsync";
|
|
|
+ }
|
|
|
+ if (tskType == "X2Dfo")//双星时频差定位
|
|
|
{
|
|
|
- if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
- var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
- SendDto dto = new SendDto()
|
|
|
- {
|
|
|
- SigTime = DateTime.Now,
|
|
|
- SxDto = Convert.ToDouble(items[0]),
|
|
|
- XdDto = Convert.ToDouble(items[1]),
|
|
|
- MainYbDto = Convert.ToDouble(items[2]),
|
|
|
- AdjaYbDto = Convert.ToDouble(items[3]),
|
|
|
- CxRes = Convert.ToDouble(items[4]),
|
|
|
- MainX = Convert.ToDouble(items[7]),
|
|
|
- MainY = Convert.ToDouble(items[8]),
|
|
|
- MainZ = Convert.ToDouble(items[9]),
|
|
|
- AdjaX = Convert.ToDouble(items[10]),
|
|
|
- AdjaY = Convert.ToDouble(items[11]),
|
|
|
- AdjaZ = Convert.ToDouble(items[12]),
|
|
|
- StationResInfo = stationRes
|
|
|
- };
|
|
|
- var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
|
|
|
- var response = await client.PostAsync(url, content);
|
|
|
- Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
|
|
|
+ url += "PosX2DtoDfoAsync";
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
@@ -125,6 +196,28 @@ namespace XdCxRhDW.Sender
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 两星一地定位无参
|
|
|
+ /// </summary>
|
|
|
+ private X2D1PosDto X2D1NoPar()
|
|
|
+ {
|
|
|
+ X2D1PosDto X2D1PosDto = new X2D1PosDto();
|
|
|
+ X2D1PosDto.SigTime = DateTime.Now;
|
|
|
+ X2D1PosDto.SxDto = 2198.485309353;
|
|
|
+ X2D1PosDto.XdDto = 245961.726007262;
|
|
|
+ X2D1PosDto.MainX = -38209016;
|
|
|
+ X2D1PosDto.MainY = 17858458;
|
|
|
+ X2D1PosDto.MainZ = 13250;
|
|
|
+ X2D1PosDto.AdjaX = 4750323;
|
|
|
+ X2D1PosDto.AdjaY = 41902879;
|
|
|
+ X2D1PosDto.AdjaZ = 50515;
|
|
|
+ X2D1PosDto.SatTxLon = 118.8833;
|
|
|
+ X2D1PosDto.SatTxLat = 32.0667;
|
|
|
+ X2D1PosDto.CdbTxLon = 109.4082;
|
|
|
+ X2D1PosDto.CdbTxLat = 18.3878;
|
|
|
+ return X2D1PosDto;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private void Log(string msg)
|
|
|
{
|
|
@@ -152,6 +245,7 @@ namespace XdCxRhDW.Sender
|
|
|
catch
|
|
|
{ }
|
|
|
}
|
|
|
+
|
|
|
private void Log(Exception ex)
|
|
|
{
|
|
|
try
|