|
@@ -57,6 +57,8 @@ namespace XdCxRhDW.Sender
|
|
|
url += "PosX1D1Async";
|
|
|
foreach (var line in lines)
|
|
|
{
|
|
|
+ if (cts1.IsCancellationRequested)
|
|
|
+ break;
|
|
|
if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
X1D1PosDto dto = new X1D1PosDto()
|
|
@@ -89,6 +91,8 @@ namespace XdCxRhDW.Sender
|
|
|
url += "PosX2D1Async";
|
|
|
foreach (var line in lines)
|
|
|
{
|
|
|
+ if (cts1.IsCancellationRequested)
|
|
|
+ break;
|
|
|
if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
X2D1PosDto X2D1PosDto = new X2D1PosDto();
|
|
@@ -129,6 +133,8 @@ namespace XdCxRhDW.Sender
|
|
|
url += "PosRHAsync";
|
|
|
foreach (var line in lines)
|
|
|
{
|
|
|
+ if (cts1.IsCancellationRequested)
|
|
|
+ break;
|
|
|
if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
RHPosDto RHPosDto = new RHPosDto();
|
|
@@ -190,6 +196,147 @@ namespace XdCxRhDW.Sender
|
|
|
Log($"已向[{txtAddr1.Text}]发送双星时频差定位仿真结果");
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (tskType == "X1D1CXNoXL")//一星一地测向定位无星厉
|
|
|
+ {
|
|
|
+ var lines = File.ReadAllLines("Simulation_Data2023.dat");
|
|
|
+ int idx = 1;
|
|
|
+ url += "PosX1D1NoXlAsync";
|
|
|
+ foreach (var line in lines)
|
|
|
+ {
|
|
|
+ if (cts1.IsCancellationRequested)
|
|
|
+ break;
|
|
|
+ if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
+ var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
+ X1D1NoXlPosDto dto = new X1D1NoXlPosDto()
|
|
|
+ {
|
|
|
+ SigTime = DateTime.Now,
|
|
|
+ MainSatID= 19548,
|
|
|
+ XdDto = Convert.ToDouble(items[1]),
|
|
|
+ MainYbDto = Convert.ToDouble(items[2]),
|
|
|
+ CxRes = Convert.ToDouble(items[4]),
|
|
|
+ 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 == "X2D1NoXL")//两星一地定位无星厉
|
|
|
+ {
|
|
|
+ var lines = File.ReadAllLines("Simulation_Data2023.dat");
|
|
|
+ int idx = 1;
|
|
|
+ url += "PosX2D1NoXlAsync";
|
|
|
+ foreach (var line in lines)
|
|
|
+ {
|
|
|
+ if (cts1.IsCancellationRequested)
|
|
|
+ break;
|
|
|
+ if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
+ var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
+ X2D1NoXlPosDto X2D1NoXlPosDto = new X2D1NoXlPosDto();
|
|
|
+ X2D1NoXlPosDto.SigTime = DateTime.Now;
|
|
|
+ X2D1NoXlPosDto.MainSatID = 19548;
|
|
|
+ X2D1NoXlPosDto.AdjaSatID = 20253;
|
|
|
+ X2D1NoXlPosDto.SxDto = Convert.ToDouble(items[0]);
|
|
|
+ X2D1NoXlPosDto.XdDto = Convert.ToDouble(items[1]);
|
|
|
+ X2D1NoXlPosDto.MainYbDto = Convert.ToDouble(items[2]);
|
|
|
+ X2D1NoXlPosDto.AdjaYbDto = Convert.ToDouble(items[3]);
|
|
|
+ X2D1NoXlPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon");
|
|
|
+ X2D1NoXlPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat");
|
|
|
+ X2D1NoXlPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon");
|
|
|
+ X2D1NoXlPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat");
|
|
|
+ X2D1NoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon");
|
|
|
+ X2D1NoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat");
|
|
|
+ var content = new StringContent(JsonConvert.SerializeObject(X2D1NoXlPosDto), System.Text.Encoding.UTF8, "application/json");
|
|
|
+ var response = await client.PostAsync(url, content);
|
|
|
+ Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
|
|
|
+ Thread.Sleep(1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (tskType == "X2D1NoParNoXL")//两星一地无参定位无星厉
|
|
|
+ {
|
|
|
+ url += "PosX2D1NoXlNoParAsync";
|
|
|
+ var res = X2D1NoParNoXL();
|
|
|
+ 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 == "RHNoXL")//融合定位无星厉
|
|
|
+ {
|
|
|
+ var lines = File.ReadAllLines("Simulation_Data2023.dat");
|
|
|
+ int idx = 1;
|
|
|
+ url += "PosRhNoXlAsync";
|
|
|
+ foreach (var line in lines)
|
|
|
+ {
|
|
|
+ if (cts1.IsCancellationRequested)
|
|
|
+ break;
|
|
|
+ if (string.IsNullOrWhiteSpace(line)) continue;
|
|
|
+ var items = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
|
|
+ RHNoXlPosDto RHNoXlPosDto = new RHNoXlPosDto();
|
|
|
+ RHNoXlPosDto.SigTime = DateTime.Now;
|
|
|
+ RHNoXlPosDto.MainSatID = 19548;
|
|
|
+ RHNoXlPosDto.AdjaSatID = 20253;
|
|
|
+ RHNoXlPosDto.SxDto = Convert.ToDouble(items[0]);
|
|
|
+ RHNoXlPosDto.XdDto = Convert.ToDouble(items[1]);
|
|
|
+ RHNoXlPosDto.MainYbDto = Convert.ToDouble(items[2]);
|
|
|
+ RHNoXlPosDto.AdjaYbDto = Convert.ToDouble(items[3]);
|
|
|
+ RHNoXlPosDto.CxRes = Convert.ToDouble(items[4]);
|
|
|
+ RHNoXlPosDto.SatTxLon = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lon");
|
|
|
+ RHNoXlPosDto.SatTxLat = IniFiles.ReadValue<double>("Station_Data2023", "卫星接收天线", "Lat");
|
|
|
+ RHNoXlPosDto.CdbTxLon = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lon");
|
|
|
+ RHNoXlPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023", "超短波接收天线", "Lat");
|
|
|
+ RHNoXlPosDto.CxLon = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lon");
|
|
|
+ RHNoXlPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023", "侧向站", "Lat");
|
|
|
+ RHNoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lon");
|
|
|
+ RHNoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023", "参考站", "Lat");
|
|
|
+ var content = new StringContent(JsonConvert.SerializeObject(RHNoXlPosDto), System.Text.Encoding.UTF8, "application/json");
|
|
|
+ var response = await client.PostAsync(url, content);
|
|
|
+ Log($"已向[{txtAddr1.Text}]发送第{idx++}条仿真结果");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (tskType == "X3TwoDtoNoXL")//三星双时差定位无星厉
|
|
|
+ {
|
|
|
+ url += "PosX3TwoDtoNoXlAsync";
|
|
|
+ var res = X3TwoDtoNoXL();
|
|
|
+ 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 == "X3TwoDtoNoParNoXL")//三星双时差无参定位无星厉
|
|
|
+ {
|
|
|
+ url += "PosX3TwoDtoNoXlNoParAsync";
|
|
|
+ var res = X3TwoDtoNoParNoXL();
|
|
|
+ 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 == "X3TwoDfoNoXL")//三星双频差定位无星厉
|
|
|
+ {
|
|
|
+ url += "PosX3TwoDfoNoXlAsync";
|
|
|
+ var res = X3TwoDfoNoXL();
|
|
|
+ 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 == "X2DfoNoXL")//双星时频差定位无星厉
|
|
|
+ {
|
|
|
+ url += "PosX2DtoDfoNoXlAsync";
|
|
|
+ var res = X2DfoNoXL();
|
|
|
+ var content = new StringContent(JsonConvert.SerializeObject(res), System.Text.Encoding.UTF8, "application/json");
|
|
|
+ var response = await client.PostAsync(url, content);
|
|
|
+ Log($"已向[{txtAddr1.Text}]发送双星时频差定位仿真结果");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
@@ -364,6 +511,118 @@ namespace XdCxRhDW.Sender
|
|
|
return X2DtoDfoPosDto;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 两星一地定位无参无星厉
|
|
|
+ /// </summary>
|
|
|
+ private X2D1NoXlNoParlPosDto X2D1NoParNoXL()
|
|
|
+ {
|
|
|
+ X2D1NoXlNoParlPosDto X2D1NoXlNoParlPosDto = new X2D1NoXlNoParlPosDto();
|
|
|
+ X2D1NoXlNoParlPosDto.SigTime = DateTime.Now;
|
|
|
+ X2D1NoXlNoParlPosDto.MainSatID = 19548;
|
|
|
+ X2D1NoXlNoParlPosDto.AdjaSatID = 20253;
|
|
|
+ X2D1NoXlNoParlPosDto.SxDto = -0.002198485309353 * 1e6;
|
|
|
+ X2D1NoXlNoParlPosDto.XdDto = 0.245961726007262 * 1e6;
|
|
|
+ X2D1NoXlNoParlPosDto.SatTxLon = 118.8833;
|
|
|
+ X2D1NoXlNoParlPosDto.SatTxLat = 32.0667;
|
|
|
+ X2D1NoXlNoParlPosDto.CdbTxLon = 109.4082;
|
|
|
+ X2D1NoXlNoParlPosDto.CdbTxLat = 18.3878;
|
|
|
+ return X2D1NoXlNoParlPosDto;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 三星双时差定位无星厉
|
|
|
+ /// </summary>
|
|
|
+ private X3TwoDtoNoXlPosDto X3TwoDtoNoXL()
|
|
|
+ {
|
|
|
+ X3TwoDtoNoXlPosDto X3TwoDtoNoXlPosDto = new X3TwoDtoNoXlPosDto();
|
|
|
+ X3TwoDtoNoXlPosDto.SigTime = DateTime.Now;
|
|
|
+ X3TwoDtoNoXlPosDto.MainSatID = 19548;
|
|
|
+ X3TwoDtoNoXlPosDto.Adja1SatID = 20253;
|
|
|
+ X3TwoDtoNoXlPosDto.Adja2SatID = 20776;
|
|
|
+ X3TwoDtoNoXlPosDto.Dto1 = -0.0037683828 * 1e6;
|
|
|
+ X3TwoDtoNoXlPosDto.Dto2 = 0.00411476 * 1e6;
|
|
|
+ X3TwoDtoNoXlPosDto.YbMainDto = 0.253339246 * 1e6;
|
|
|
+ X3TwoDtoNoXlPosDto.YbAdja1Dto = 0.254082015 * 1e6;
|
|
|
+ X3TwoDtoNoXlPosDto.YbAdja2Dto = 0.247747625 * 1e6;
|
|
|
+ X3TwoDtoNoXlPosDto.SatTxLon = 118.8833;
|
|
|
+ X3TwoDtoNoXlPosDto.SatTxLat = 32.0667;
|
|
|
+ X3TwoDtoNoXlPosDto.RefLon = 121.538;
|
|
|
+ X3TwoDtoNoXlPosDto.RefLat = 30.8385;
|
|
|
+ return X3TwoDtoNoXlPosDto;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 三星双时差无参定位无星厉
|
|
|
+ /// </summary>
|
|
|
+ private X3TwoDtoNoXlNoParPosDto X3TwoDtoNoParNoXL()
|
|
|
+ {
|
|
|
+ X3TwoDtoNoXlNoParPosDto X3TwoDtoNoParPosDto = new X3TwoDtoNoXlNoParPosDto();
|
|
|
+ X3TwoDtoNoParPosDto.SigTime = DateTime.Now;
|
|
|
+ X3TwoDtoNoParPosDto.MainSatID = 19548;
|
|
|
+ X3TwoDtoNoParPosDto.Adja1SatID = 20253;
|
|
|
+ X3TwoDtoNoParPosDto.Adja2SatID = 20776;
|
|
|
+ X3TwoDtoNoParPosDto.Dto1 = -0.008361002956792 * 1e6;
|
|
|
+ X3TwoDtoNoParPosDto.Dto2 = 0.004191941221694 * 1e6;
|
|
|
+ X3TwoDtoNoParPosDto.SatTxLon = 121.3555;
|
|
|
+ X3TwoDtoNoParPosDto.SatTxLat = 31.3667;
|
|
|
+ return X3TwoDtoNoParPosDto;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 三星双频差定位无星厉
|
|
|
+ /// </summary>
|
|
|
+ private X3TwoDfoNoXlPosDto X3TwoDfoNoXL()
|
|
|
+ {
|
|
|
+ X3TwoDfoNoXlPosDto X3TwoDfoNoXlPosDto = new X3TwoDfoNoXlPosDto();
|
|
|
+ X3TwoDfoNoXlPosDto.SigTime = DateTime.Now;
|
|
|
+ X3TwoDfoNoXlPosDto.MainSatID = 19548;
|
|
|
+ X3TwoDfoNoXlPosDto.Adja1SatID = 20253;
|
|
|
+ X3TwoDfoNoXlPosDto.Adja2SatID = 20776;
|
|
|
+ X3TwoDfoNoXlPosDto.Dfo1 = -17.601977254734404;
|
|
|
+ X3TwoDfoNoXlPosDto.Dfo2 = -36.885840020369514;
|
|
|
+ X3TwoDfoNoXlPosDto.YbMainDfo = 0;
|
|
|
+ X3TwoDfoNoXlPosDto.YbAdja1Dfo = 17.453698229247941;
|
|
|
+ X3TwoDfoNoXlPosDto.YbAdja2Dfo = 37.022577554138941;
|
|
|
+ X3TwoDfoNoXlPosDto.TarFreqUp = 3808 * 1e6 + 2225 * 1e6;
|
|
|
+ X3TwoDfoNoXlPosDto.TarFreqDown = 3808 * 1e6;
|
|
|
+ X3TwoDfoNoXlPosDto.RefFreqUp = 3796 * 1e6 + 2225 * 1e6;
|
|
|
+ X3TwoDfoNoXlPosDto.RefFreqDown = 3796 * 1e6;
|
|
|
+ X3TwoDfoNoXlPosDto.SatTxLon = 116.254567;
|
|
|
+ X3TwoDfoNoXlPosDto.SatTxLat = 39.65955;
|
|
|
+ X3TwoDfoNoXlPosDto.RefLon = 106.698;
|
|
|
+ X3TwoDfoNoXlPosDto.RefLat = 26.567;
|
|
|
+ return X3TwoDfoNoXlPosDto;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 双星时频差定位无星厉
|
|
|
+ /// </summary>
|
|
|
+ private X2DtoDfoNoXlPosDto X2DfoNoXL()
|
|
|
+ {
|
|
|
+ X2DtoDfoNoXlPosDto X2DtoDfoNoXlPosDto = new X2DtoDfoNoXlPosDto();
|
|
|
+ X2DtoDfoNoXlPosDto.SigTime = DateTime.Now;
|
|
|
+ X2DtoDfoNoXlPosDto.MainSatID = 19548;
|
|
|
+ X2DtoDfoNoXlPosDto.AdjaSatID = 20253;
|
|
|
+ X2DtoDfoNoXlPosDto.Dto = -3.587980198938979e-06 * 1e6;
|
|
|
+ X2DtoDfoNoXlPosDto.Dfo = -17.601977254734404;
|
|
|
+ X2DtoDfoNoXlPosDto.YbMainDto = 0;
|
|
|
+ X2DtoDfoNoXlPosDto.YbAdjaDto = 6.352805492137770e-05 * 1e6;
|
|
|
+ X2DtoDfoNoXlPosDto.YbMainDfo = 0;
|
|
|
+ X2DtoDfoNoXlPosDto.YbAdjaDfo = 17.453698229247941;
|
|
|
+ X2DtoDfoNoXlPosDto.TarFreqUp = 3808 * 1e6 + 2225 * 1e6;
|
|
|
+ X2DtoDfoNoXlPosDto.TarFreqDown = 3808 * 1e6;
|
|
|
+ X2DtoDfoNoXlPosDto.RefFreqUp = 3796 * 1e6 + 2225 * 1e6;
|
|
|
+ X2DtoDfoNoXlPosDto.RefFreqDown = 3796 * 1e6;
|
|
|
+ X2DtoDfoNoXlPosDto.SatTxLon = 116.254567;
|
|
|
+ X2DtoDfoNoXlPosDto.SatTxLat = 39.65955;
|
|
|
+ X2DtoDfoNoXlPosDto.RefLon = 106.698;
|
|
|
+ X2DtoDfoNoXlPosDto.RefLat = 26.567;
|
|
|
+ return X2DtoDfoNoXlPosDto;
|
|
|
+ }
|
|
|
+
|
|
|
private void Log(string msg)
|
|
|
{
|
|
|
try
|