我正在使用OrbitTools库使用类似于http://karhukoti.com的 Bing Maps Silverlight 控件开发卫星跟踪系统。
我对这个领域并不了解,也缺乏很多与卫星跟踪相关的信息,但我已经开始自学,因为我的主管选择了这个特定的项目作为毕业项目。
然而,我遇到了很多困难,其中一个主要的困难是如何将两线元素(TLE)信息转换为经度纬度和高度,以在地图上显示卫星和卫星路径。
我尝试了以下 C# 代码:
protected void DisplaySatellitePath(List<Eci> Pos)
{
MapLayer myRouteLayer = new MapLayer();
myMap.Children.Add(myRouteLayer);
foreach (Eci e in Pos)
{
CoordGeo coordinates = e.toGeo();
Ellipse point = new Ellipse();
point.Width = 10;
point.Height = 10;
point.Fill = new SolidColorBrush(Colors.Orange);
point.Opacity = 0.65;
//Location location = new Location(e.Position.X, e.Position.X);
Location location = new Location(coordinates.Latitude, coordinates.Longitude);
MapLayer.SetPosition(point, location);
MapLayer.SetPositionOrigin(point, PositionOrigin.Center);
myRouteLayer.Children.Add(point);
}
}
也试过
protected void DisplaySatellitePathSecondGo(List<Eci> Pos)
{
MapLayer myRouteLayer = new MapLayer();
myMap.Children.Add(myRouteLayer);
foreach (Eci e in Pos)
{
Ellipse point = new Ellipse();
point.Width = 10;
point.Height = 10;
point.Fill = new SolidColorBrush(Colors.Yellow);
point.Opacity = 0.65;
Site siteEquator = new Site(e.Position.X, e.Position.Y, e.Position.Z);
Location location = new Location(siteEquator.Latitude, siteEquator.Longitude);
MapLayer.SetPosition(point, location);
MapLayer.SetPositionOrigin(point, PositionOrigin.Center);
myRouteLayer.Children.Add(point);
}
}
你能告诉我我在这里做错了什么吗?我在网上搜索了有关OrbitTools的示例或文档,但没有运气。
我真的希望使用这个库的人可以帮助我或建议一个更好的 .NET 库。
非常感谢。