From 5444aa5a43c3414bcb8036cf4926d05b9f312917 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Mon, 23 Apr 2018 14:57:39 +0200 Subject: [PATCH] Added some methods, fixed a bug --- src/main/java/no/nibio/vips/gis/GISUtil.java | 15 +++++++++++++++ .../java/no/nibio/vips/util/DateTimeInterval.java | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/src/main/java/no/nibio/vips/gis/GISUtil.java b/src/main/java/no/nibio/vips/gis/GISUtil.java index b50d7b0..a009737 100644 --- a/src/main/java/no/nibio/vips/gis/GISUtil.java +++ b/src/main/java/no/nibio/vips/gis/GISUtil.java @@ -252,4 +252,19 @@ public class GISUtil { }; return gf.createPolygon(coords); } + + public Coordinate convertCoordinate(Coordinate coordinate, String fromProjection, String toProjection) + { + try + { + CoordinateReferenceSystem fromCRS = CRS.decode(fromProjection); + CoordinateReferenceSystem toCRS = CRS.decode(toProjection); + MathTransform transform = CRS.findMathTransform(fromCRS, toCRS, true); + return (Coordinate) JTS.transform(coordinate, new Coordinate(), transform); + } + catch(FactoryException | TransformException ex) + { + return null; + } + } } diff --git a/src/main/java/no/nibio/vips/util/DateTimeInterval.java b/src/main/java/no/nibio/vips/util/DateTimeInterval.java index a4514db..c4b6a15 100644 --- a/src/main/java/no/nibio/vips/util/DateTimeInterval.java +++ b/src/main/java/no/nibio/vips/util/DateTimeInterval.java @@ -21,6 +21,7 @@ package no.nibio.vips.util; import java.util.Date; import java.util.List; +import java.util.Optional; import java.util.OptionalLong; /** @@ -71,6 +72,12 @@ public class DateTimeInterval { return min.isPresent() ? new Date(min.getAsLong()) : null; } + public static Boolean isDateInIntervals(Date aDate, List<DateTimeInterval> intervals) + { + Optional<DateTimeInterval> interval = intervals.stream().filter(i -> i != null && i.isDateInInterval(aDate)).findFirst(); + return interval.isPresent(); + } + /** * @return the start */ -- GitLab