Beispiel #1
0
        /// <summary>
        /// MultiPolygon from WK.
        /// </summary>
        /// <returns>The MultiPolygon</returns>
        /// <param name="wkt">WKT.</param>
        static GeoMultiPolygon WktToMultiPolygon(string wkt)
        {
            MatchCollection   matches  = Regex.Matches(wkt, @"\(((\([\s\d,.\+\-]+\)(,\s*)?)+)\)");
            List <GeoPolygon> polygons = new List <GeoPolygon>(matches.Count);

            for (int i = 0; i < matches.Count; i++)
            {
                GeoPolygon polygon = WktToPolygon(matches[i].Groups[1].Value);
                polygons.Add(polygon);
            }

            return(new GeoMultiPolygon(polygons));
        }
Beispiel #2
0
 static string GeometryToWkt(GeoPolygon polygon)
 {
     return(string.Format("({0})", string.Join("),(", polygon.LineStrings.Select(GeometryToWkt))));
 }
Beispiel #3
0
 protected bool Equals(GeoPolygon other)
 {
     return(base.Equals(other) && LineStrings.SequenceEqual(other.LineStrings));
 }