Exemplo n.º 1
0
        public void KmlWriteTestv2_0()
        {
            // instantiate and load the gpx test document.
            XmlStreamSource source = new XmlStreamSource(
                Assembly.GetExecutingAssembly().GetManifestResourceStream("OsmSharp.Test.data.test.v2.0.kml"));
            KmlDocument document = new KmlDocument(source);
            object      kml      = document.Kml;

            if (kml is OsmSharp.IO.Xml.Kml.v2_0.kml)
            { // all ok here!
                MemoryStream write_file = new MemoryStream();

                // create a new xml source.
                XmlStreamSource write_source = new XmlStreamSource(write_file);
                KmlDocument     kml_target   = new KmlDocument(write_source);

                // set the target data the same as the source document.
                kml_target.Kml = kml;

                // save the data.
                kml_target.Save();

                // close the old document.
                document.Close();
                source.Close();

                // check to see if the data was writter correctly.
                // instantiate and load the osm test document.
                source   = new XmlStreamSource(write_file);
                document = new KmlDocument(source);
                kml      = document.Kml;

                // check the result that was written and then read again.
                if (kml is OsmSharp.IO.Xml.Kml.v2_0.kml)
                { // all ok here!
                    OsmSharp.IO.Xml.Kml.v2_0.kml kml_type = (kml as OsmSharp.IO.Xml.Kml.v2_0.kml);

                    // test the gpx test file content.
                    Assert.IsNotNull(kml_type.Item, "No item was found!");
                    Assert.IsInstanceOf <OsmSharp.IO.Xml.Kml.v2_0.Placemark>(kml_type.Item, "Incorrect item type!");

                    OsmSharp.IO.Xml.Kml.v2_0.Placemark type = (kml_type.Item as OsmSharp.IO.Xml.Kml.v2_0.Placemark);
                    Assert.AreEqual(type.Items.Length, 3, "Incorrect number of items in folder!");
                }
                else
                {
                    Assert.Fail("No kml data was read, or data was of the incorrect type!");
                }

                document.Close();
                source.Close();
            }
            else
            {
                Assert.Fail("No kml data was read, or data was of the incorrect type!");
            }

            document.Close();
            source.Close();
        }
Exemplo n.º 2
0
        public void KmlReadTestv2_0()
        {
            // instantiate and load the gpx test document.
            XmlStreamSource source = new XmlStreamSource(
                Assembly.GetExecutingAssembly().GetManifestResourceStream("OsmSharp.Test.data.test.v2.0.kml"));
            KmlDocument document = new KmlDocument(source);
            object      kml      = document.Kml;

            if (kml is OsmSharp.IO.Xml.Kml.v2_0.kml)
            { // all ok here!
                OsmSharp.IO.Xml.Kml.v2_0.kml kml_type = (kml as OsmSharp.IO.Xml.Kml.v2_0.kml);

                // test the gpx test file content.
                Assert.IsNotNull(kml_type.Item, "No item was found!");
                Assert.IsInstanceOf <OsmSharp.IO.Xml.Kml.v2_0.Placemark>(kml_type.Item, "Incorrect item type!");

                OsmSharp.IO.Xml.Kml.v2_0.Placemark type = (kml_type.Item as OsmSharp.IO.Xml.Kml.v2_0.Placemark);
                Assert.AreEqual(type.Items.Length, 3, "Incorrect number of items in folder!");
            }
            else
            {
                Assert.Fail("No kml data was read, or data was of the incorrect type!");
            }

            document.Close();
            source.Close();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Reads a kml v2.0 object into corresponding geometries.
        /// </summary>
        /// <param name="kml"></param>
        private void ConvertKml(OsmSharp.IO.Xml.Kml.v2_0.kml kml)
        {
            this.GeometryCollection.Clear();

            if (kml.Item is OsmSharp.IO.Xml.Kml.v2_0.Document)
            {
                this.ConvertDocument(kml.Item as OsmSharp.IO.Xml.Kml.v2_0.Document);
            }
            else if (kml.Item is OsmSharp.IO.Xml.Kml.v2_0.Folder)
            {
                this.ConvertFolder(kml.Item as OsmSharp.IO.Xml.Kml.v2_0.Folder);
            }
            else if (kml.Item is OsmSharp.IO.Xml.Kml.v2_0.Placemark)
            {
                this.ConvertPlacemark(kml.Item as OsmSharp.IO.Xml.Kml.v2_0.Placemark);
            }
        }
Exemplo n.º 4
0
 private void ConvertKml(OsmSharp.IO.Xml.Kml.v2_0.kml kml)
 {
     this.FeatureCollection.Clear();
     if (kml.Item is OsmSharp.IO.Xml.Kml.v2_0.Document)
     {
         this.ConvertDocument(kml.Item as OsmSharp.IO.Xml.Kml.v2_0.Document);
     }
     else if (kml.Item is OsmSharp.IO.Xml.Kml.v2_0.Folder)
     {
         this.ConvertFolder(kml.Item as OsmSharp.IO.Xml.Kml.v2_0.Folder);
     }
     else
     {
         if (!(kml.Item is OsmSharp.IO.Xml.Kml.v2_0.Placemark))
         {
             return;
         }
         this.ConvertPlacemark(kml.Item as OsmSharp.IO.Xml.Kml.v2_0.Placemark);
     }
 }