Ejemplo n.º 1
0
 private void ConvertGeometry(GeometryType geometry)
 {
     if (geometry is PointType)
     {
         this.FeatureCollection.Add(KmlFeatureStreamSource.ConvertPoint(geometry as PointType));
     }
     else if (geometry is LineStringType)
     {
         this.FeatureCollection.Add(KmlFeatureStreamSource.ConvertLineString(geometry as LineStringType));
     }
     else if (geometry is LinearRingType)
     {
         this.FeatureCollection.Add(KmlFeatureStreamSource.ConvertLinearRing(geometry as LinearRingType));
     }
     else if (geometry is PolygonType)
     {
         this.FeatureCollection.Add(KmlFeatureStreamSource.ConvertPolygon(geometry as PolygonType));
     }
     else
     {
         if (!(geometry is MultiGeometryType))
         {
             return;
         }
         this.ConvertMultiGeometry(geometry as MultiGeometryType);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Convests the polygon to osm objects.
        /// </summary>
        /// <param name="polygon"></param>
        /// <returns></returns>
        private static Feature ConvertPolygon(OsmSharp.IO.Xml.Kml.v2_1.PolygonType polygon)
        {
            IEnumerable <LineairRing> inners = KmlFeatureStreamSource.ConvertBoundary(polygon.innerBoundaryIs);
            LineairRing outer = KmlFeatureStreamSource.ConvertLinearRing(polygon.outerBoundaryIs.LinearRing).Geometry as LineairRing;

            return(new Feature(new Polygon(outer, inners)));
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Converts a geometry to a list of osm objects.
 /// </summary>
 /// <param name="geometry"></param>
 /// <returns></returns>
 private void ConvertGeometry(OsmSharp.IO.Xml.Kml.v2_1.GeometryType geometry)
 {
     if (geometry is OsmSharp.IO.Xml.Kml.v2_1.PointType)
     {
         this.FeatureCollection.Add(
             KmlFeatureStreamSource.ConvertPoint(geometry as OsmSharp.IO.Xml.Kml.v2_1.PointType));
     }
     else if (geometry is OsmSharp.IO.Xml.Kml.v2_1.LineStringType)
     {
         this.FeatureCollection.Add(
             KmlFeatureStreamSource.ConvertLineString(geometry as OsmSharp.IO.Xml.Kml.v2_1.LineStringType));
     }
     else if (geometry is OsmSharp.IO.Xml.Kml.v2_1.LinearRingType)
     {
         this.FeatureCollection.Add(
             KmlFeatureStreamSource.ConvertLinearRing(geometry as OsmSharp.IO.Xml.Kml.v2_1.LinearRingType));
     }
     else if (geometry is OsmSharp.IO.Xml.Kml.v2_1.PolygonType)
     {
         this.FeatureCollection.Add(
             KmlFeatureStreamSource.ConvertPolygon(geometry as OsmSharp.IO.Xml.Kml.v2_1.PolygonType));
     }
     else if (geometry is OsmSharp.IO.Xml.Kml.v2_1.MultiGeometryType)
     {
         this.ConvertMultiGeometry(geometry as OsmSharp.IO.Xml.Kml.v2_1.MultiGeometryType);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Converts a polygon.
        /// </summary>
        /// <param name="polygon"></param>
        /// <returns></returns>
        private static Feature ConvertPolygon(OsmSharp.IO.Xml.Kml.v2_0_response.Polygon polygon)
        {
            var inner = KmlFeatureStreamSource.ConvertLinearRing(polygon.innerBoundaryIs.LinearRing);
            var outer = KmlFeatureStreamSource.ConvertLinearRing(polygon.outerBoundaryIs.LinearRing);

            return(new Feature(new Polygon(outer.Geometry as LineairRing, new LineairRing[] { inner.Geometry as LineairRing })));
        }
Ejemplo n.º 5
0
        private static Feature ConvertPolygon(OsmSharp.IO.Xml.Kml.v2_0_response.Polygon polygon)
        {
            Feature feature = KmlFeatureStreamSource.ConvertLinearRing(polygon.innerBoundaryIs.LinearRing);

            return(new Feature((Geometry) new OsmSharp.Geo.Geometries.Polygon(KmlFeatureStreamSource.ConvertLinearRing(polygon.outerBoundaryIs.LinearRing).Geometry as LineairRing, (IEnumerable <LineairRing>) new LineairRing[1]
            {
                feature.Geometry as LineairRing
            })));
        }
Ejemplo n.º 6
0
        private static IEnumerable <LineairRing> ConvertBoundary(boundaryType[] boundary)
        {
            List <LineairRing> lineairRingList = new List <LineairRing>();

            foreach (boundaryType boundaryType in boundary)
            {
                lineairRingList.Add(KmlFeatureStreamSource.ConvertLinearRing(boundaryType.LinearRing).Geometry as LineairRing);
            }
            return((IEnumerable <LineairRing>)lineairRingList);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Converts boundary type into an osm object.
        /// </summary>
        /// <param name="boundary"></param>
        /// <returns></returns>
        private static IEnumerable <LineairRing> ConvertBoundary(OsmSharp.IO.Xml.Kml.v2_1.boundaryType[] boundary)
        {
            List <LineairRing> rings = new List <LineairRing>();

            foreach (OsmSharp.IO.Xml.Kml.v2_1.boundaryType geo in boundary)
            {
                rings.Add(KmlFeatureStreamSource.ConvertLinearRing(geo.LinearRing).Geometry as LineairRing);
            }
            return(rings);
        }
Ejemplo n.º 8
0
        private static Feature ConvertPolygon(PolygonType polygon)
        {
            IEnumerable <LineairRing> holes = KmlFeatureStreamSource.ConvertBoundary(polygon.innerBoundaryIs);

            return(new Feature((Geometry) new OsmSharp.Geo.Geometries.Polygon(KmlFeatureStreamSource.ConvertLinearRing(polygon.outerBoundaryIs.LinearRing).Geometry as LineairRing, holes)));
        }