/// <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)); }
static string GeometryToWkt(GeoPolygon polygon) { return(string.Format("({0})", string.Join("),(", polygon.LineStrings.Select(GeometryToWkt)))); }
protected bool Equals(GeoPolygon other) { return(base.Equals(other) && LineStrings.SequenceEqual(other.LineStrings)); }