簡體   English   中英

使用SharpKML在Google Earth中創建軌道

[英]Create a track in Google Earth using sharpKML

我正在嘗試在Google Earth中創建軌道(使用KML)

我正在使用SharpKML for C#

我可以成功創建一條路徑。

如何創建曲目? 我了解我需要添加一個“點”和一個“何時”,並且通過執行以下操作來添加-

            SharpKml.Dom.GX.Track myTrack = new SharpKml.Dom.GX.Track();
            GpsSensorDataPoint data = (GpsSensorDataPoint)myGPSDataList[i];
            double lat = data.Latitude;
            double lon = data.Longitude;
            double height = data.Height;
            SharpKml.Dom.Point myPoint = new SharpKml.Dom.Point();
            myPoint.Coordinate = new Vector(lat, lon, height);

myTrack.AddCoordinate(myPoint.Coordinate); myTrack.AddWhen(data.CalendarTime.ToLongTimeString());

但是,創建的KML沒有正確的語法,我在KML中得到以下錯誤信息:

  <when xmlns="http://www.opengis.net/kml/2.2">12:00:17 AM</when>
  <gx:coord xmlns:gx="http://www.google.com/kml/ext/2.2">-81.3184973901226 29.0765012024324 50.5</gx:coord>

在SharpKML軌道上添加時間和進行協調的正確方法是什么?

您應該將軌道添加到地標中,嘗試執行以下操作:

var root = new Document();
var track = new SharpKml.Dom.GX.Track();

foreach (var gc in myCoords)
{
    var vector = new Vector(gc.Latitude, gc.Longitude);
    track.AddCoordinate(vector);
    track.AddWhen(gc.gpsDateTime);
}

Placemark trackPm = new Placemark();
trackPm.Geometry = track;
root.AddFeature(trackPm);

KmlFile kml = KmlFile.Create(root, false);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM