public static Geometry Centroid(Geometry g) { return(GeometryMapper.Map(g, itm => { var pts = TrianglePts(itm); var cc = Triangle.Centroid(pts[0], pts[1], pts[2]); var geomFact = FunctionsUtil.GetFactoryOrDefault(g); return geomFact.CreatePoint(cc); })); }
public object Invoke(Geometry geom, object[] args) { #if false var results = new Geometry[geom.NumGeometries]; for (int i = 0; i < results.Length; i++) { var elt = geom.GetGeometryN(i); var result = (Geometry)_fun.Invoke(elt, args); // can't include null results if (result == null) { continue; } ////FunctionsUtil.showIndicator(result); results[i] = result; } return(geom.Factory.CreateGeometryCollection(results)); #else return(GeometryMapper.Map(geom, g => (Geometry)_fun.Invoke(g, args))); #endif }
public static IGeometry BufferEach(IGeometry g, double distance) { return(GeometryMapper.Map(g, gin => gin.Buffer(distance))); }
/// <summary> /// Gets the cleaned geometry. /// </summary> /// <returns>The geometry with invalid holes removed.</returns> public IGeometry GetResult() { return(GeometryMapper.Map(_geom, new InvalidHoleRemoverMapOp())); }
/// <summary> /// Gets the cleaned geometry. /// </summary> public Geometry GetResult() { var op = new HoleRemoverMapOp(_predicate); return(GeometryMapper.Map(_geom, op)); }