zoulei 8f33a908f1 11 před 1 rokem
..
GDOP.h 090c83515b 同步GDOP před 1 rokem
GDOP_Analysis.dll 090c83515b 同步GDOP před 1 rokem
GDOP_Draw.dll 8f33a908f1 11 před 1 rokem
Tle2XYZ.dll 090c83515b 同步GDOP před 1 rokem
args.txt 0ce25eee4f com před 1 rokem
readme.md 0ce25eee4f com před 1 rokem

readme.md

GdopCore.exeʹ˵
TEL
zoulei 18011367130

һ.˵

  • GdopCore.exe(x86)ڼGDOPֲԲ
  • ÿ㷨ṩӿ,ֽӿȫȼ۵,һִ˫и,һֱӴʵʱ״̬xyz
  • ͨд,ոIJʹ˫Ű,ڿ̨(쳣ϢҲڴ)

.ӿ˵

1. Ǵ˫иGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶60||-| |2|˫и|string|-|-||-| |3|1˫и|string|-|-||-| |4|2˫и|string|-|-||-| |5|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |6|οվ|double|deg|[-180,180]||-| |7|οվγ|double|deg|[-90,90]||-| |8|ʱ|double|us|-||Ĭ1us| |9|λ|double|m|-||Ĭ10000|

2. ǴxyzGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶61||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|1X|double|-|-||-| |6|1Y|double|-|-||-| |7|1Z|double|-|-||-| |8|2X|double|-|-||-| |9|2Y|double|-|-||-| |10|2Z|double|-|-||-| |11|οվ|double|deg|[-180,180]||-| |12|οվγ|double|deg|[-90,90]||-| |13|ʱ|double|us|-||Ĭ1us| |14|λ|double|m|-||Ĭ10000|

3. ޲˫иGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶62||-| |2|˫и|string|-|-||-| |3|1˫и|string|-|-||-| |4|2˫и|string|-|-||-| |5|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |6|վ|double|deg|[-180,180]||-| |7|վγ|double|deg|[-90,90]||-| |8|ʱ|double|us|-||Ĭ1us| |9|λ|double|m|-||Ĭ10000|

4. ޲xyzGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶63||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|1X|double|-|-||-| |6|1Y|double|-|-||-| |7|1Z|double|-|-||-| |8|2X|double|-|-||-| |9|2Y|double|-|-||-| |10|2Z|double|-|-||-| |11|վ|double|deg|[-180,180]||-| |12|վγ|double|deg|[-90,90]||-| |13|ʱ|double|us|-||Ĭ1us| |14|λ|double|m|-||Ĭ10000|

5. ˫ʱƵ˫иGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶64||-| |2|˫и|string|-|-||-| |3|˫и|string|-|-||-| |4|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |5|վ|double|deg|[-180,180]||-| |6|վγ|double|deg|[-90,90]||-| |7|οվ|double|deg|[-180,180]||-| |8|οվγ|double|deg|[-90,90]||-| |9|ĿƵ|double|MHz|-||-| |10|οƵ|double|MHz|-||-| |11|DZ|double|MHz|-||-| |12|DZ|double|MHz|-||-| |13|ʱ|double|us|-||Ĭ1us| |14|Ƶ|double|Hz|-||Ĭ1Hz| |15|λ|double|m|-||Ĭ10000|

6. ˫ʱƵxyzGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶65||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|VX|double|-|-||-| |6|VY|double|-|-||-| |7|VZ|double|-|-||-| |8|X|double|-|-||-| |9|Y|double|-|-||-| |10|Z|double|-|-||-| |11|VX|double|-|-||-| |12|VY|double|-|-||-| |13|VZ|double|-|-||-| |14|վ|double|deg|[-180,180]||-| |15|վγ|double|deg|[-90,90]||-| |16|οվ|double|deg|[-180,180]||-| |17|οվγ|double|deg|[-90,90]||-| |18|ĿƵ|double|MHz|-||-| |19|οƵ|double|MHz|-||-| |20|DZ|double|MHz|-||-| |21|DZ|double|MHz|-||-| |22|ʱ|double|us|-||Ĭ1us| |23|Ƶ|double|Hz|-||Ĭ1Hz| |24|λ|double|m|-||Ĭ10000|

