#
GdopCore.exe使用说明
|作者|TEL|
|---|---|
|zoulei|18011367130|
### 一.程序说明
* GdopCore.exe(x86)程序用于计算GDOP误差分布和误差椭圆
* 每种算法提供了两个接口,这两种接口是完全等价的,一种传入双行根,一种直接传入卫星实时状态x、y、z等
* 程序通过命令行传入参数,带空格的参数必须使用双引号包裹,结果返回在控制台输出流中(异常信息也在此流中)
### 二.接口说明
#### 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. 三星带参xyz星历GDOP
|参数序号|参数|参数类型|单位|参数限制|必须添加双引号|说明|
|---|---|---|---|---|--|---|
|1|算法类型|int|-|固定61|否|-|
|2|主星星历X|double|-|-|否|-|
|3|主星星历Y|double|-|-|否|-|
|4|主星星历Z|double|-|-|否|-|
|5|邻1星星历X|double|-|-|否|-|
|6|邻1星星历Y|double|-|-|否|-|
|7|邻1星星历Z|double|-|-|否|-|
|8|邻2星星历X|double|-|-|否|-|
|9|邻2星星历Y|double|-|-|否|-|
|10|邻2星星历Z|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. 三星无参xyz星历GDOP
|参数序号|参数|参数类型|单位|参数限制|必须添加双引号|说明|
|---|---|---|---|---|--|---|
|1|算法类型|int|-|固定63|否|-|
|2|主星星历X|double|-|-|否|-|
|3|主星星历Y|double|-|-|否|-|
|4|主星星历Z|double|-|-|否|-|
|5|邻1星星历X|double|-|-|否|-|
|6|邻1星星历Y|double|-|-|否|-|
|7|邻1星星历Z|double|-|-|否|-|
|8|邻2星星历X|double|-|-|否|-|
|9|邻2星星历Y|double|-|-|否|-|
|10|邻2星星历Z|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|主星本振|double|MHz|-|否|-|
|12|邻星本振|double|MHz|-|否|-|
|13|时差误差|double|us|-|否|默认1us|
|14|频差误差|double|Hz|-|否|默认1Hz|
|15|星历位置误差|double|m|-|否|默认10000米|
#### 6. 双星时频差带参xyz星历GDOP
|参数序号|参数|参数类型|单位|参数限制|必须添加双引号|说明|
|---|---|---|---|---|--|---|
|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|主星本振|double|MHz|-|否|-|
|21|邻星本振|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|主星本振|double|MHz|-|否|-|
|9|邻星本振|double|MHz|-|否|-|
|10|时差误差|double|us|-|否|默认1us|
|11|频差误差|double|Hz|-|否|默认1Hz|
|12|星历位置误差|double|m|-|否|默认10000米|
#### 8. 双星时频差无参xyz星历GDOP
|参数序号|参数|参数类型|单位|参数限制|必须添加双引号|说明|
|---|---|---|---|---|--|---|
|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|主星本振|double|MHz|-|否|-|
|18|邻星本振|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. 两星一地带参xyz星历GDOP
|参数序号|参数|参数类型|单位|参数限制|必须添加双引号|说明|
|---|---|---|---|---|--|---|
|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. 一星两地带参xyz星历GDOP
|参数序号|参数|参数类型|单位|参数限制|必须添加双引号|说明|
|---|---|---|---|---|--|---|
|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. 高低轨两高一低带参xyz星历GDOP
|参数序号|参数|参数类型|单位|参数限制|必须添加双引号|说明|
|---|---|---|---|---|--|---|
|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|邻1星星历X|double|-|-|否|-|
|6|邻1星星历Y|double|-|-|否|-|
|7|邻1星星历Z|double|-|-|否|-|
|8|邻2星星历X|double|-|-|否|-|
|9|邻2星星历Y|double|-|-|否|-|
|10|邻2星星历Z|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|邻1星星历X|double|-|-|否|-|
|6|邻1星星历Y|double|-|-|否|-|
|7|邻1星星历Z|double|-|-|否|-|
|8|邻2星星历X|double|-|-|否|-|
|9|邻2星星历Y|double|-|-|否|-|
|10|邻2星星历Z|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|主星本振|double|MHz|-|否|-|
|8|邻星本振|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|主星本振|double|MHz|-|否|-|
|17|邻星本振|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|主星本振|double|MHz|-|否|-|
|7|邻星本振|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|主星本振|double|MHz|-|否|-|
|16|邻星本振|double|MHz|-|否|-|
|17|定位点经度|double|deg|[-180,180]|否|-|
|18|定位点纬度|double|deg|[-90,90]|否|-|
|19|接收站经度|double|deg|[-180,180]|否|-|
|20|接收站纬度|double|deg|[-90,90]|否|-|
### 三.反序列化需要用到的对象如下
///
/// 对应地图上一个点
///
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; }
}
///
/// 对应地图上一条曲线(由多个点组成)
///
public class MapLine
{
public List Line { get; set; } = new List();
}
///
/// 一个误差距离对应地图上多条曲线
///
public class ErrDistanceMapLines
{
public double ErrDistance { get; set; }
public string ErrDistanceKm => $"{ErrDistance / 1e3}km";
public List MapLines { get; set; } = new List();
}
### 四.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>(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>(jsonStr);
//TODO 将res对象绘制到地图