From 4cf11ffbdf28f62d9d8151cc88867e96f86f97ed Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Thu, 16 May 2019 15:19:03 +0200 Subject: [PATCH] Upgrade to new version of GeoTools, with all kinds of repercussions --- pom.xml | 38 +++++++++++++------ .../entity/PointWeatherObservationList.java | 2 +- .../java/no/nibio/vips/entity/Result.java | 2 +- .../nibio/vips/entity/ResultDeserializer.java | 8 ++-- .../java/no/nibio/vips/entity/ResultImpl.java | 2 +- .../nibio/vips/entity/ResultJsonbAdapter.java | 8 ++-- .../nibio/vips/entity/ResultSerializer.java | 8 ++-- src/main/java/no/nibio/vips/gis/GISUtil.java | 24 +++++------- .../java/no/nibio/vips/gis/GISUtilTest.java | 5 +-- 9 files changed, 52 insertions(+), 45 deletions(-) diff --git a/pom.xml b/pom.xml index ec0a023..3b68546 100755 --- a/pom.xml +++ b/pom.xml @@ -64,6 +64,12 @@ <version>2.7.0</version> <type>jar</type> </dependency> + <dependency> + <groupId>org.locationtech.jts</groupId> + <artifactId>jts-core</artifactId> + <version>1.16.0</version> + <type>jar</type> + </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> @@ -94,34 +100,42 @@ <dependency> <groupId>org.geotools</groupId> <artifactId>gt-api</artifactId> - <version>17.2</version> + <version>20.3</version> </dependency> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-epsg-hsql</artifactId> - <version>17.2</version> + <version>20.3</version> </dependency> <dependency> <groupId>org.renjin</groupId> <artifactId>renjin-script-engine</artifactId> <version>RELEASE</version> </dependency> - <dependency> - <groupId>com.vividsolutions</groupId> - <artifactId>jts</artifactId> - <version>1.13</version> -</dependency> + <dependency> <groupId>com.bedatadriven</groupId> <artifactId>jackson-datatype-jts</artifactId> <version>2.2</version> </dependency> <dependency> - <groupId>com.github.bjornharrtell</groupId> - <!--groupId>org.wololo</groupId--> + <!--groupId>com.github.bjornharrtell</groupId--> + <groupId>org.wololo</groupId> <artifactId>jts2geojson</artifactId> - <version>0.10.0</version> + <version>0.12.0</version> </dependency> + <!-- https://mvnrepository.com/artifact/org.jscience/jscience --> +<dependency> + <groupId>javax.measure</groupId> + <artifactId>unit-api</artifactId> + <version>1.0</version> +</dependency> +<dependency> + <groupId>tec.units</groupId> + <artifactId>unit-ri</artifactId> + <version>1.0.3</version> +</dependency> + </dependencies> <repositories> <repository> @@ -156,8 +170,8 @@ <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> - <source>10</source> - <target>10</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> <plugin> diff --git a/src/main/java/no/nibio/vips/entity/PointWeatherObservationList.java b/src/main/java/no/nibio/vips/entity/PointWeatherObservationList.java index af1f8f3..f6edfc0 100644 --- a/src/main/java/no/nibio/vips/entity/PointWeatherObservationList.java +++ b/src/main/java/no/nibio/vips/entity/PointWeatherObservationList.java @@ -21,7 +21,7 @@ package no.nibio.vips.entity; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import com.vividsolutions.jts.geom.Coordinate; +import org.locationtech.jts.geom.Coordinate; import java.util.List; /** diff --git a/src/main/java/no/nibio/vips/entity/Result.java b/src/main/java/no/nibio/vips/entity/Result.java index bc92d7e..62cd66f 100755 --- a/src/main/java/no/nibio/vips/entity/Result.java +++ b/src/main/java/no/nibio/vips/entity/Result.java @@ -24,7 +24,7 @@ import java.util.Map; import java.util.Set; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; /** diff --git a/src/main/java/no/nibio/vips/entity/ResultDeserializer.java b/src/main/java/no/nibio/vips/entity/ResultDeserializer.java index 2199b80..5e2f4d5 100644 --- a/src/main/java/no/nibio/vips/entity/ResultDeserializer.java +++ b/src/main/java/no/nibio/vips/entity/ResultDeserializer.java @@ -26,10 +26,10 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.Point; -import com.vividsolutions.jts.geom.Polygon; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.Point; +import org.locationtech.jts.geom.Polygon; import java.io.IOException; import java.util.Date; import java.util.Map; diff --git a/src/main/java/no/nibio/vips/entity/ResultImpl.java b/src/main/java/no/nibio/vips/entity/ResultImpl.java index 0653864..395e37d 100755 --- a/src/main/java/no/nibio/vips/entity/ResultImpl.java +++ b/src/main/java/no/nibio/vips/entity/ResultImpl.java @@ -20,7 +20,7 @@ package no.nibio.vips.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.vividsolutions.jts.geom.Geometry; +import org.locationtech.jts.geom.Geometry; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; diff --git a/src/main/java/no/nibio/vips/entity/ResultJsonbAdapter.java b/src/main/java/no/nibio/vips/entity/ResultJsonbAdapter.java index 1a8532f..2038629 100644 --- a/src/main/java/no/nibio/vips/entity/ResultJsonbAdapter.java +++ b/src/main/java/no/nibio/vips/entity/ResultJsonbAdapter.java @@ -21,10 +21,10 @@ package no.nibio.vips.entity; import com.bedatadriven.jackson.datatype.jts.JtsModule; import com.fasterxml.jackson.databind.ObjectMapper; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.Point; -import com.vividsolutions.jts.geom.Polygon; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.Point; +import org.locationtech.jts.geom.Polygon; import java.math.BigDecimal; import java.util.Date; import java.util.Map; diff --git a/src/main/java/no/nibio/vips/entity/ResultSerializer.java b/src/main/java/no/nibio/vips/entity/ResultSerializer.java index 992dbef..3d8d565 100644 --- a/src/main/java/no/nibio/vips/entity/ResultSerializer.java +++ b/src/main/java/no/nibio/vips/entity/ResultSerializer.java @@ -25,10 +25,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.Point; -import com.vividsolutions.jts.geom.Polygon; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.LineString; +import org.locationtech.jts.geom.Point; +import org.locationtech.jts.geom.Polygon; import java.io.IOException; /** diff --git a/src/main/java/no/nibio/vips/gis/GISUtil.java b/src/main/java/no/nibio/vips/gis/GISUtil.java index c7c2ca5..3f5f6d0 100644 --- a/src/main/java/no/nibio/vips/gis/GISUtil.java +++ b/src/main/java/no/nibio/vips/gis/GISUtil.java @@ -19,22 +19,17 @@ package no.nibio.vips.gis; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.Point; -import com.vividsolutions.jts.geom.Polygon; -import com.vividsolutions.jts.geom.PrecisionModel; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.Point; +import org.locationtech.jts.geom.Polygon; +import org.locationtech.jts.geom.PrecisionModel; import java.util.ArrayList; import java.util.List; import java.util.Map; -import javax.measure.Measure; -import javax.measure.quantity.Area; -import javax.measure.unit.SI; import org.geotools.geometry.jts.JTS; import org.geotools.referencing.CRS; -import org.geotools.referencing.crs.DefaultGeographicCRS; -import org.opengis.geometry.MismatchedDimensionException; import org.opengis.referencing.FactoryException; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.MathTransform; @@ -214,7 +209,8 @@ public class GISUtil { * * @param p * @return Area in square meters - */ + * Used only by MetnoThreddsDataparser, which is obsolete anyway + * public Measure<Double, Area> calcArea(Polygon p) { Point centroid = p.getCentroid(); try { @@ -230,7 +226,7 @@ public class GISUtil { e.printStackTrace(); } return Measure.valueOf(0.0, SI.SQUARE_METRE); - } + }*/ /** * Create a polygon with the given bounds @@ -279,7 +275,7 @@ public class GISUtil { { Double x = Double.valueOf(xy[0]); Double y = Double.valueOf(xy[1]); - com.vividsolutions.jts.geom.Coordinate jtsCoordinate = new com.vividsolutions.jts.geom.Coordinate(); + org.locationtech.jts.geom.Coordinate jtsCoordinate = new org.locationtech.jts.geom.Coordinate(); jtsCoordinate.x = x; jtsCoordinate.y = y; return createPointWGS84(jtsCoordinate); diff --git a/src/test/java/no/nibio/vips/gis/GISUtilTest.java b/src/test/java/no/nibio/vips/gis/GISUtilTest.java index 81559a4..e6afacf 100644 --- a/src/test/java/no/nibio/vips/gis/GISUtilTest.java +++ b/src/test/java/no/nibio/vips/gis/GISUtilTest.java @@ -18,9 +18,6 @@ */ package no.nibio.vips.gis; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.Point; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -157,7 +154,7 @@ public class GISUtilTest extends TestCase { System.out.println("JSON=" + json); GISUtil instance = new GISUtil(); //List<Geometry> expResult = null; - List<com.vividsolutions.jts.geom.Geometry> geometries = instance.getGeometriesFromGeoJSON(json); + List<org.locationtech.jts.geom.Geometry> geometries = instance.getGeometriesFromGeoJSON(json); Map<String, Object> properties = new HashMap<>(); properties.put("observationId", 12); String result = instance.getGeoJSONFromGeometries(geometries, properties); -- GitLab