7. ˫ʱƵ޲˫иGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶66||-| |2|˫и|string|-|-||-| |3|˫и|string|-|-||-| |4|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |5|վ|double|deg|[-180,180]||-| |6|վγ|double|deg|[-90,90]||-| |7|ĿƵ|double|MHz|-||-| |8|DZ|double|MHz|-||-| |9|DZ|double|MHz|-||-| |10|ʱ|double|us|-||Ĭ1us| |11|Ƶ|double|Hz|-||Ĭ1Hz| |12|λ|double|m|-||Ĭ10000|

8. ˫ʱƵ޲xyzGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶67||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|VX|double|-|-||-| |6|VY|double|-|-||-| |7|VZ|double|-|-||-| |8|X|double|-|-||-| |9|Y|double|-|-||-| |10|Z|double|-|-||-| |11|VX|double|-|-||-| |12|VY|double|-|-||-| |13|VZ|double|-|-||-| |14|վ|double|deg|[-180,180]||-| |15|վγ|double|deg|[-90,90]||-| |16|ĿƵ|double|MHz|-||-| |17|DZ|double|MHz|-||-| |18|DZ|double|MHz|-||-| |19|ʱ|double|us|-||Ĭ1us| |20|Ƶ|double|Hz|-||Ĭ1Hz| |21|λ|double|m|-||Ĭ10000|

9. һش˫иGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶68||-| |2|˫и|string|-|-||-| |3|˫и|string|-|-||-| |4|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |5|վ|double|deg|[-180,180]||-| |6|վγ|double|deg|[-90,90]||-| |7|οվ|double|deg|[-180,180]||-| |8|οվγ|double|deg|[-90,90]||-| |9|ʱ|double|us|-||Ĭ1us| |10|λ|double|m|-||Ĭ10000|

10. һشxyzGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶69||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|X|double|-|-||-| |6|Y|double|-|-||-| |7|Z|double|-|-||-| |8|վ|double|deg|[-180,180]||-| |9|վγ|double|deg|[-90,90]||-| |10|οվ|double|deg|[-180,180]||-| |11|οվγ|double|deg|[-90,90]||-| |12|ʱ|double|us|-||Ĭ1us| |13|λ|double|m|-||Ĭ10000|

11. һش˫иGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶70||-| |2|˫и|string|-|-||-| |3|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |4|վ1|double|deg|[-180,180]||-| |5|վ1γ|double|deg|[-90,90]||-| |6|վ2|double|deg|[-180,180]||-| |7|վ2γ|double|deg|[-90,90]||-| |8|οվ|double|deg|[-180,180]||-| |9|οվγ|double|deg|[-90,90]||-| |10|ʱ|double|us|-||Ĭ1us| |11|λ|double|m|-||Ĭ10000|

12. һشxyzGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶71||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|վ1|double|deg|[-180,180]||-| |6|վ1γ|double|deg|[-90,90]||-| |7|վ2|double|deg|[-180,180]||-| |8|վ2γ|double|deg|[-90,90]||-| |9|οվ|double|deg|[-180,180]||-| |10|οվγ|double|deg|[-90,90]||-| |11|ʱ|double|us|-||Ĭ1us| |12|λ|double|m|-||Ĭ10000|

13. ߵ͹һʹxyzGDOP

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶69||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|X|double|-|-||-| |6|Y|double|-|-||-| |7|Z|double|-|-||-| |8|͹X|double|-|-||-| |9|͹Y|double|-|-||-| |10|͹Z|double|-|-||-| |11|οվ|double|deg|[-180,180]||-| |12|οվγ|double|deg|[-90,90]||-| |13|ʱ|double|us|-||Ĭ1us| |14|λ|double|m|-||Ĭ10000|

14. Ǵ˫иԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶50||-| |2|˫и|string|-|-||-| |3|1˫и|string|-|-||-| |4|2˫и|string|-|-||-| |5|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |6|λ㾭|double|deg|[-180,180]||-| |7|λγ|double|deg|[-90,90]||-| |8|οվ|double|deg|[-180,180]||-| |9|οվγ|double|deg|[-90,90]||-| |10|ʱ|double|us|-||Ĭ1us| |11|λ|double|m|-||Ĭ10000| |12|ʰٷֱ|double|-|[0,100]||Ĭ50,50%|

15. ǴxyzԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶51||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|1X|double|-|-||-| |6|1Y|double|-|-||-| |7|1Z|double|-|-||-| |8|2X|double|-|-||-| |9|2Y|double|-|-||-| |10|2Z|double|-|-||-| |11|λ㾭|double|deg|[-180,180]||-| |12|λγ|double|deg|[-90,90]||-| |13|οվ|double|deg|[-180,180]||-| |14|οվγ|double|deg|[-90,90]||-| |15|ʱ|double|us|-||Ĭ1us| |16|λ|double|m|-||Ĭ10000| |17|ʰٷֱ|double|-|[0,100]||Ĭ50,50%|

16. ޲˫иԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶52||-| |2|˫и|string|-|-||-| |3|1˫и|string|-|-||-| |4|2˫и|string|-|-||-| |5|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |6|λ㾭|double|deg|[-180,180]||-| |7|λγ|double|deg|[-90,90]||-| |8|վ|double|deg|[-180,180]||-| |9|վγ|double|deg|[-90,90]||-| |10|ʱ|double|us|-||Ĭ1us| |11|λ|double|m|-||Ĭ10000| |12|ʰٷֱ|double|-|[0,100]||Ĭ50,50%|

17. ޲xyzԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶53||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|1X|double|-|-||-| |6|1Y|double|-|-||-| |7|1Z|double|-|-||-| |8|2X|double|-|-||-| |9|2Y|double|-|-||-| |10|2Z|double|-|-||-| |11|λ㾭|double|deg|[-180,180]||-| |12|λγ|double|deg|[-90,90]||-| |13|վ|double|deg|[-180,180]||-| |14|վγ|double|deg|[-90,90]||-| |15|ʱ|double|us|-||Ĭ1us| |16|λ|double|m|-||Ĭ10000| |17|ʰٷֱ|double|-|[0,100]||Ĭ50,50%|

18. ˫ʱƵ˫иԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶54||-| |2|˫и|string|-|-||-| |3|˫и|string|-|-||-| |4|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |5|ĿƵ|double|MHz|-||-| |6|οƵ|double|MHz|-||-| |7|DZ|double|MHz|-||-| |8|DZ|double|MHz|-||-| |9|λ㾭|double|deg|[-180,180]||-| |10|λγ|double|deg|[-90,90]||-| |11|οվ|double|deg|[-180,180]||-| |12|οվγ|double|deg|[-90,90]||-|

19. ˫ʱƵxyzԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶55||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|VX|double|-|-||-| |6|VY|double|-|-||-| |7|VZ|double|-|-||-| |8|X|double|-|-||-| |9|Y|double|-|-||-| |10|Z|double|-|-||-| |11|VX|double|-|-||-| |12|VY|double|-|-||-| |13|VZ|double|-|-||-| |14|ĿƵ|double|MHz|-||-| |15|οƵ|double|MHz|-||-| |16|DZ|double|MHz|-||-| |17|DZ|double|MHz|-||-| |18|λ㾭|double|deg|[-180,180]||-| |19|λγ|double|deg|[-90,90]||-| |20|οվ|double|deg|[-180,180]||-| |21|οվγ|double|deg|[-90,90]||-|

20. ˫ʱƵ޲˫иԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶56||-| |2|˫и|string|-|-||-| |3|˫и|string|-|-||-| |4|ɼʱ|string|-|-||yyyy-MM-dd HH:mm:ss| |5|ĿƵ|double|MHz|-||-| |6|DZ|double|MHz|-||-| |7|DZ|double|MHz|-||-| |8|λ㾭|double|deg|[-180,180]||-| |9|λγ|double|deg|[-90,90]||-| |10|վ|double|deg|[-180,180]||-| |11|վγ|double|deg|[-90,90]||-|

21. ˫ʱƵ޲xyzԲ

