diff --git a/core/src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java b/core/src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java index 6f2c567..1360953 100755 --- a/core/src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java +++ b/core/src/main/java/org/locationtech/proj4j/BasicCoordinateTransform.java @@ -15,7 +15,11 @@ */ package org.locationtech.proj4j; +import java.util.Objects; +import java.util.stream.DoubleStream; + import org.locationtech.proj4j.datum.*; +import org.locationtech.proj4j.util.ProjectionMath; /** * Represents the operation of transforming diff --git a/core/src/main/java/org/locationtech/proj4j/datum/Datum.java b/core/src/main/java/org/locationtech/proj4j/datum/Datum.java index dff2487..ecefbd7 100755 --- a/core/src/main/java/org/locationtech/proj4j/datum/Datum.java +++ b/core/src/main/java/org/locationtech/proj4j/datum/Datum.java @@ -23,7 +23,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import org.locationtech.proj4j.ProjCoordinate; @@ -150,9 +149,8 @@ public double[] getTransformToWGS84() { public int getTransformType() { if (grids != null && grids.size() > 0) return TYPE_GRIDSHIFT; - if (Ellipsoid.WGS84.equals(ellipsoid) || Ellipsoid.GRS80.equals(ellipsoid)) { + if (Ellipsoid.WGS84.isEqual(ellipsoid) || Ellipsoid.GRS80.isEqual(ellipsoid)) { if (transform == null) return TYPE_WGS84; - if (isIdentity(transform)) return TYPE_WGS84; } @@ -269,4 +267,4 @@ public void inverseShift(ProjCoordinate xy) { public void setGrids(List grids) { this.grids = grids; } -} +} \ No newline at end of file diff --git a/core/src/test/java/org/locationtech/proj4j/datum/TransformerTypeTest.java b/core/src/test/java/org/locationtech/proj4j/datum/TransformerTypeTest.java new file mode 100644 index 0000000..25fad7b --- /dev/null +++ b/core/src/test/java/org/locationtech/proj4j/datum/TransformerTypeTest.java @@ -0,0 +1,21 @@ +package org.locationtech.proj4j.datum; + +import org.junit.Test; +import org.locationtech.proj4j.CRSFactory; +import org.locationtech.proj4j.CoordinateReferenceSystem; + +import static org.junit.Assert.assertTrue; + +public class TransformerTypeTest { + + private final CRSFactory crsFactory = new CRSFactory(); + + @Test + public void isTransformerTypeWgs84() { + + String utm32znParameters = "+proj=tmerc +lat_0=0.0 +lon_0=9.0 +k_0=0.9996 +x_0=3.25E7 +y_0=0.0 +a=6378137.0 +f=298.257222101 +pm=Greenwich +units=m +no_defs"; + CoordinateReferenceSystem utm32znCrs = crsFactory.createFromParameters("Anon", utm32znParameters); + + assertTrue(utm32znCrs.getDatum().getTransformType() == Datum.TYPE_WGS84); + } +}