Beispiel #1
0
        private void RunVoronoi(string sitesWKT, bool computePolys, string expectedWKT)
        {
            var sites   = Read(sitesWKT);
            var builder = new DelaunayTriangulationBuilder();

            builder.SetSites(sites);

            var      subdiv = builder.GetSubdivision();
            Geometry result = null;

            if (computePolys)
            {
                result = subdiv.GetVoronoiDiagram(GeometryFactory.Default);
            }
            else
            {
                //result = builder.GetEdges(GeometryFactory.Default);
            }
            Assert.IsNotNull(result);

            if (expectedWKT == null)
            {
                return;
            }

            var expected = Read(expectedWKT);

            result.Normalize();
            expected.Normalize();
            Assert.That(expected.EqualsExact(result, ComparisonTolerance));
        }
Beispiel #2
0
        private QuadEdgeSubdivision BuildDelaunay()
        {
            var builder = new DelaunayTriangulationBuilder();

            builder.SetSites(_geom);
            var subDiv = builder.GetSubdivision();

            return(subDiv);
        }
Beispiel #3
0
        private static void RunVoronoi(string sitesWKT, string expectedWKT)
        {
            WKTReader reader = new WKTReader();
            IGeometry sites  = reader.Read(sitesWKT);

            DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();

            builder.SetSites(sites);

            QuadEdgeSubdivision subdiv = builder.GetSubdivision();
            IGeometry           result = subdiv.GetVoronoiDiagram(GeometryFactory.Default);

            Assert.IsNotNull(result);

            IGeometry expectedEdges = reader.Read(expectedWKT);

            result.Normalize();
            expectedEdges.Normalize();
            Assert.IsTrue(expectedEdges.EqualsExact(result, ComparisonTolerance));
        }
Beispiel #4
0
        public void Run(int nPts)
        {
            ICollection <Coordinate> pts = RandomPoints(nPts);

            Console.WriteLine("# pts: " + pts.Count);
            Stopwatch sw = new Stopwatch();

            sw.Start();
            DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder();

            builder.SetSites(pts);

            // don't actually form output geometry, to save time and memory
            //var g = builder.GetEdges(GeomFact);
            builder.GetSubdivision();

            Console.WriteLine("  --  Time: " + sw.ElapsedMilliseconds
                              + "  Mem: " + Memory.TotalString);
            //Console.WriteLine(g);
        }