File tree Expand file tree Collapse file tree
main/java/org/geoscript/js/geom
test/resources/org/geoscript/js/tests/geoscript Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ var geom = require ( 'geoscript/geom' ) ;
2+ var viewer = require ( 'geoscript/viewer' ) ;
3+
4+ var polygon = geom . Point ( [ 1 , 1 ] ) . buffer ( 50 ) ;
5+ var points = polygon . randomPoints ( 100 ) ;
6+ var triangles = points . createDelaunayTriangles ( true ) ;
7+ viewer . draw ( triangles ) ;
Original file line number Diff line number Diff line change 1+ var geom = require ( 'geoscript/geom' ) ;
2+ var viewer = require ( 'geoscript/viewer' ) ;
3+
4+ var polygon = geom . Point ( [ 1 , 1 ] ) . buffer ( 50 ) ;
5+ var points = polygon . randomPoints ( 20 ) ;
6+ var diagram = points . createVoronoiDiagram ( ) ;
7+ viewer . draw ( diagram ) ;
Original file line number Diff line number Diff line change 3535import org .locationtech .jts .geom .GeometryFactory ;
3636import org .locationtech .jts .operation .buffer .BufferOp ;
3737import org .locationtech .jts .operation .buffer .BufferParameters ;
38+ import org .locationtech .jts .triangulate .VoronoiDiagramBuilder ;
3839import org .locationtech .jts .simplify .DouglasPeuckerSimplifier ;
3940
4041public class Geometry extends GeoObject implements Wrapper {
@@ -303,6 +304,15 @@ public ScriptableObject densify(double tolerance) {
303304 return densified ;
304305 }
305306
307+ @ JSFunction
308+ public ScriptableObject createVoronoiDiagram () {
309+ VoronoiDiagramBuilder builder = new VoronoiDiagramBuilder ();
310+ builder .setSites (geometry );
311+ ScriptableObject voronoiDiagram = GeometryWrapper .wrap (getParentScope (), builder .getDiagram (Geometry .factory ));
312+ ((Geometry ) voronoiDiagram ).projection = projection ;
313+ return voronoiDiagram ;
314+ }
315+
306316 @ JSFunction
307317 public ScriptableObject randomPoints (int number ) {
308318 org .locationtech .jts .shape .random .RandomPointsBuilder builder = new org .locationtech .jts .shape .random .RandomPointsBuilder (factory );
Original file line number Diff line number Diff line change @@ -157,6 +157,16 @@ exports["test: create(bounds)"] = function() {
157157
158158} ;
159159
160+ exports [ "test: create voronoi diagram" ] = function ( ) {
161+
162+ var geom = GEOM . Point ( [ 1 , 1 ] ) . buffer ( 50 )
163+ var points = geom . randomPoints ( 20 )
164+ var diagram = points . createVoronoiDiagram ( )
165+ ASSERT . ok ( diagram instanceof GEOM . GeometryCollection )
166+ ASSERT . ok ( diagram . components . length > 0 , "there should be more than 0 polygons" ) ;
167+
168+ }
169+
160170exports [ "test: create random points" ] = function ( ) {
161171
162172 var geom = GEOM . Point ( [ 1 , 1 ] ) . buffer ( 10 )
You can’t perform that action at this time.
0 commit comments