||||λ||˫|˵| |---|---|---|---|---|--|---| |1|㷨|int|-|̶57||-| |2|X|double|-|-||-| |3|Y|double|-|-||-| |4|Z|double|-|-||-| |5|VX|double|-|-||-| |6|VY|double|-|-||-| |7|VZ|double|-|-||-| |8|X|double|-|-||-| |9|Y|double|-|-||-| |10|Z|double|-|-||-| |11|VX|double|-|-||-| |12|VY|double|-|-||-| |13|VZ|double|-|-||-| |14|ĿƵ|double|MHz|-||-| |15|DZ|double|MHz|-||-| |16|DZ|double|MHz|-||-| |17|λ㾭|double|deg|[-180,180]||-| |18|λγ|double|deg|[-90,90]||-| |19|վ|double|deg|[-180,180]||-| |20|վγ|double|deg|[-90,90]||-|

.лҪõĶ

/// <summary>
/// Ӧͼһ
/// </summary>
public class MapDot
{
    public MapDot() { }

    public MapDot(double lon,double lat,double alt)
    {
        this.Lon = lon;
        this.Lat = lat;
        this.Alt = alt;
    }

    public double Lon { get; set; }

    public double Lat { get; set; }

    public double Alt { get; set; }
}

/// <summary>
/// Ӧͼһ(ɶ)
/// </summary>
public class MapLine
{
    public List<MapDot> Line { get; set; } = new List<MapDot>();
}

/// <summary>
/// һӦͼ϶
/// </summary>
public class ErrDistanceMapLines
{
    public double ErrDistance { get; set; }
    public string ErrDistanceKm => $"{ErrDistance / 1e3}km";
    public List<MapLine> MapLines { get; set; } = new List<MapLine>();
}

.C#Demo

GDOPֲ

Process p = new Process();
var binPath = AppDomain.CurrentDomain.BaseDirectory;
p.StartInfo.WorkingDirectory = $"{binPath}ProcessCore\\GDOP";
p.StartInfo.FileName = $"{binPath}ProcessCore\\GDOP\\GdopCore.exe";
p.StartInfo.Arguments = $"";//ӿ˵,пոҪʹ˫Ű
p.StartInfo.CreateNoWindow =true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
StringBuilder sb = new StringBuilder();
p.OutputDataReceived += (sender, e) => sb.Append(e.Data);//ʹ첽ȡ
p.Start();
p.BeginOutputReadLine();
p.WaitForExit();//WaitForExit˳ʱʱĻ˳ܱ֤첽Ѿȡ,.NETܵBUG
var txt=sb.ToString();//1 Ϣ or 0 jsonStr
if (string.IsNullOrWhiteSpace(txt))
{
    throw new Exception("GDOPδ֪!");
}
if (txt.StartsWith("1 "))
{
    throw new Exception(txt.Remove(0, 2));
}
var jsonStr = txt.Remove(0, 2);
var res = JsonConvert.DeserializeObject<List<ErrDistanceMapLines>>(jsonStr);
//TODO resƵͼ

Բ

Process p = new Process();
var binPath = AppDomain.CurrentDomain.BaseDirectory;
p.StartInfo.WorkingDirectory = $"{binPath}ProcessCore\\GDOP";
p.StartInfo.FileName = $"{binPath}ProcessCore\\GDOP\\GdopCore.exe";
p.StartInfo.Arguments = $"";//ӿ˵,пոҪʹ˫Ű
p.StartInfo.CreateNoWindow =true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
StringBuilder sb = new StringBuilder();
p.OutputDataReceived += (sender, e) => sb.Append(e.Data);//ʹ첽ȡ
p.Start();
p.BeginOutputReadLine();
p.WaitForExit();//WaitForExit˳ʱʱĻ˳ܱ֤첽Ѿȡ,.NETܵBUG
var txt=sb.ToString();//1 Ϣ or 0 jsonStr
if (string.IsNullOrWhiteSpace(txt))
{
    throw new Exception("Բδ֪!");
}
if (txt.StartsWith("1 "))
{
    throw new Exception(txt.Remove(0, 2));
}
var arr = txt.Split(' ');
var errR1=Convert.ToDouble(arr[1]);//Բ
var errR2=Convert.ToDouble(arr[1]);//Բ
var jsonStr= arr[3];
var res = JsonConvert.DeserializeObject<List<ErrDistanceMapLines>>(jsonStr);
//TODO resƵͼ