Skip to content

Commit c574541

Browse files
committed
Upgrade to geotools33
1 parent 692b008 commit c574541

49 files changed

Lines changed: 239 additions & 253 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/r.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
spark: [3.4.0, 3.5.0]
5757
hadoop: [3]
5858
scala: [2.12.15]
59-
r: [oldrel, release]
59+
r: [oldrel]
6060
env:
6161
SPARK_VERSION: ${{ matrix.spark }}
6262
HADOOP_VERSION: ${{ matrix.hadoop }}
@@ -124,7 +124,7 @@ jobs:
124124
- name: Build Sedona libraries
125125
run: |
126126
SPARK_COMPAT_VERSION=${SPARK_VERSION:0:3}
127-
mvn -q clean install -DskipTests -Dspark=${SPARK_COMPAT_VERSION} -Dscala=${SCALA_VERSION:0:4}
127+
mvn -q clean install -DskipTests -Dspark=${SPARK_COMPAT_VERSION} -Dscala=${SCALA_VERSION:0:4} -Dgeotools
128128
- name: Run tests
129129
run: |
130130
if [[ "${SPARK_VERSION:0:3}" < "3.3" ]]; then

R/tests/testthat/test-data-interface-raster.R

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ sc <- testthat_spark_connection()
2626
test_that("Passed RS_FromGeoTiff from binary", {
2727
## Load
2828
sdf_name <- random_string("spatial_sdf")
29-
binary_sdf <- spark_read_binary(sc, dir = test_data("raster/test1.tiff"), name = sdf_name)
29+
binary_sdf <- spark_read_binary(sc, dir = test_data("raster"), name = sdf_name)
3030

3131
raster_sdf <-
3232
binary_sdf %>%
@@ -91,7 +91,7 @@ test_that("Passed RS_FromArcInfoAsciiGrid from binary", {
9191
test_that("Passed RS_Envelope with raster", {
9292
## Load
9393
sdf_name <- random_string("spatial_sdf")
94-
binary_sdf <- spark_read_binary(sc, dir = test_data("raster/test1.tiff"), name = sdf_name)
94+
binary_sdf <- spark_read_binary(sc, dir = test_data("raster"), name = sdf_name)
9595

9696
raster_sdf <-
9797
binary_sdf %>%
@@ -182,7 +182,7 @@ test_that("Passed RS_Value with raster", {
182182
test_that("Passed RS_Values with raster", {
183183
## Load
184184
sdf_name <- random_string("spatial_sdf")
185-
binary_sdf <- spark_read_binary(sc, dir = test_data("raster/test1.tiff"), name = sdf_name)
185+
binary_sdf <- spark_read_binary(sc, dir = test_data("raster"), name = sdf_name)
186186

187187
a <-
188188
binary_sdf %>%

common/src/main/java/org/apache/sedona/common/FunctionsGeoTools.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
package org.apache.sedona.common;
2020

2121
import java.util.Set;
22+
import org.geotools.api.referencing.FactoryException;
23+
import org.geotools.api.referencing.NoSuchAuthorityCodeException;
24+
import org.geotools.api.referencing.ReferenceIdentifier;
25+
import org.geotools.api.referencing.crs.CoordinateReferenceSystem;
26+
import org.geotools.api.referencing.operation.MathTransform;
27+
import org.geotools.api.referencing.operation.TransformException;
2228
import org.geotools.geometry.jts.JTS;
2329
import org.geotools.referencing.CRS;
2430
import org.geotools.referencing.ReferencingFactoryFinder;
@@ -28,12 +34,6 @@
2834
import org.locationtech.jts.operation.buffer.BufferOp;
2935
import org.locationtech.jts.operation.buffer.BufferParameters;
3036
import org.locationtech.jts.triangulate.VoronoiDiagramBuilder;
31-
import org.opengis.referencing.FactoryException;
32-
import org.opengis.referencing.NoSuchAuthorityCodeException;
33-
import org.opengis.referencing.ReferenceIdentifier;
34-
import org.opengis.referencing.crs.CoordinateReferenceSystem;
35-
import org.opengis.referencing.operation.MathTransform;
36-
import org.opengis.referencing.operation.TransformException;
3737

3838
public class FunctionsGeoTools {
3939

@@ -202,8 +202,6 @@ public static Geometry bufferSpheroid(Geometry geometry, double radius, BufferPa
202202
if (Functions.crossesDateLine(geometry)) {
203203
Functions.shiftLongitude(geometry);
204204
}
205-
// geometry = (Predicates.crossesDateLine(geometry)) ? Functions.shiftLongitude(geometry)
206-
// : geometry;
207205

208206
// If originalCRS is not set, use WGS84 as the originalCRS for transformation
209207
String sourceCRSCode = (originalCRS == 0) ? "EPSG:" + WGS84CRS : "EPSG:" + originalCRS;

common/src/main/java/org/apache/sedona/common/raster/GeometryFunctions.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020

2121
import java.awt.geom.Point2D;
2222
import org.apache.sedona.common.utils.RasterUtils;
23+
import org.geotools.api.referencing.FactoryException;
24+
import org.geotools.api.referencing.operation.TransformException;
2325
import org.geotools.coverage.grid.GridCoordinates2D;
2426
import org.geotools.coverage.grid.GridCoverage2D;
25-
import org.geotools.geometry.Envelope2D;
27+
import org.geotools.geometry.jts.ReferencedEnvelope;
2628
import org.locationtech.jts.geom.*;
27-
import org.opengis.referencing.FactoryException;
28-
import org.opengis.referencing.operation.TransformException;
2929

3030
public class GeometryFunctions {
3131

@@ -140,7 +140,7 @@ public static void ensureSafeBand(GridCoverage2D raster, int band)
140140
}
141141

142142
public static Geometry envelope(GridCoverage2D raster) throws FactoryException {
143-
Envelope2D envelope2D = raster.getEnvelope2D();
143+
ReferencedEnvelope envelope2D = raster.getEnvelope2D();
144144

145145
Envelope envelope =
146146
new Envelope(

common/src/main/java/org/apache/sedona/common/raster/PixelFunctionEditors.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
import javax.media.jai.RasterFactory;
2626
import org.apache.commons.lang3.tuple.Pair;
2727
import org.apache.sedona.common.utils.RasterUtils;
28+
import org.geotools.api.referencing.FactoryException;
29+
import org.geotools.api.referencing.operation.TransformException;
2830
import org.geotools.coverage.grid.GridCoverage2D;
2931
import org.locationtech.jts.geom.Geometry;
30-
import org.opengis.referencing.FactoryException;
31-
import org.opengis.referencing.operation.TransformException;
3232

3333
public class PixelFunctionEditors {
3434

common/src/main/java/org/apache/sedona/common/raster/PixelFunctions.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@
2525
import java.util.List;
2626
import org.apache.commons.lang3.tuple.Pair;
2727
import org.apache.sedona.common.utils.RasterUtils;
28+
import org.geotools.api.coverage.PointOutsideCoverageException;
29+
import org.geotools.api.geometry.Position;
30+
import org.geotools.api.referencing.FactoryException;
31+
import org.geotools.api.referencing.operation.TransformException;
2832
import org.geotools.coverage.grid.GridCoordinates2D;
2933
import org.geotools.coverage.grid.GridCoverage2D;
30-
import org.geotools.geometry.DirectPosition2D;
34+
import org.geotools.geometry.Position2D;
3135
import org.geotools.referencing.operation.transform.AffineTransform2D;
3236
import org.locationtech.jts.geom.*;
33-
import org.opengis.coverage.PointOutsideCoverageException;
34-
import org.opengis.geometry.DirectPosition;
35-
import org.opengis.referencing.FactoryException;
36-
import org.opengis.referencing.operation.TransformException;
3737

3838
public class PixelFunctions {
3939
private static GeometryFactory GEOMETRY_FACTORY = new GeometryFactory();
@@ -289,7 +289,7 @@ public static List<Double> values(GridCoverage2D rasterGeom, List<Geometry> geom
289289
result.add(null);
290290
} else {
291291
Point point = ensurePoint(geom);
292-
DirectPosition directPosition2D = new DirectPosition2D(point.getX(), point.getY());
292+
Position directPosition2D = new Position2D(point.getX(), point.getY());
293293
try {
294294
rasterGeom.evaluate(directPosition2D, pixelBuffer);
295295
double pixel = pixelBuffer[band - 1];

common/src/main/java/org/apache/sedona/common/raster/RasterAccessors.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
import java.util.Arrays;
2424
import java.util.Set;
2525
import org.apache.sedona.common.utils.RasterUtils;
26+
import org.geotools.api.referencing.FactoryException;
27+
import org.geotools.api.referencing.ReferenceIdentifier;
28+
import org.geotools.api.referencing.crs.CoordinateReferenceSystem;
29+
import org.geotools.api.referencing.operation.TransformException;
2630
import org.geotools.coverage.grid.GridCoverage2D;
2731
import org.geotools.coverage.grid.GridEnvelope2D;
2832
import org.geotools.referencing.crs.DefaultEngineeringCRS;
@@ -31,10 +35,6 @@
3135
import org.locationtech.jts.geom.Geometry;
3236
import org.locationtech.jts.geom.GeometryFactory;
3337
import org.locationtech.jts.geom.Point;
34-
import org.opengis.referencing.FactoryException;
35-
import org.opengis.referencing.ReferenceIdentifier;
36-
import org.opengis.referencing.crs.CoordinateReferenceSystem;
37-
import org.opengis.referencing.operation.TransformException;
3838

3939
public class RasterAccessors {
4040
public static int srid(GridCoverage2D raster) throws FactoryException {

common/src/main/java/org/apache/sedona/common/raster/RasterBandAccessors.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@
3030
import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;
3131
import org.apache.sedona.common.Functions;
3232
import org.apache.sedona.common.utils.RasterUtils;
33+
import org.geotools.api.referencing.FactoryException;
3334
import org.geotools.coverage.GridSampleDimension;
3435
import org.geotools.coverage.grid.GridCoverage2D;
3536
import org.locationtech.jts.geom.Geometry;
36-
import org.opengis.referencing.FactoryException;
3737

3838
public class RasterBandAccessors {
3939

common/src/main/java/org/apache/sedona/common/raster/RasterBandEditors.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@
2727
import org.apache.commons.lang3.ArrayUtils;
2828
import org.apache.commons.lang3.tuple.Pair;
2929
import org.apache.sedona.common.utils.RasterUtils;
30+
import org.geotools.api.geometry.BoundingBox;
31+
import org.geotools.api.parameter.ParameterValueGroup;
32+
import org.geotools.api.referencing.FactoryException;
33+
import org.geotools.api.referencing.operation.TransformException;
3034
import org.geotools.coverage.GridSampleDimension;
3135
import org.geotools.coverage.grid.GridCoverage2D;
3236
import org.geotools.coverage.processing.CannotCropException;
3337
import org.geotools.coverage.processing.operation.Crop;
34-
import org.geotools.geometry.Envelope2D;
3538
import org.geotools.geometry.jts.JTS;
39+
import org.geotools.geometry.jts.ReferencedEnvelope;
3640
import org.locationtech.jts.geom.Geometry;
37-
import org.opengis.geometry.BoundingBox;
38-
import org.opengis.parameter.ParameterValueGroup;
39-
import org.opengis.referencing.FactoryException;
40-
import org.opengis.referencing.operation.TransformException;
4141

4242
public class RasterBandEditors {
4343
/**
@@ -303,7 +303,7 @@ public static GridCoverage2D clip(
303303

304304
// Use rasterizeGeomExtent for AOI geometries smaller than a pixel
305305
double[] metadata = RasterAccessors.metadata(singleBandRaster);
306-
Envelope2D geomEnvelope =
306+
ReferencedEnvelope geomEnvelope =
307307
Rasterization.rasterizeGeomExtent(geometry, singleBandRaster, metadata, allTouched);
308308
Geometry geomExtent = JTS.toGeometry((BoundingBox) geomEnvelope);
309309

common/src/main/java/org/apache/sedona/common/raster/RasterConstructors.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@
3232
import org.apache.sedona.common.raster.netcdf.NetCdfReader;
3333
import org.apache.sedona.common.utils.ImageUtils;
3434
import org.apache.sedona.common.utils.RasterUtils;
35+
import org.geotools.api.feature.simple.SimpleFeature;
36+
import org.geotools.api.feature.simple.SimpleFeatureType;
37+
import org.geotools.api.metadata.spatial.PixelOrientation;
38+
import org.geotools.api.referencing.FactoryException;
39+
import org.geotools.api.referencing.crs.CoordinateReferenceSystem;
40+
import org.geotools.api.referencing.datum.PixelInCell;
41+
import org.geotools.api.referencing.operation.MathTransform;
3542
import org.geotools.coverage.GridSampleDimension;
3643
import org.geotools.coverage.grid.GridCoverage2D;
3744
import org.geotools.coverage.grid.GridEnvelope2D;
@@ -46,13 +53,6 @@
4653
import org.geotools.referencing.operation.transform.AffineTransform2D;
4754
import org.geotools.util.factory.Hints;
4855
import org.locationtech.jts.geom.Geometry;
49-
import org.opengis.feature.simple.SimpleFeature;
50-
import org.opengis.feature.simple.SimpleFeatureType;
51-
import org.opengis.metadata.spatial.PixelOrientation;
52-
import org.opengis.referencing.FactoryException;
53-
import org.opengis.referencing.crs.CoordinateReferenceSystem;
54-
import org.opengis.referencing.datum.PixelInCell;
55-
import org.opengis.referencing.operation.MathTransform;
5656
import ucar.nc2.NetcdfFile;
5757
import ucar.nc2.NetcdfFiles;
5858

0 commit comments

Comments
 (0)