You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2015/04/17 18:46:19 UTC
[32/50] [abbrv] zest-qi4j git commit: Updates,
Cleanup and preparation for a pull request.
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d305f9da/libraries/spatial/src/test/java/org/qi4j/library/spatial/transformations/TransformationsTest.java
----------------------------------------------------------------------
diff --git a/libraries/spatial/src/test/java/org/qi4j/library/spatial/transformations/TransformationsTest.java b/libraries/spatial/src/test/java/org/qi4j/library/spatial/transformations/TransformationsTest.java
new file mode 100644
index 0000000..5ef485e
--- /dev/null
+++ b/libraries/spatial/src/test/java/org/qi4j/library/spatial/transformations/TransformationsTest.java
@@ -0,0 +1,74 @@
+package org.qi4j.library.spatial.transformations;
+
+import org.junit.Test;
+import org.qi4j.api.geometry.TMultiPoint;
+import org.qi4j.api.geometry.TPoint;
+import org.qi4j.api.geometry.TPolygon;
+import org.qi4j.bootstrap.AssemblyException;
+import org.qi4j.bootstrap.ModuleAssembly;
+import org.qi4j.library.spatial.assembly.TGeometryAssembler;
+import org.qi4j.library.spatial.conversions.TConversions;
+import org.qi4j.library.spatial.projection.transformations.TTransformations;
+import org.qi4j.test.AbstractQi4jTest;
+
+import static org.junit.Assert.assertTrue;
+import static org.qi4j.api.geometry.TGeometryFactory.*;
+
+
+public class TransformationsTest extends AbstractQi4jTest {
+
+ private final static String CRS_EPSG_4326 = "EPSG:4326";
+ private final static String CRS_EPSG_27572 = "EPSG:27572";
+
+ @Override
+ public void assemble(ModuleAssembly module)
+ throws AssemblyException {
+ new TGeometryAssembler().assemble(module);
+ }
+
+ @Test
+ public void whenTransformTPoint() throws Exception {
+ TPoint tPoint = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry(CRS_EPSG_4326);
+ TTransformations.Transform(module).from(tPoint).to("EPSG:27572");
+ }
+
+ @Test
+ public void whenTransformTMultiPoint() throws Exception {
+ TMultiPoint multiPoint = TMultiPoint(module).points(new double[][]
+ {
+ {11.57958981111, 48.13905780941111},
+ {11.57958985111, 48.13905780951111},
+
+ }).geometry(CRS_EPSG_4326);
+
+ TTransformations.Transform(module).from(multiPoint).to("EPSG:27572", 2);
+ }
+
+ @Test
+ public void whenTransformPolygon() throws Exception {
+ TPolygon polygon = TPolygon(module)
+ .shell
+ (
+ new double[][]
+ {
+ {11.32965087890625, 48.122101028190805},
+ {11.394195556640625, 48.28593438872724},
+ {11.9366455078125, 48.232906106325146},
+ {11.852874755859375, 47.95038564051011},
+ {11.36810302734375, 47.94486657921015},
+ {11.32965087890625, 48.122101028190805}
+ }
+ ).geometry(CRS_EPSG_4326);
+
+ TTransformations.Transform(module).from(polygon).to("EPSG:27572", 2);
+ }
+
+ @Test
+ public void whenConvertFromTGeometryToTGeometry() {
+ TPoint tPoint1 = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry();
+ TPoint tPoint2 = (TPoint) TConversions.Convert(module).from(tPoint1).toTGeometry();
+ assertTrue(tPoint1.compareTo(tPoint2) == 0);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d305f9da/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsFromWktTest.java
----------------------------------------------------------------------
diff --git a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsFromWktTest.java b/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsFromWktTest.java
deleted file mode 100644
index bcf1654..0000000
--- a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsFromWktTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.qi4j.library.spatial.v2.conversions;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.junit.Test;
-import org.qi4j.api.geometry.*;
-import org.qi4j.api.geometry.internal.Coordinate;
-import org.qi4j.api.geometry.internal.TGeometry;
-import org.qi4j.api.geometry.internal.TLinearRing;
-import org.qi4j.bootstrap.AssemblyException;
-import org.qi4j.bootstrap.ModuleAssembly;
-import org.qi4j.test.AbstractQi4jTest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.qi4j.library.spatial.v2.conversions.TConversions.Convert;
-
-
-/**
- * Created by jj on 04.12.14.
- */
-public class ConversionsFromWktTest extends AbstractQi4jTest {
-
- private ObjectMapper GeoJsonMapper = new ObjectMapper();
-
- private final String CRS_EPSG_4326 = "EPSG:4326";
- private final String CRS_EPSG_27572 = "EPSG:27572";
-
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
- {
- // internal values
- module.values(Coordinate.class, TLinearRing.class, TGeometry.class);
-
- // API values
- module.values(TPoint.class, TMultiPoint.class, TLineString.class, TPolygon.class, TMultiPolygon.class, TFeature.class, TFeatureCollection.class);
-
- TGeometry tGeometry = module.forMixin(TGeometry.class).declareDefaults();
- tGeometry.CRS().set(CRS_EPSG_4326);
- }
-
- @Test
- public void WhenConvertFromWktToTGeometry() throws Exception
- {
- TPoint tPoint = (TPoint)Convert(module).from("POINT(11.57958981111 48.13905780941111 )", CRS_EPSG_27572).toTGeometry();
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d305f9da/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsTest.java
----------------------------------------------------------------------
diff --git a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsTest.java b/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsTest.java
deleted file mode 100644
index b4febde..0000000
--- a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsTest.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.qi4j.library.spatial.v2.conversions;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.geojson.*;
-import org.junit.Test;
-import org.qi4j.api.geometry.*;
-import org.qi4j.api.geometry.internal.Coordinate;
-import org.qi4j.api.geometry.internal.TGeometry;
-import org.qi4j.api.geometry.internal.TLinearRing;
-import org.qi4j.bootstrap.AssemblyException;
-import org.qi4j.bootstrap.ModuleAssembly;
-import org.qi4j.test.AbstractQi4jTest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import static org.qi4j.api.geometry.TGeometryFactory.TMultiPoint;
-import static org.qi4j.api.geometry.TGeometryFactory.TPoint;
-import static org.qi4j.library.spatial.v2.conversions.TConversions.*;
-
-import java.util.Arrays;
-
-
-/**
- * Created by jj on 04.12.14.
- */
-public class ConversionsTest extends AbstractQi4jTest {
-
- private ObjectMapper GeoJsonMapper = new ObjectMapper();
-
- private final String CRS_EPSG_4326_ = "EPSG:4326";
- private final String CRS_EPSG_27572 = "EPSG:27572";
-
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
- {
- // internal values
- module.values(Coordinate.class, TLinearRing.class, TGeometry.class);
-
- // API values
- module.values(TPoint.class, TMultiPoint.class, TLineString.class, TPolygon.class, TMultiPolygon.class, TFeature.class, TFeatureCollection.class);
-
- TGeometry tGeometry = module.forMixin(TGeometry.class).declareDefaults();
- tGeometry.CRS().set(CRS_EPSG_4326_);
- }
-
- @Test
- public void WhenConvertFromTGeometryToTGeometry() throws Exception
- {
- TPoint tPoint1 = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry();
- for (int i = 0;i < 1000000; i++) {
- TPoint tPoint2 = (TPoint) Convert(module).from(tPoint1).toTGeometry(CRS_EPSG_27572);
- TPoint tPoint3 = (TPoint) Convert(module).from(tPoint1).toTGeometry(CRS_EPSG_4326_);
-
- }
- // assertTrue(tPoint1.compareTo(tPoint2) == 0);
- System.out.println("Point " + tPoint1);
- }
-
- @Test
- public void WhenConvertPointFromGeoJsonToTGeometry()
- {
- TPoint tPoint1 = TPoint(module).y(100).x(0).geometry();
- Point geoJsonPoint1 = new Point(100, 0);
- TPoint tPoint2 = (TPoint)Convert(module).from(geoJsonPoint1).toTGeometry();
- assertTrue(tPoint1.compareTo(tPoint2) == 0);
- }
-
- @Test
- public void WhenConvertMultiPointFromGeoJsonToTGeometry()
- {
- TMultiPoint tMultiPoint1 = TMultiPoint(module).points(new double[][]
- {
- {100d, 0d},
- {101d, 1d},
- {102d, 2d}
-
- }).geometry();
-
- MultiPoint geoJsonMultiPoint = new LineString(new LngLatAlt(100, 0), new LngLatAlt(101, 1), new LngLatAlt(102, 2));
-
- TMultiPoint tMultiPoint2 = (TMultiPoint)Convert(module).from(geoJsonMultiPoint).toTGeometry();
- System.out.println(tMultiPoint2);
-
- assertEquals(geoJsonMultiPoint.getCoordinates().size(),tMultiPoint2.getNumPoints());
- // TODO JJ - Compare further coordinates
- }
-
- @Test
- public void WhenConvertLineStringFromGeoJsonToTGeometry() throws Exception
- {
- LineString geoJsonLineString = GeoJsonMapper.readValue("{\"type\":\"LineString\",\"coordinates\":[[100.0,0.0],[101.0,1.0]]}",
- LineString.class);
- TLineString tLineString = (TLineString)Convert(module).from(geoJsonLineString).toTGeometry();
- // System.out.println(Convert(module).from(geoJsonLineString).toTGeometry());
- }
-
- @Test
- public void WhenConvertMultiLineStringFromGeoJsonToTGeometry() throws Exception
- {
- MultiLineString multiLineString = new MultiLineString();
- multiLineString.add(Arrays.asList(new LngLatAlt(100, 0), new LngLatAlt(101, 1)));
- multiLineString.add(Arrays.asList(new LngLatAlt(102, 2), new LngLatAlt(103, 3)));
- }
-
- @Test
- public void WhenConvertPolygonFromGeoJsonToTGeometry() throws Exception {
-
- Polygon polygon = GeoJsonMapper.readValue("{\"type\":\"Polygon\",\"coordinates\":"
- + "[[[100.0,0.0],[101.0,0.0],[101.0,1.0],[100.0,1.0],[100.0,0.0]],"
- + "[[100.2,0.2],[100.8,0.2],[100.8,0.8],[100.2,0.8],[100.2,0.2]]]}", Polygon.class);
- TPolygon tPolygon = (TPolygon)Convert(module).from(polygon).toTGeometry();
-
- System.out.println(tPolygon);
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d305f9da/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsWithProjectionsTest.java
----------------------------------------------------------------------
diff --git a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsWithProjectionsTest.java b/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsWithProjectionsTest.java
deleted file mode 100644
index 457f0c9..0000000
--- a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConversionsWithProjectionsTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.qi4j.library.spatial.v2.conversions;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.junit.Test;
-import org.qi4j.api.geometry.*;
-import org.qi4j.api.geometry.internal.Coordinate;
-import org.qi4j.api.geometry.internal.TGeometry;
-import org.qi4j.api.geometry.internal.TLinearRing;
-import org.qi4j.bootstrap.AssemblyException;
-import org.qi4j.bootstrap.ModuleAssembly;
-import org.qi4j.test.AbstractQi4jTest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.qi4j.api.geometry.TGeometryFactory.TPoint;
-import static org.qi4j.library.spatial.v2.conversions.TConversions.Convert;
-
-
-/**
- * Created by jj on 04.12.14.
- */
-public class ConversionsWithProjectionsTest extends AbstractQi4jTest {
-
- private ObjectMapper GeoJsonMapper = new ObjectMapper();
-
- // private final String CRS1 = "urn:ogc:def:crs:OGC:1.3:CRS84";
-
- private final String CRS1 ="EPSG:4326";
-
-
-
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
- {
- // internal values
- module.values(Coordinate.class, TLinearRing.class, TGeometry.class);
-
- // API values
- module.values(TPoint.class, TMultiPoint.class, TLineString.class, TPolygon.class, TMultiPolygon.class, TFeature.class, TFeatureCollection.class);
-
- TGeometry tGeometry = module.forMixin(TGeometry.class).declareDefaults();
- tGeometry.CRS().set(CRS1);
-
- }
-
- @Test
- public void WhenConvertFromTGeometryToTGeometryConvertProjections() throws Exception
- {
- TPoint tPoint1 = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry();
- TPoint tPoint2 = (TPoint)Convert(module).from(tPoint1).toTGeometry(CRS1);
- assertTrue(tPoint1.compareTo(tPoint2) == 0);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d305f9da/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConvertFromGeoJsonToTGeometry.java
----------------------------------------------------------------------
diff --git a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConvertFromGeoJsonToTGeometry.java b/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConvertFromGeoJsonToTGeometry.java
deleted file mode 100644
index 5a6064a..0000000
--- a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/conversions/ConvertFromGeoJsonToTGeometry.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.qi4j.library.spatial.v2.conversions;
-
-import org.geojson.Point;
-import org.junit.Test;
-import org.qi4j.api.geometry.*;
-import org.qi4j.api.geometry.internal.Coordinate;
-import org.qi4j.api.geometry.internal.TGeometry;
-import org.qi4j.api.geometry.internal.TLinearRing;
-import org.qi4j.bootstrap.AssemblyException;
-import org.qi4j.bootstrap.ModuleAssembly;
-import org.qi4j.test.AbstractQi4jTest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-
-import static org.qi4j.api.geometry.TGeometryFactory.TPoint;
-import static org.qi4j.library.spatial.v2.conversions.TConversions.Convert;
-
-/**
- * Created by jj on 04.12.14.
- */
-public class ConvertFromGeoJsonToTGeometry extends AbstractQi4jTest {
-
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
- {
- // internal values
- module.values(Coordinate.class, TLinearRing.class, TGeometry.class);
-
- // API values
- module.values(TPoint.class, TMultiPoint.class, TLineString.class, TPolygon.class, TMultiPolygon.class, TFeature.class, TFeatureCollection.class);
-
- }
-
- @Test
- public void WhenConvertingPoint()
- {
-
- Point point1 = new Point(100, 0);
- TPoint tPoint1 = (TPoint)Convert(module).from(point1).toTGeometry();
- Point point2 = (Point)Convert(module).from(point1).toGeoJson();
- System.out.println(point2.toString());
- TPoint tPoint2 = (TPoint)Convert(module).from(point2).toTGeometry();
- System.out.println(tPoint1);
- System.out.println(tPoint2);
-
-
- assertTrue(tPoint1.compareTo(tPoint2) == 0);
- }
-
- @Test
- public void WhenConvertingPoint2()
- {
- TPoint tPoint1 = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry();
- Point point1 = new Point(1,2 );
- Point point2 = (Point)Convert(module).from(point1).toGeoJson();
- System.out.println(point2.getCoordinates().getLatitude());
- System.out.println(point2.getCoordinates().getLongitude());
- TPoint tPoint2 = (TPoint)Convert(module).from(point2).toTGeometry();
- System.out.println(tPoint2);
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d305f9da/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/transformations/TransformationsTest.java
----------------------------------------------------------------------
diff --git a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/transformations/TransformationsTest.java b/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/transformations/TransformationsTest.java
deleted file mode 100644
index 4f49a9b..0000000
--- a/libraries/spatial/src/test/java/org/qi4j/library/spatial/v2/transformations/TransformationsTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.qi4j.library.spatial.v2.transformations;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.junit.Test;
-import org.qi4j.api.geometry.*;
-import org.qi4j.api.geometry.internal.Coordinate;
-import org.qi4j.api.geometry.internal.TGeometry;
-import org.qi4j.api.geometry.internal.TLinearRing;
-import org.qi4j.bootstrap.AssemblyException;
-import org.qi4j.bootstrap.ModuleAssembly;
-import org.qi4j.test.AbstractQi4jTest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.qi4j.api.geometry.TGeometryFactory.TMultiPoint;
-import static org.qi4j.api.geometry.TGeometryFactory.TPoint;
-import static org.qi4j.api.geometry.TGeometryFactory.TPolygon;
-import static org.qi4j.library.spatial.v2.conversions.TConversions.Convert;
-import static org.qi4j.library.spatial.v2.transformations.TTransformations.Transform;
-
-
-/**
- * Created by jj on 04.12.14.
- */
-public class TransformationsTest extends AbstractQi4jTest {
-
- private ObjectMapper GeoJsonMapper = new ObjectMapper();
- private final String CRS_EPSG_4326 = "EPSG:4326";
- private final String CRS_EPSG_27572 = "EPSG:27572";
-
-
-
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
- {
- // internal values
- module.values(Coordinate.class, TLinearRing.class, TGeometry.class);
-
- // API values
- module.values(TPoint.class, TMultiPoint.class, TLineString.class, TPolygon.class, TMultiPolygon.class, TFeature.class, TFeatureCollection.class);
-
- TGeometry tGeometry = module.forMixin(TGeometry.class).declareDefaults();
- tGeometry.CRS().set(CRS_EPSG_4326);
-
- }
-
- @Test
- public void WhenTransformTPoint() throws Exception
- {
- TPoint tPoint = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry(CRS_EPSG_4326);
- TPoint tPoint1 = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry(CRS_EPSG_4326);
-
- Transform(module).from(tPoint).to("EPSG:27572");
-
- System.out.println(tPoint1);
- System.out.println(tPoint);
- }
-
- @Test
- public void WhenTransformTMultiPoint() throws Exception
- {
- TMultiPoint multiPoint = TMultiPoint(module).points(new double[][]
- {
- {11.57958981111, 48.13905780941111},
- {11.57958985111, 48.13905780951111},
-
- }).geometry(CRS_EPSG_4326);
-
- Transform(module).from(multiPoint).to("EPSG:27572", 2);
- System.out.println(multiPoint);
- }
-
- @Test
- public void WhenTransformPolygon() throws Exception
- {
- TPolygon polygon = TPolygon(module)
- .shell
- (
- new double[][]
- {
- {11.32965087890625, 48.122101028190805},
- {11.394195556640625, 48.28593438872724},
- {11.9366455078125, 48.232906106325146},
- {11.852874755859375, 47.95038564051011},
- {11.36810302734375, 47.94486657921015},
- {11.32965087890625, 48.122101028190805}
- }
- ).geometry(CRS_EPSG_4326);
-
- Transform(module).from(polygon).to("EPSG:27572", 2);
-
- System.out.println(polygon);
- }
-
- @Test
- public void WhenConvertFromTGeometryToTGeometry()
- {
- TPoint tPoint1 = TPoint(module).x(11.57958981111).y(48.13905780941111).geometry();
- TPoint tPoint2 = (TPoint)Convert(module).from(tPoint1).toTGeometry();
- assertTrue(tPoint1.compareTo(tPoint2) == 0);
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/d305f9da/libraries/spatial/src/test/resources/topo/geojson/swiss/FeatureCollection.json
----------------------------------------------------------------------
diff --git a/libraries/spatial/src/test/resources/topo/geojson/swiss/FeatureCollection.json b/libraries/spatial/src/test/resources/topo/geojson/swiss/FeatureCollection.json
index f3e1e00..a2c738d 100644
--- a/libraries/spatial/src/test/resources/topo/geojson/swiss/FeatureCollection.json
+++ b/libraries/spatial/src/test/resources/topo/geojson/swiss/FeatureCollection.json
@@ -1,33 +1,78 @@
-{ "type": "FeatureCollection",
- "features": [
- { "type": "Feature",
- "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
- "properties": {"prop0": "value0"}
- },
- { "type": "Feature",
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
- ]
- },
- "properties": {
- "prop0": "value0",
- "prop1": 0.0
- }
- },
- { "type": "Feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
- [100.0, 1.0], [100.0, 0.0] ]
- ]
- },
- "properties": {
- "prop0": "value0",
- "prop1": {"this": "that"}
- }
- }
- ]
+{
+ "type": "FeatureCollection",
+ "features": [
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ 102.0,
+ 0.5
+ ]
+ },
+ "properties": {"prop0": "value0"}
+ },
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [
+ 102.0,
+ 0.0
+ ],
+ [
+ 103.0,
+ 1.0
+ ],
+ [
+ 104.0,
+ 0.0
+ ],
+ [
+ 105.0,
+ 1.0
+ ]
+ ]
+ },
+ "properties": {
+ "prop0": "value0",
+ "prop1": 0.0
+ }
+ },
+ {
+ "type": "Feature",
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 100.0,
+ 0.0
+ ],
+ [
+ 101.0,
+ 0.0
+ ],
+ [
+ 101.0,
+ 1.0
+ ],
+ [
+ 100.0,
+ 1.0
+ ],
+ [
+ 100.0,
+ 0.0
+ ]
+ ]
+ ]
+ },
+ "properties": {
+ "prop0": "value0",
+ "prop1": {"this": "that"}
+ }
+ }
+ ]
}
\ No newline at end of file