diff --git a/pom.xml b/pom.xml
index ec0a023e416891ce5b4d03bf57b13c67fdfe0a32..3b68546edcec70e404e62e6a1cc3c8f1c2a575c8 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 af1f8f37b6b353dee071701b2056489565eda574..f6edfc0c720cc2c46f84aa511bc9e3199d68d496 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 bc92d7e1078b02e627e70b72a18ede6f51be1e59..62cd66f270d2cd8eec35f3a3cee96727dbe6b90b 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 2199b80347d96ab4858db6ddceda7b87d4b51fcb..5e2f4d53df293ef692c8abb5188fde94f4766d59 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 065386444f31924d6bc89e39d6342daac77ca85c..395e37d1ae4426030aae4f7b3503df968cff8214 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 1a8532f3e5e7be24a33e42d2e0b485c58bf667b7..2038629322c47e15982e5524c512a73d80515650 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 992dbefbe0f7a402e35e91a31f694ab23f4d4102..3d8d565c181162324ac14f40927f06c90119f067 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 c7c2ca55aa1843a7dd6e0950d449ae1c029da700..3f5f6d0fb2d58eab1a1ec8414a7af9f7963252c7 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 81559a42cb91d0fab98c92b35b00baffd46a8c83..e6afacf29b2bebeebd3d8d60ff9afad93bcf691f 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);