Пример #1
0
        public async Task <List <Storm> > ParseStormData()
        {
            List <Storm> storms = new List <Storm>();


            string stormData = await DownloadStormData();

            SharpKml.Base.Parser kmlParser = new SharpKml.Base.Parser();
            kmlParser.ParseString(stormData, false);

            if (kmlParser.Root is Kml kml)
            {
                var placemarks = new List <Placemark>();
                ExtractPlacemarks(kml.Feature, placemarks);


                foreach (Placemark placemark in placemarks)
                {
                    if (placemark.Geometry is SharpKml.Dom.Point point)
                    {
                        storms.Add(new Storm()
                        {
                            Latitude = point.Coordinate.Latitude, Longitude = point.Coordinate.Longitude, LatitudeOrigem = _serviceConfigurations.LatitudeCasa, LongitudeOrigem = _serviceConfigurations.LongitudeCasa
                        });
                    }
                }
            }

            return(storms);
        }
Пример #2
0
        public static List<Placemark> ParsePlacemarks(string kmlfile)
        {
            List<Placemark> placemarks = new List<Placemark>();

            // Parse the KML file
            SharpKml.Base.Parser kmlparser = new SharpKml.Base.Parser();
            kmlparser.ParseString(kmlfile, false);

            // It's good practice for the root element of the file to be a Kml element
            Kml kml = kmlparser.Root as Kml;
            if (kml != null)
            {
                ExtractPlacemarks(kml.Feature, placemarks);

                // Sort using their names
                placemarks.Sort((a, b) => string.Compare(a.Name, b.Name));

                // Display the results
                foreach (var placemark in placemarks)
                {
                    Debug.WriteLine("KMLHelper : found placemark " + placemark.Name);
                }
            }

            return placemarks;
        }
Пример #3
0
        public static void LoadNoFly(string file)
        {
            string kml = "";

            using (var sr = new StreamReader(File.OpenRead(file)))
            {
                kml = sr.ReadToEnd();
                sr.Close();
            }

            kml = kml.Replace("<Snippet/>", "");

            var parser = new SharpKml.Base.Parser();

            parser.ElementAdded += parser_ElementAdded;
            parser.ParseString(kml, false);
        }
Пример #4
0
        public static void LoadNoFly(string file)
        {
            string kml = "";

            using (var sr = new StreamReader(File.OpenRead(file)))
            {
                kml = sr.ReadToEnd();
                sr.Close();
            }

            kml = kml.Replace("<Snippet/>", "");

            var parser = new SharpKml.Base.Parser();

            parser.ElementAdded += parser_ElementAdded;
            parser.ParseString(kml, false);
        }