我使用OrbitTools库来开发使用类似于http://karhukoti.com Bing地图Silverlight控件卫星跟踪系统。如何将TLE信息转换为经度纬度和海拔高度以显示在Bing地图上?
我不是在这个领域的知识和缺乏很多相关的卫星跟踪信息,但已经开始自学为这个特殊的项目是由我的导师作为毕业设计选择。
不过,我面临许多困难,主要的一个是如何将两个线元素(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库。
非常感谢。
您遇到的确切问题是什么?这是一个坐标问题(显示的东西,但在错误的地方)或显示问题(没有显示)? – 2010-07-03 19:13:23