@@ -2,6 +2,7 @@ package geoscript.layer
22
33import geoscript.AssertUtil
44import geoscript.filter.Expression
5+ import geoscript.style.Stroke
56import geoscript.workspace.Directory
67import groovy.json.JsonSlurper
78import org.junit.Rule
@@ -39,6 +40,38 @@ class LayerTestCase {
3940 assertEquals " stations" , layer4. name
4041 }
4142
43+ @Test void fromGeometry () {
44+ Layer layer = Layer . fromGeometry(" world" , new Bounds (-180 ,-90 ,180 ,90 ). geometry)
45+ assertEquals (" world" , layer. name)
46+ assertEquals (1 , layer. count)
47+ assertEquals (" EPSG:4326" , layer. proj. id)
48+
49+ layer = Layer . fromGeometry(" world" , new Bounds (-180 ,-85 ,180 ,85 , " EPSG:4326" ). reproject(" EPSG:3857" ). geometry,
50+ proj : new Projection (" EPSG:3857" ),
51+ style : new Stroke (" black" , 0.50 )
52+ )
53+ assertEquals (" world" , layer. name)
54+ assertEquals (1 , layer. count)
55+ assertEquals (" EPSG:3857" , layer. proj. id)
56+ }
57+
58+ @Test void fromGeometries () {
59+ Layer layer = Layer . fromGeometries(" testPits" , Geometry . createRandomPoints(new Bounds (-180 ,-90 ,180 ,90 ). geometry, 10 ). geometries)
60+ assertEquals (" testPits" , layer. name)
61+ assertEquals (" Point" , layer. schema. geom. typ)
62+ assertEquals (10 , layer. count)
63+ assertEquals (" EPSG:4326" , layer. proj. id)
64+
65+ layer = Layer . fromGeometries(" geometries" , [new Point (1 ,2 ), new LineString ([1 ,2 ],[3 ,4 ])],
66+ proj : new Projection (" EPSG:4326" ),
67+ style : new Stroke (" blue" , 1 )
68+ )
69+ assertEquals (" geometries" , layer. name)
70+ assertEquals (" GeometryCollection" , layer. schema. geom. typ)
71+ assertEquals (2 , layer. count)
72+ assertEquals (" EPSG:4326" , layer. proj. id)
73+ }
74+
4275 @Test void eachFeature () {
4376 Layer layer = new Shapefile (new File (getClass(). getClassLoader(). getResource(" states.shp" ). toURI()))
4477 int count = 0
0 commit comments