private static void processKML(SharpKml.Dom.Element Element) { try { // log.Info(Element.ToString() + " " + Element.Parent); } catch { } SharpKml.Dom.Document doc = Element as SharpKml.Dom.Document; SharpKml.Dom.Placemark pm = Element as SharpKml.Dom.Placemark; SharpKml.Dom.Folder folder = Element as SharpKml.Dom.Folder; SharpKml.Dom.Polygon polygon = Element as SharpKml.Dom.Polygon; SharpKml.Dom.LineString ls = Element as SharpKml.Dom.LineString; if (doc != null) { foreach (var feat in doc.Features) { //Console.WriteLine("feat " + feat.GetType()); //processKML((Element)feat); } } else if (folder != null) { foreach (SharpKml.Dom.Feature feat in folder.Features) { //Console.WriteLine("feat "+feat.GetType()); //processKML(feat); } } else if (pm != null) { } else if (polygon != null) { GMapPolygon kmlpolygon = new GMapPolygon(new List<PointLatLng>(), "kmlpolygon"); kmlpolygon.Stroke.Color = Color.Purple; kmlpolygon.Fill = new SolidBrush(Color.FromArgb(30, Color.Blue)); foreach (var loc in polygon.OuterBoundary.LinearRing.Coordinates) { kmlpolygon.Points.Add(new PointLatLng(loc.Latitude, loc.Longitude)); } kmlpolygonsoverlay.Polygons.Add(kmlpolygon); } else if (ls != null) { GMapRoute kmlroute = new GMapRoute(new List<PointLatLng>(), "kmlroute"); kmlroute.Stroke.Color = Color.Purple; foreach (var loc in ls.Coordinates) { kmlroute.Points.Add(new PointLatLng(loc.Latitude, loc.Longitude)); } kmlpolygonsoverlay.Routes.Add(kmlroute); } }
static void parser_ElementAdded(object sender, SharpKml.Base.ElementEventArgs e) { processKML(e.Element); }
void parser_ElementAdded(object sender, SharpKml.Base.ElementEventArgs e) { SharpKml.Dom.Polygon polygon = e.Element as SharpKml.Dom.Polygon; if (polygon != null) { GMapPolygon kmlpolygon = new GMapPolygon(new List<PointLatLng>(), "kmlpolygon"); foreach (var loc in polygon.OuterBoundary.LinearRing.Coordinates) { kmlpolygon.Points.Add(new PointLatLng(loc.Latitude,loc.Longitude)); } kmlpolygons.Polygons.Add(kmlpolygon); } }
Placemark CreatePlaceMark(string title, SharpKml.Dom.Geometry geometry) { Placemark placeMark = new Placemark(); placeMark.Name = title; placeMark.Geometry = geometry; return placeMark; }
private void addStation(Placemark placemark, SharpKml.Dom.Point point, DbGeography coordinates) { STATION station = new STATION(); station.Station_Description = placemark.Name; station.Station_Coordinates = coordinates; DBStation db = new DBStation(context); db.Add(station); }
private void addReference(Placemark placemark, SharpKml.Dom.Point point, DbGeography coordinates) { LANDMARK landmark = new LANDMARK(); LANDMARK_KNOWN_AS knowAsLandmark; knowAsLandmark = new LANDMARK_KNOWN_AS(); knowAsLandmark.Known_As_Description = placemark.Name; landmark.Landmark_Coordinates = coordinates; knowAsLandmark.LANDMARK = landmark; knowAsLandmark.Known_As_ID = count = count + 1; DBLandmarkKnownAs db = new DBLandmarkKnownAs(context); db.Add(knowAsLandmark); if (placemark.Description != null) { string[] description = placemark.Description.Text.Split(';'); for (int i = 0; i < description.Count(); i++) { knowAsLandmark = new LANDMARK_KNOWN_AS(); knowAsLandmark.Known_As_Description = description[i]; landmark.Landmark_Coordinates = coordinates; knowAsLandmark.Known_As_ID = count = count + 1; knowAsLandmark.LANDMARK = landmark; db = new DBLandmarkKnownAs(context); db.Add(knowAsLandmark); } } }