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
        }
Exemple #3
0
 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()));
 }
Exemple #5
0
        /// <summary>
        /// Gets the cleaned geometry.
        /// </summary>
        public Geometry GetResult()
        {
            var op = new HoleRemoverMapOp(_predicate);

            return(GeometryMapper.Map(_geom, op));
        }