From 9944bd11781e7cede8abdf00bf3820b03d009b0b Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Tue, 8 Aug 2023 19:09:11 -0400 Subject: [PATCH 01/11] Refactor AddBandAsArray to expose adding a custom noDataValue --- .../sedona/common/raster/MapAlgebra.java | 38 +++++++++++++++++-- .../sedona/common/raster/MapAlgebraTest.java | 23 ++++++++++- docs/api/sql/Raster-operators.md | 10 ++++- .../expressions/raster/MapAlgebra.scala | 2 +- .../apache/sedona/sql/rasteralgebraTest.scala | 20 +++++++++- 5 files changed, 84 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java b/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java index 98a77204fc..2c5d9beead 100644 --- a/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java +++ b/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java @@ -19,11 +19,15 @@ package org.apache.sedona.common.raster; import org.apache.sedona.common.utils.RasterUtils; +import org.geotools.coverage.Category; import org.geotools.coverage.GridSampleDimension; import org.geotools.coverage.grid.GridCoverage2D; +import org.geotools.metadata.i18n.Vocabulary; +import org.geotools.metadata.i18n.VocabularyKeys; +import org.geotools.util.NumberRange; import javax.media.jai.RasterFactory; -import java.awt.Point; +import java.awt.*; import java.awt.image.Raster; import java.awt.image.RenderedImage; import java.awt.image.WritableRaster; @@ -68,6 +72,21 @@ public static double[] bandAsArray(GridCoverage2D rasterGeom, int bandIndex) { * @param bandIndex starts at 1, and no larger than numBands + 1 * @return */ + public static GridCoverage2D addBandFromArray(GridCoverage2D rasterGeom, double[] bandValues, int bandIndex, double noDataValue) { + int numBands = rasterGeom.getNumSampleDimensions(); + // Allow the band index to be one larger than the number of bands, which will append the band to the end + if (bandIndex < 1 || bandIndex > numBands + 1) { + throw new IllegalArgumentException("Band index is out of bounds. Must be between 1 and " + (numBands + 1) + ")"); + } + + if (bandIndex == numBands + 1) { + return copyRasterAndAppendBand(rasterGeom, bandValues, noDataValue); + } + else { + return copyRasterAndReplaceBand(rasterGeom, bandIndex, bandValues); + } + } + public static GridCoverage2D addBandFromArray(GridCoverage2D rasterGeom, double[] bandValues, int bandIndex) { int numBands = rasterGeom.getNumSampleDimensions(); // Allow the band index to be one larger than the number of bands, which will append the band to the end @@ -101,7 +120,7 @@ public static GridCoverage2D addBandFromArray(GridCoverage2D rasterGeom, double[ * @param bandValues * @return */ - private static GridCoverage2D copyRasterAndAppendBand(GridCoverage2D gridCoverage2D, double[] bandValues) { + private static GridCoverage2D copyRasterAndAppendBand(GridCoverage2D gridCoverage2D, double[] bandValues, Double noDataValue) { // Get the original image and its properties RenderedImage originalImage = gridCoverage2D.getRenderedImage(); Raster raster = originalImage.getData(); @@ -122,11 +141,24 @@ private static GridCoverage2D copyRasterAndAppendBand(GridCoverage2D gridCoverag GridSampleDimension[] originalSampleDimensions = gridCoverage2D.getSampleDimensions(); GridSampleDimension[] sampleDimensions = new GridSampleDimension[numBand]; System.arraycopy(originalSampleDimensions, 0, sampleDimensions, 0, originalSampleDimensions.length); - sampleDimensions[numBand - 1] = new GridSampleDimension("band" + numBand); + if (noDataValue != null) { + Category noDataCategory = new Category( + Category.NODATA.getName(), + new Color[] {new Color(0, 0, 0, 0)}, + NumberRange.create(noDataValue, noDataValue)); + Category[] categories = new Category[] {noDataCategory}; + sampleDimensions[numBand - 1] = new GridSampleDimension("band" + numBand, categories, null); + }else { + sampleDimensions[numBand - 1] = new GridSampleDimension("band" + numBand); + } // Construct a GridCoverage2D with the copied image. return RasterUtils.create(wr, gridCoverage2D.getGridGeometry(), sampleDimensions); } + private static GridCoverage2D copyRasterAndAppendBand(GridCoverage2D gridCoverage2D, double[] bandValues) { + return copyRasterAndAppendBand(gridCoverage2D, bandValues, null); + } + private static GridCoverage2D copyRasterAndReplaceBand(GridCoverage2D gridCoverage2D, int bandIndex, double[] bandValues) { // Do not allow the band index to be out of bounds if (bandIndex < 1 || bandIndex > gridCoverage2D.getNumSampleDimensions()) { diff --git a/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java b/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java index 7850d74a96..a853ecca71 100644 --- a/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java +++ b/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java @@ -39,8 +39,10 @@ public void testAddBandAsArrayAppend() band1[i] = i; } double[] band2 = new double[raster.getRenderedImage().getWidth() * raster.getRenderedImage().getHeight()]; + double[] band3 = new double[raster.getRenderedImage().getWidth() * raster.getRenderedImage().getHeight()]; for (int i = 0; i < band2.length; i++) { band2[i] = i * 2; + band3[i] = i * 3; } // Replace the first band GridCoverage2D rasterWithBand1 = MapAlgebra.addBandFromArray(raster, band1, 1); @@ -49,12 +51,21 @@ public void testAddBandAsArrayAppend() assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand1)); - // Append a new band + // Append a new band with default noDataValue GridCoverage2D rasterWithBand2 = MapAlgebra.addBandFromArray(rasterWithBand1, band2); assertEquals(2, RasterAccessors.numBands(rasterWithBand2)); assertEquals(raster.getEnvelope(), rasterWithBand2.getEnvelope()); assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand2.getCoordinateReferenceSystem2D()); assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand2)); + assertNull(rasterWithBand2.getSampleDimension(1).getNoDataValues()); + + // Append a new band with custom noDataValue + GridCoverage2D rasterWithBand3 = MapAlgebra.addBandFromArray(rasterWithBand2, band3, 3, 2); + assertEquals(3, RasterAccessors.numBands(rasterWithBand3)); + assertEquals(raster.getEnvelope(), rasterWithBand3.getEnvelope()); + assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand3.getCoordinateReferenceSystem2D()); + assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand3)); + assertEquals(2, rasterWithBand3.getSampleDimension(2).getNoDataValues()[0], 1e-9); // Check the value of the first band when use the raster with only one band double[] firstBand = MapAlgebra.bandAsArray(rasterWithBand1, 1); @@ -62,7 +73,9 @@ public void testAddBandAsArrayAppend() assertEquals(i, firstBand[i], 0.1); } // Check the value of the first band when use the raster with two bands - firstBand = MapAlgebra.bandAsArray(rasterWithBand2, 1); + + //Check the value of the first band when use the raster with three bands + firstBand = MapAlgebra.bandAsArray(rasterWithBand3, 1); for (int i = 0; i < firstBand.length; i++) { assertEquals(i, firstBand[i], 0.1); } @@ -71,6 +84,12 @@ public void testAddBandAsArrayAppend() for (int i = 0; i < secondBand.length; i++) { assertEquals(i * 2, secondBand[i], 0.1); } + + // Check the value of the third band + double[] thirdBand = MapAlgebra.bandAsArray(rasterWithBand3, 3); + for (int i = 0; i < secondBand.length; i++) { + assertEquals(i * 3, thirdBand[i], 0.1); + } } @Test diff --git a/docs/api/sql/Raster-operators.md b/docs/api/sql/Raster-operators.md index f669d041cd..8a80aed73a 100644 --- a/docs/api/sql/Raster-operators.md +++ b/docs/api/sql/Raster-operators.md @@ -483,20 +483,26 @@ Output: Introduction: Add a band to a raster from an array of doubles. -Format: `RS_AddBandFromArray (raster: Raster, band: Array[Double], bandIndex:Int)`. +Format: `RS_AddBandFromArray (raster: Raster, band: Array[Double])` | `RS_AddBandFromArray (raster: Raster, band: Array[Double], bandIndex:Int)` | `RS_AddBandFromArray (raster: Raster, band: Array[Double], bandIndex:Int, noDataValue:Double)` Since: `v1.4.1` -The bandIndex is 1-based and must be between 1 and RS_NumBands(raster) + 1. It throws an exception if the bandIndex is out of range or the raster is null. +The bandIndex is 1-based and must be between 1 and RS_NumBands(raster) + 1. It throws an exception if the bandIndex is out of range or the raster is null. If not specified, the noDataValue of the band is assumed to be null. When the bandIndex is RS_NumBands(raster) + 1, it appends the band to the end of the raster. Otherwise, it replaces the existing band at the bandIndex. +If the bandIndex and noDataValue is not given, a convenience implementation adds a new band with a null noDataValue. + +Adding a new band with a custom noDataValue requires bandIndex = RS_NumBands(raster) + 1 and non-null noDataValue to be explicitly specified. Modifying the noDataValue of an existing band is not supported. + Note that: `bandIndex == RS_NumBands(raster) + 1` is an experimental feature and might not lead to the loss of raster metadata and properties such as color models. SQL example: ```sql +SELECT RS_AddBandFromArray(raster, RS_MultiplyFactor(RS_BandAsArray(RS_FromGeoTiff(content), 1), 2)) AS raster FROM raster_table SELECT RS_AddBandFromArray(raster, RS_MultiplyFactor(RS_BandAsArray(RS_FromGeoTiff(content), 1), 2), 1) AS raster FROM raster_table +SELECT RS_AddBandFromArray(raster, RS_MultiplyFactor(RS_BandAsArray(RS_FromGeoTiff(content), 1), 2), 1, -999) AS raster FROM raster_table ``` Output: diff --git a/sql/common/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/raster/MapAlgebra.scala b/sql/common/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/raster/MapAlgebra.scala index a56954e3bd..438df4289d 100644 --- a/sql/common/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/raster/MapAlgebra.scala +++ b/sql/common/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/raster/MapAlgebra.scala @@ -805,7 +805,7 @@ case class RS_Append(inputExpressions: Seq[Expression]) } case class RS_AddBandFromArray(inputExpressions: Seq[Expression]) - extends InferredExpression(inferrableFunction3(MapAlgebra.addBandFromArray)) { + extends InferredExpression(inferrableFunction3(MapAlgebra.addBandFromArray), inferrableFunction4(MapAlgebra.addBandFromArray), inferrableFunction2(MapAlgebra.addBandFromArray)) { protected def withNewChildrenInternal(newChildren: IndexedSeq[Expression]) = { copy(inputExpressions = newChildren) } diff --git a/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala b/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala index 86324230aa..3158ba91a6 100644 --- a/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala +++ b/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala @@ -460,7 +460,7 @@ class rasteralgebraTest extends TestBaseScala with BeforeAndAfter with GivenWhen assertEquals(true, resultOutOfBound) } - it("Passed RS_AddBandFromArray") { + it("Passed RS_AddBandFromArray - 3 parameters [default no data value]") { var df = sparkSession.read.format("binaryFile").load(resourceFolder + "raster/test1.tiff") df = df.selectExpr("RS_FromGeoTiff(content) as raster", "RS_MultiplyFactor(RS_BandAsArray(RS_FromGeoTiff(content), 1), 2) as band") val bandNewExpected:Seq[Double] = df.selectExpr("band").first().getSeq(0) @@ -475,6 +475,24 @@ class rasteralgebraTest extends TestBaseScala with BeforeAndAfter with GivenWhen } } + it("Passed RS_AddBandFromArray - adding a new band with 2 parameter convenience function") { + var df = sparkSession.read.format("binaryFile").load(resourceFolder + "raster/test1.tiff") + df = df.selectExpr("RS_FromGeoTiff(content) as raster", "RS_MultiplyFactor(RS_BandAsArray(RS_FromGeoTiff(content), 1), 2) as band") + val bandNewExpected: Seq[Double] = df.selectExpr("band").first().getSeq(0) + val bandNewActual: Seq[Double] = df.selectExpr("RS_BandAsArray(RS_AddBandFromArray(raster, band), 2)").first().getSeq(0) + for (i <- bandNewExpected.indices) { + // The band value needs to be mod 256 because the ColorModel will mod 256. + assertEquals(bandNewExpected(i) % 256, bandNewActual(i), 0.001) + } + } + + it("Passed RS_AddBandFromArray - adding a new band with a custom no data value]") { + var df = sparkSession.read.format("binaryFile").load(resourceFolder + "raster/test1.tiff") + df = df.selectExpr("RS_FromGeoTiff(content) as raster", "RS_MultiplyFactor(RS_BandAsArray(RS_FromGeoTiff(content), 1), 2) as band") + val raster = df.selectExpr("RS_AddBandFromArray(raster, band, 2, 2)").first().getAs[GridCoverage2D](0); + assertEquals(2, raster.getSampleDimension(1).getNoDataValues()(0), 1e-9) + } + it("Passed RS_Intersects") { val df = sparkSession.read.format("binaryFile").load(resourceFolder + "raster/test1.tiff") .selectExpr("path", "RS_FromGeoTiff(content) as raster") From 44c212902fae43a2aea7042d8c5256fa70b1189d Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 15:37:16 -0400 Subject: [PATCH 02/11] Refactor RS_AddBandFromArray to allow adding, editing and removing noDataValues from bands --- .../sedona/common/raster/MapAlgebra.java | 89 +++++++++++++++++-- .../sedona/common/raster/MapAlgebraTest.java | 26 +++++- 2 files changed, 108 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java b/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java index 2c5d9beead..c2044ad3e7 100644 --- a/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java +++ b/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java @@ -22,15 +22,16 @@ import org.geotools.coverage.Category; import org.geotools.coverage.GridSampleDimension; import org.geotools.coverage.grid.GridCoverage2D; -import org.geotools.metadata.i18n.Vocabulary; -import org.geotools.metadata.i18n.VocabularyKeys; import org.geotools.util.NumberRange; +import org.opengis.util.InternationalString; import javax.media.jai.RasterFactory; import java.awt.*; import java.awt.image.Raster; import java.awt.image.RenderedImage; import java.awt.image.WritableRaster; +import java.util.ArrayList; +import java.util.List; public class MapAlgebra { @@ -72,7 +73,7 @@ public static double[] bandAsArray(GridCoverage2D rasterGeom, int bandIndex) { * @param bandIndex starts at 1, and no larger than numBands + 1 * @return */ - public static GridCoverage2D addBandFromArray(GridCoverage2D rasterGeom, double[] bandValues, int bandIndex, double noDataValue) { + public static GridCoverage2D addBandFromArray(GridCoverage2D rasterGeom, double[] bandValues, int bandIndex, Double noDataValue) { int numBands = rasterGeom.getNumSampleDimensions(); // Allow the band index to be one larger than the number of bands, which will append the band to the end if (bandIndex < 1 || bandIndex > numBands + 1) { @@ -83,7 +84,7 @@ public static GridCoverage2D addBandFromArray(GridCoverage2D rasterGeom, double[ return copyRasterAndAppendBand(rasterGeom, bandValues, noDataValue); } else { - return copyRasterAndReplaceBand(rasterGeom, bandIndex, bandValues); + return copyRasterAndReplaceBand(rasterGeom, bandIndex, bandValues, noDataValue, true); } } @@ -159,7 +160,7 @@ private static GridCoverage2D copyRasterAndAppendBand(GridCoverage2D gridCoverag return copyRasterAndAppendBand(gridCoverage2D, bandValues, null); } - private static GridCoverage2D copyRasterAndReplaceBand(GridCoverage2D gridCoverage2D, int bandIndex, double[] bandValues) { + private static GridCoverage2D copyRasterAndReplaceBand(GridCoverage2D gridCoverage2D, int bandIndex, double[] bandValues, Double noDataValue, boolean removeNoDataIfNull) { // Do not allow the band index to be out of bounds if (bandIndex < 1 || bandIndex > gridCoverage2D.getNumSampleDimensions()) { throw new IllegalArgumentException("Band index is out of bounds. Must be between 1 and " + gridCoverage2D.getNumSampleDimensions() + ")"); @@ -176,7 +177,83 @@ private static GridCoverage2D copyRasterAndReplaceBand(GridCoverage2D gridCovera wr.setPixel(i, j, bands); } } + GridSampleDimension[] originalSampleDimensions = gridCoverage2D.getSampleDimensions(); + GridSampleDimension originalBandDimension = originalSampleDimensions[bandIndex - 1]; + List categories = (originalBandDimension.getCategories()); + InternationalString defaultBandName = gridCoverage2D.getName(); + Category defaultCategory = containsDefaultBand(categories, defaultBandName); + InternationalString bandToReplace = defaultCategory != null ? defaultBandName : null; + List newCategories = new ArrayList<>(); + if (noDataValue == null && removeNoDataIfNull) { + if (originalBandDimension.getNoDataValues() != null) { + // remove noDataCategory + newCategories = createCategoryDeepCopy(categories, null, false, bandToReplace); + } + }else if (noDataValue != null) { + if (originalBandDimension.getNoDataValues() == null) { + // set a new noDataValue + newCategories = createCategoryDeepCopy(categories, noDataValue, true, bandToReplace); + }else { + double originalNoDataValue = originalBandDimension.getNoDataValues()[0]; + if (originalNoDataValue != noDataValue) { + //change noDataValue here + newCategories = createCategoryDeepCopy(categories, noDataValue, false, bandToReplace); + } + } + } + // Create a new GridCoverage2D with the copied image - return RasterUtils.create(wr, gridCoverage2D.getGridGeometry(), gridCoverage2D.getSampleDimensions()); + if (!newCategories.isEmpty()) { + //create band with new categories altogether, no need to add default category + Category[] categoryArray = new Category[newCategories.size()]; + categoryArray = newCategories.toArray(categoryArray); + originalSampleDimensions[bandIndex - 1] = new GridSampleDimension(originalBandDimension.getDescription(), categoryArray, null); + return RasterUtils.create(wr, gridCoverage2D.getGridGeometry(), originalSampleDimensions); + }else { + //Have to add default category + if (defaultCategory != null) { + //previous default category available, reuse it + originalSampleDimensions[bandIndex - 1] = new GridSampleDimension(originalBandDimension.getDescription(), new Category[]{defaultCategory}, null); + return RasterUtils.create(wr, gridCoverage2D.getGridGeometry(), originalSampleDimensions); + }else { + //default category not available, enforce its creation + return RasterUtils.create(wr, gridCoverage2D.getGridGeometry(), null); + } + } + } + + private static GridCoverage2D copyRasterAndReplaceBand(GridCoverage2D gridCoverage2D, int bandIndex, double[] bandValues) { + return copyRasterAndReplaceBand(gridCoverage2D, bandIndex, bandValues, null, false); + } + + private static Category containsDefaultBand(List categoryNames, InternationalString defaultBandName) { + for (Category category: categoryNames) { + if (category.getName().equals(defaultBandName)) return category; + } + return null; + } + + private static List createCategoryDeepCopy(List categories, Double noDataValue, boolean addNoData, InternationalString defaultBandName) { + List newCategories = new ArrayList<>(); + int categoryLen = categories.size(); + for (int i = 0; i < categoryLen; i++) { + Category originalCategory = categories.get(i); + Category newCategory; + if (originalCategory.getName().equals(Category.NODATA.getName())) { + if (noDataValue == null) continue; + newCategory = new Category(originalCategory.getName(), originalCategory.getColors(), NumberRange.create(noDataValue, noDataValue)); + }else { + if (defaultBandName != null && originalCategory.getName().equals(defaultBandName)) continue; //we do not need the default band if we're adding a custom band. Default band range can mess with newly added band range + newCategory = new Category(originalCategory.getName(), originalCategory.getColors(), originalCategory.getRange()); + } + newCategories.add(newCategory); + } + if (addNoData) { + newCategories.add(new Category( + Category.NODATA.getName(), + new Color[] {new Color(0, 0, 0, 0)}, + NumberRange.create(noDataValue, noDataValue))); + } + return newCategories; } } diff --git a/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java b/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java index a853ecca71..cebc9825f1 100644 --- a/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java +++ b/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java @@ -51,6 +51,30 @@ public void testAddBandAsArrayAppend() assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand1)); + //replace the first band with a customNoDataValue + rasterWithBand1 = MapAlgebra.addBandFromArray(raster, band1, 1, -999d); + assertEquals(1, RasterAccessors.numBands(rasterWithBand1)); + assertEquals(raster.getEnvelope(), rasterWithBand1.getEnvelope()); + assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); + assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand1)); + assertEquals(-999, rasterWithBand1.getSampleDimension(0).getNoDataValues()[0], 1e-9); + + //replace first band with a different customNoDataValue + rasterWithBand1 = MapAlgebra.addBandFromArray(raster, band1, 1, -9999d); + assertEquals(1, RasterAccessors.numBands(rasterWithBand1)); + assertEquals(raster.getEnvelope(), rasterWithBand1.getEnvelope()); + assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); + assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand1)); + assertEquals(-9999, rasterWithBand1.getSampleDimension(0).getNoDataValues()[0], 1e-9); + + //remove noDataValue from the first band + rasterWithBand1 = MapAlgebra.addBandFromArray(raster, band1, 1, null); + assertEquals(1, RasterAccessors.numBands(rasterWithBand1)); + assertEquals(raster.getEnvelope(), rasterWithBand1.getEnvelope()); + assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); + assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand1)); + assertNull(rasterWithBand1.getSampleDimension(0).getNoDataValues()); + // Append a new band with default noDataValue GridCoverage2D rasterWithBand2 = MapAlgebra.addBandFromArray(rasterWithBand1, band2); assertEquals(2, RasterAccessors.numBands(rasterWithBand2)); @@ -60,7 +84,7 @@ public void testAddBandAsArrayAppend() assertNull(rasterWithBand2.getSampleDimension(1).getNoDataValues()); // Append a new band with custom noDataValue - GridCoverage2D rasterWithBand3 = MapAlgebra.addBandFromArray(rasterWithBand2, band3, 3, 2); + GridCoverage2D rasterWithBand3 = MapAlgebra.addBandFromArray(rasterWithBand2, band3, 3, 2d); assertEquals(3, RasterAccessors.numBands(rasterWithBand3)); assertEquals(raster.getEnvelope(), rasterWithBand3.getEnvelope()); assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand3.getCoordinateReferenceSystem2D()); From ed15df5ade884b968799fd270e765b438ab6804e Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 15:37:34 -0400 Subject: [PATCH 03/11] Added a new raster tiff with noDataValues --- LICENSE | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 32b184a159..0d7915a333 100644 --- a/LICENSE +++ b/LICENSE @@ -246,4 +246,9 @@ core/src/test/resources/primaryroads-linestring.csv core/src/test/resources/primaryroads-polygon.csv core/src/test/resources/primaryroads.csv core/src/test/resources/zcta510-small.csv -core/src/test/resources/zcta510.csv \ No newline at end of file +core/src/test/resources/zcta510.csv + + +MOD11C2 v006 from NASA +--------------- +core/src/test/resources/raster/test5.TIFF \ No newline at end of file From 132a32150d26a70944a6d11a76cceaa17e173936 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 15:37:59 -0400 Subject: [PATCH 04/11] Slightly change test since there are multiple rasters inside raster folder now --- .../test/scala/org/apache/sedona/sql/rasteralgebraTest.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala b/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala index 3158ba91a6..bef4fb2a93 100644 --- a/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala +++ b/sql/common/src/test/scala/org/apache/sedona/sql/rasteralgebraTest.scala @@ -361,7 +361,7 @@ class rasteralgebraTest extends TestBaseScala with BeforeAndAfter with GivenWhen } it("Passed RS_AsGeoTiff") { - val df = sparkSession.read.format("binaryFile").load(resourceFolder + "raster/*") + val df = sparkSession.read.format("binaryFile").load(resourceFolder + "raster/test1.tiff") val resultRaw = df.selectExpr("RS_FromGeoTiff(content) as raster").first().get(0) val resultLoaded = df.selectExpr("RS_FromGeoTiff(content) as raster") .selectExpr("RS_AsGeoTiff(raster) as geotiff") From 316795248cbe2fd6c0a40b828c52db7c13ff206b Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 15:42:40 -0400 Subject: [PATCH 05/11] Fix mistake --- .../src/test/scala/org/apache/sedona/sql/TestBaseScala.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala b/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala index 46978a2120..db493fb09d 100644 --- a/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala +++ b/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala @@ -42,7 +42,7 @@ trait TestBaseScala extends FunSpec with BeforeAndAfterAll { .config("sedona.join.autoBroadcastJoinThreshold", "-1") .getOrCreate() - val resourceFolder = System.getProperty("user.dir") + "/../../core/src/test/resources/" + val resourceFolder = System.getProperty("user.dir") + "/core/src/test/resources/" val mixedWkbGeometryInputLocation = resourceFolder + "county_small_wkb.tsv" val mixedWktGeometryInputLocation = resourceFolder + "county_small.tsv" val shapefileInputLocation = resourceFolder + "shapefiles/dbf" From d93f6b7d5480cb2a4e88916461f77c83e75e2f00 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 15:44:00 -0400 Subject: [PATCH 06/11] Add acutal tiff image --- core/src/test/resources/raster/test5.TIFF | Bin 0 -> 209199 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 core/src/test/resources/raster/test5.TIFF diff --git a/core/src/test/resources/raster/test5.TIFF b/core/src/test/resources/raster/test5.TIFF new file mode 100644 index 0000000000000000000000000000000000000000..6caabeadae31129afc2c4309348c5ff6a10d0d24 GIT binary patch literal 209199 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%0Atgo%8#hO=#u+x?>JuL24tbkP8qq*wI$ ziRhj%iH(r%E_^j!y(TCup;ox)J=6|}+daK&4!|Hjz+2Bqz8k3g1|wX@h+P2b)n)#_ z9ToYLrBqyScIT1Duv=Y*@`^J-D}_i4w#-M!v%C0#bHWM{XY|NLwO`(-n8- z?KK-=E(aIwL5`)M-=?nGO+@yt5c>msXIQ!uO!!hn@DY(iqseop(>Zbz@-@ezo+xAO@jvwwyB#oM4P$0pO*Z*?&`hv?~Mc8_WV)+o*8Gt zUXJ3npNyS?TTh^wZTXAA1voT1>34dT*I3c$0EQW~m{EoSaU4=}41Ev)yaRcN& z9>%K+-GhW{3}@1_F)TsR&qSEYT^M?)fbSd!@gggHg=!y5ME9xfJBr1U(kzyN?B`i5 zC2a~{GTFMK+0Z2Fg-Pg{Cs|>uKk04s{3m^#VRW&P&YxIw>-F<8j%YDh!vz5(dLTOh z#_$7Ld^PtS*so4{R8mOrEM`8i*_VBf`yPjo7x9FY#>z5+5Ox;<6IGV=3?G-}!}xv= zDx5*KjqR!1+mwDybDnkz7g(Ij8bJ|kk^%nY+YJ>}k^RJtpS^qDj#!;BH;dKNM%3k} zn3oz}m$ROvhrUL%q@B@A6Evco%;%%^B97+j!{?tUW$}*-g25eEwF|T$(eOz&96}eU z9Chg-=5foKvv2FcQLsB@LYBACDiU_lSlHrS=&w^pDX_QgJ`%wi^I_( zN9Ff;2&Il9vh&Vo61YLd`eYLl-A9;`AZBwv~inIZ-T#uWX~%B*LmgGO$VG>)zfE zlh&GY#J^)|JSnint{2L-9d(UpoZf16%dD&wnSLSn&q8#6W960sqXpPveo4AlW0)x2ZJMEOqXW*tBfc1 zS9a>A!Knu`i%=VdE( z7Nhqnzally%7>5bg>*MVY6sB5FdNu%+P>jKWtTtM!;9bxWBXvToQ1rb zmOHY9LsW@((&EsY+3vXAf+mY!Cq>L<{gcb$ha*w*9Rv@Xl1X;Sn)w-Z*90N`DYyvLPHT!b(wfm`fuA26BXD);f#+b=6EE*G0&-9pf>C z|5n0%ZVRiOMcSVnwlAC|RMdS@<)yok<0++57be*m5IYOh76O$C$YsF#9>Jj9Fja_} z7Yf_$wMyv{@yQ0o>;d}nrITUseJF|fKO5Q0_bA!7vRXt;zSZiM%m~P@V?h+o)>+>G zt5S9Yv1RB`lugm{hSJaf`>}#z6xKjOy!qioD5{`Yv%B{?=@qT8YAFBz@X@D_(mUfE z4eZwj?_^f4w29d=u==?)#ikZ9x0lF$d^oU1c{`=GTD{HP3{STrKKXNKSxwYjNIraq z7hr+6UDG>Mwm-;{V;d4*F}%*rU}ebIG`pMYSd5$vhKio{m29Z4W$Fc27WFQI`9|=Be+j z9V$eU7DNcMo;_%EtgLv)y^t}zpuHQ9Yjti|tG_uuAx3v-EF!8L{={+RH5jWWfP~^n zyd(v8v_l9&-Vc9tYC~W^(W{>CEXm;fw?HPGLhvdQ(%M2K^8y2JycJ~B1sft$x}XOM zM*=XQ>Z+4YD!I^=5K4Z$tb`_i>WV2dx)FdK%$i?@OOefc*Oe8{iK*hdEn$~FMZtp! z3JNAvA~G8aZCp_xVc!>R_wyn>Oz}F_+j6%)JYs0gdC=-D(j@Huwo2WiS9$$enjGcb ziM5rh;)7RJh^ARlx}np7ktD0tMp2UgN85Y0HMNERy6J=t=>f!qX6T_80TX(cPC$f& z-UUP#B1;npA@p8t2?7EFf+7Nni9dn9Yz}!vMYfS!MJ@z&pH(d$jomRV%~|j=E569RZ&RAXn>CjK0d_5ARIh(o zQqjy2lwY(@m7}^th%yfQ$Gi!)@}@xPA`Q~NAzSjjT1tx*ksOo128S-+tPl76=;hGg z<+%UJ7qRc@hik|0h5J{ZyGIMGhI-q0RBpVs_eO5C>AA?OrON0RgZo!4q&8gCY6sNZ zVlCvx7)oyt@l=u<5;CV@k5F?l`=`<+j$k1j!CW*g2AfY>6|Mb}--E zR-?JdA=rt|)L{+P$ul_Oh`+67e?X$R_j3!j{TAX&tNY<1s<*4oVTlii9lK|Y#FiJ`C)Y5TVBcE6CXUz3GxUx^cy;RXe$Ey|C3Ph49AYif z8r}ogGb&)pQCkg%W`8MwosUWm(^VmaF-*PSn3Qm~7f#qv8Uq}Yg=KWZn9HLRns z{B?l;C0ee*L(%{iv=UNCjnp1b=|*qDgCq?Sb;fBT=X%yb@nQSFA*~s*j8!|a4{*## zRjItKI0rtbqsk`b%Mp8>xP&jS9s4EN(6gQ!cv%SF-qV0QOx!OhpqAFb7K4=ap z8c;2NDJCoTiwQW<*@~Rczi3tkzXq|IKA~>Hze-9>nl2-7e-OHiuMuWds zKtWy0zH!|7bHeZ9>^Y3GYk!v171{wgAs%htUn@`TXXhK}5!h`|*>Ld|6TqJ-Hi<69 z$TAQchNnU-F>;@II%2D--2+n@>L*LFIT#VlJt@POwdS_jo)reC z%TKwQTaL{pIL}?lO;(>%2cNfl#H_ReDLHa0v^4AoX7|4CvB)-Vq%J1+Ry@_j zSC3_ZQw4+;4yR{IKo<9nOa^-}yiQh?H6hp7?)iLW^)X5zB3#Nv%o~RtbG9!B0&L(D zXZP5b6(QB=Zu#>b7zO&#s^cf_i3$4g!714?An$*;d_&^sydsZLkq75?CEjyX&{!5HbO7kVdO%Zlhu%-s8j?Jmw<&w==4pHS<284?>;)yGo8<>2T=^2bH~x=D_jp2d~r9)+D z0l>K)DxnbtPC0g-Jmiwkx7C53^G7$v9p#JqO~Kq_vc&dTu3(oa(|TH71+|}Ben8Pa zIMe;#@dIVH>Wb61$R+Y8VUfSiJ6-=)>kA4!fB%EgLH2At669}^E^kyk0EVcl5Z2(| zL-&0t^~SBk4;RU2>5WegVs54!Dl8t-%^fMm{49wo?1|J)-oB2O`9v#-DIn#-YfM#? z2I0&<1dw^WjPR4Q*mq-Pa63-^+|K?y${Q8w?F`dwnpeSx|G9X2XFUSw=dVW@JBRmhEaLel!_Ar}Pm^`5~{@4q9%sx<} zJg^?>&p5M|;Z$I-@7x%fE2l=Fi1B6iS{}Pa)rJGA|Q^W zlkN(t-)A6*dN!QkS9fQM^*Fg(;*c(G4Ny%aga1C=h+||8CboOC(%QxA-j?>gmFay@ zBEaknVLOKES;^MJerTX0itmRI8M2A4zlApPLLGU+r$Qh~PHqOlGL_etlZ(=t1iE8% z`&Ss@BCk1ex*$UcLK4l9WYX@&FTd5r{V^@KRKn#LgoW&i^nJ#C>s6llVF=j-=%o@1 zN#+pW*cWJ85*_@6PcCtq$rv$$PMTY&*vPkMTIilerEr&lCAeWWj**QOW?{E%-pY*p z(jThNi^jCIW6E0IHfCWicMZO-Ygk`GU!Fh{UD1iR(bPzUkb(x%ri9L@lGz<#lHv#M z-Z!lnq7RDUNM{-QT+u_c1jp;jA@~Zie4OgIxy81*{4nH}t?`r1wQu{1mf%xQE*E_T z2bYN1mn0P+S>{N25VABAIT`$0Xlm1T5S>FOzM7zyE8P2t#^^TUfdx1|6PKEJzb7S9 zg0Cn{#QM;7bo($#1L|#6KSlkT)MRYw(2fQLD?2KFWawF27pASsyK7W}6_0+~hvvHv zc`wQHZBb=|2&y5HVHr*N)xGmc-aP=>Lqi#KSg5sfw&y)#N=&v8zLATbh4en%G>?O9 zqz}%RCcpee&Rge@3v$-SwW=NS*f|bi<#O4q?3Sqxf`m45!3-{yoeK z#V|yP4+b#5nY50BhwZzZxCn+7QfQ$tfm8*m%&b)`$=lr1wC&&5QKh0&0wSGEYxUt< zn=>q3``F><2}91ZR!P0g)cTLZnAPz7gpW5PY9FpLT1J9)aca#@~G0wlnbDV{L!S@#DAD zJD1{2eyZ2_hWC2vEZ&SnJUUW)C^;Y@cd`EHP+;D{W2--o{a=OOu|?91%me;yXSdR6%2_w8?C)0e-D9B8}wAAq7=1iM4&HkKKpY9?Za zhT9_d!fdsNH2Oxmd-bl5YA%@e*|q*UAZM?=<2Y#Fx^WQYKw1d6I^MbxdezY&J^G4c zhhl8m#2cNXicWdIjw!eF{Bj^Vr!F@ZIv4vDtG2h=TWj1yWB|@P&Np4&_rR6iQQ+2| zbw|6$ND{Aq{a?d4gU)&Ph3Wf~#@Ec6jz+#VnlTzYZS0g<^{L4{CB4@0;lD|sGj6Hr zSB$)N{gHdT(;h1xAf-oX3{KEv_qYkXP&RPj>M=7Ouyq%F0)Tz~R|Jy+0D*x3 zM{@{(Nx{G(+c&Xz^>-#Lu1fU`t>6i%8=OoFSQS6t=I`jD5&8O&9B|F~_p!rkeG}%O zH?l@Z9w}i7d@-te&E(q7*XN%@w`w#-1aCS+8P(fgn+yAcXxG1nGk=^q6qTGb-@dj* z>fCHvQ~Z5H5W4vIZW0iuFL{15lLUhRO>vUfm;tlMa9R)#Irl8&jzLFUt={_NrvR+Q z+-lZ8{*K$*kH5z5p183;;>FYJ?+V_1-JATCdL#D}=qLepv|$JR(&Eganpqj>r|;NO zPr&U!WXN0GD_1ZpkgVv%668Jh1`1BEi2eL~LYFSe3n>zRIs|RBONZZrD|~ti|BqHQmkpTJfKs^fxs&7LH%APo7RmpGmjFNXL+?)> zKJywx@sa?Vb9jL{3Sq9BhXFC3!#H^`Fz2@ikgNw|&f>uyp4u1vuZ~CLC>8H+L%YS6 zA#jv0(fc}}*HEu7@XTh)Ub!vrYM*0oqChHx{20>Juzz$?3prrpH$TaFTw8Y;l&H8bnl}r+;kv z(i64SRUdM_Uh>}76&S1spltxS++a(sGXl`1?tplqzTMxsQOm>Vr28KtIyCHu8X}BS z431r*qKmqpjC_vN=2$Xcc?$ed>{>yviDRFy*_6c1EC8{98C$e=Vekv5Xa(GJsR<-{ zs(25gxmKU=cULVesNk_J?C!fYMD>E zi+Lv=c#WFEtbz5=-Jl?Xj}c2?|Ff*;iEcmP!W*S+h=3PjYm>6_cxz+qu zn54V-u^+cFS$$b6TL&O>r+Hzy>X`Crz4rHB3WrKLm+LczUV-Lu%>e|8-r3ooW}w&{ z!>9yC3bVP;6W?hAtjd4`397P!*}V`gkv@ns0}>Q{>4r$bfrgOQx`og_x>dHzn{TgQ zD2zwz>egM)Kl>erTnc&EE$-26V5Z%ea-(Sp;*^a83+>JV{bhWg2DO5f&#EbO^J@1(N3pot9vn55i3t8iCP z`KFvgmSB}xiM^#O-RA`-vC1r5d{-0`-^mqO&0CzHG(FeAH$kuEb-fla(Zz%iDc0N{ zn4qtO7<5PX;%4yl(Psr5)I>mUIO$1L;l=P0IN&uCe&-*Ndt%|oGoVhf!qHR+7*NE? z_VV<8oH!Mlws<>cF~l(dvCFde`E@YHvF8X=rhIHtTnjI*NqJFi;5uF~qd5f<2f%># z__D>Qb)8x+Jns>_4tO$2zw5Kmrr_}ORVim%6L(j@m~^z<%|!5$UI55^CJfN4nR(4lcTl}1_dG+jC@wX=G~1H1;}ZfJYZJ}l+1wu0$|AvKUIE-Q2m|v9YL#d zz_;;Wf&);(@e{y!Qs4>$w|)!Xg&f@KeE4RKpamBBK_0#V3mi9f48e4J2=5SB-%x+m z4@&X;!?OpM_%%^n|Lv;zF8$|>2zc)mtO7{X^Su3y>HaT|vfhcCUbTdf7G~BU|1!Nk z3)}$R#`?0Spt4&tQbpiZ%jt)_?|@J-N;(WcgLcDT&35V0{UEa~kg~+->BfKK*T6iA znCc1XaH#ai;@4eg@YK$?U3ZAyeJCM50CIbB4e_>d3Q7<7Jhiiv_#V9K2o`wD%FDUV z=n(-8D3nQq?507P z(J;CdlpYV`MWMSty1b|CG{V4%@0V?F!$b-dUZ_a9D{5eZQ4-KO9QR}Z=skJwswJ37 z5m^^>>CyiaNm>nn@VsEmJW;$Evpk-4m*^1QXC#Qvt=Ov6hJC;v;`-%BWB#`w!gFCkPmw#=nT2FD};+L-01-@6&VOG1j>tq@(vly zPZ>Aeh9a&KDivUaSlDWk;UhgFdjjT7CNLwRWnzlNKd{wfBFVYiE{7lxg}9Ate)M+Z1C}&*_STkcI}d=?b2ohCV|>R@x4mmwTM6ZqQ-3U>Q&gg+5o4Nsreb% zRo<2Wu;C~t+jL8D9#@=FB0=aTrmLI#S;7Tu_`e$xysMIpa+1FFR9*vo^{hC(0!}ZH zU|yA66-ch$useE_$}1D+)rd2>FhQ9Fy-SkPC%M`s`RD3Z%cg!dVE?vNDw73t0d`@Qh;s=UWH`U zlGK8dd-_#LdcP!LZ13un6rmr!+9Bmn^ijJlrGk*6-|+oRaTN^stRbDM{5${?(v%0b zaRgVvq_jyC^%IOhc^dFZ^MGK1aO|(Z${&vWKQe$-Y5Gf=3&&NIxe`S&DH}4?RTnl+ zNt<*?(U+wKo5Arr_PiBo-mDa1RvNH=h&>_A8D75DQM^;ID2x8+Dwvn%%}4{@ON-)3i!hhfMQO^s4DUm*|CHP6k_hxIOaDm^ z&~g=Q$*k_mp$CH5X)=^qS-x~+e1ijTSw`@0WPqPLeMT0rBm2ewP?N39Fi3{?HF{%0 zRtS(KLSx2mi}Ip!eMe#-qTH8+{P7BRQ4;A(Wt_dC{4hQ~azdVuj}PFw4yz~B47vz0 z@_pTIU#=u}e-857AJI#UHby1|yrcy@VO&2N_hmh>=2bH0QF6dP0bl+-QuFl)=4U{_ ze<^|BBTvNqZ^)+9BK^KRi~LJ66^l&`+?!PMHqlH!>B+v-Cq`*lMT(hfYOPs1_P~K! zyR_Qefz09}ODX`pf#lY;1b4wMMPS zrG@xo!MCDs9KN!Yc>Iuc%af!VE6INyy0!K7?>nn086h_Nu*G*b(oTfjjxjs;a63Ko zu+62w&L=y^PaeMg>aSZbcQdj?)wJ5_SD!Nf4!sj|3=a&8yQfk~_s#0g#Xd3DM*krmg@wwRyvS`y{rn2MR{)fn^ z&(;qscYYt3MM*=cvsJp%qH3B48vXw-DEiN6$S}_xCW&sC3h!LdYF2PjE^*SVl2mVh znsVb%7gqcFy2;=B7`oWP$5*FAuLkPW`kD-NW(@|7T>4*bMp%IMI!^|9ua0whIBrD zaH3(_O~FeSn_w-mnKl+WlX`Ms{#JDN3(lR`RmwXrPtV(XpE=%AviF+~zDX-9g8!&5b@=9Be!Cuht*jLQtr071Y363fs)c zqStzz$O>zUvr-DFwSQ`Ra3(jqsnt))`!D)ZflD3TTzu#FAr#~T*{#xH4u zbBlAnRkP{hc&OUzL}D1xRCoI5ZAWS}8?$?ZAqjEmm064Kec z8B43))QqN8=hi2sGwKpDf(PbTH9dpS8?R|IHTQyX3>?Rxm{tdE_tP5w}sPob3Zt=#5F%XMXysoHG3HC(38oiLloQet`9E5zZmq8HzIsOs1zT$Y=T2G(Tk#F;V{<^;kNqCEau3Q?*J+ZS(8n z^WXQBc4R9=$0faVl5`|IfT4C zIe<)D3b>@Ubwt@H!T*iRi2T;>5$KN%QIg|&<+`-Y!s;L%^xU|{L5&x-D!_r2!YN1l z^c^T&F5ykD6fl@@hX+66+P&Y%e>k#d2H)s(1Q*^9zkU-ln#PDRbJS>pmVeUfAB%)ByauLVrjULrE+E|Xt+i3J9QPZLc_ zpx*?;w&Uw+XElq1La;SooV;;k#W`}JD#B2$MfXlWFzRq2-<|9OXg&cJ@3?G`o>b{# zXv*F7lvjs)gtjqHJ2uTXRM_e=Sf6le-8F@QP5O@Jw=vF{aazDSy+`Cb7s4B9l0nAW z&*mag6H~MTgtNf}!W<1c>v!Je8+|Wd*`@Ox))~sZ6Fc}+%$SGB%kKit%Zu$k=hfhR0pBP#7 zFPdx6RBSN7T!e%aP~CML`p;&DhaV~8GY##(^{QK-fDN$V8ctFz<4TM)MW?z$fchLWoF$VLHO%IJ&F)~_tgj;6-BYd)j+ zy4$g99qy#cy+#Rhy9#!smBJpjv19*CcaD4bg%8a5N3nv$=mt;$d+L#dZ;lB$<)5JY z`+cjSX2cxzsr-q6y4iDW=KcnR8}?pi9OpUwx^q}JKlu5CUnM?!H$sA8sr7<^F*IlqVV^9$)*%X#hjuXQdE(59huX-98h3;zbJF+KUG|t zx}CW42qT2*caeSCiCNuZxDfzl5Ug*ygfW@FdX(f zI&P1L*{?fA-rUI$K{IBQ6eI1}ZorXyfXzWg6@72joiJ}jL-{Q1b=8xP&&r3e%iHga zr|z8@+r^Z~1SmPE9d6@W9cGhgl34qLxy)`%N}w{1#nF==evxCi_8^E+^=3k@3;C&= zrZJZn{J1bNso3BTp-Jh{#UJ{5(}4)`Q`vLgdpgkJb)FJ)4qgg_@3C*-fi~VgyTPNs zPJ7);Z2zhmH=8kVB#PT(cC)<2WY`%Gh94RNX6eKUE~9N5GOWBkwZ>Lvi?~{Sg^jkl zd%0JskuTyO+Vz~B{4?;(kq};F5N`+F^h2-h_=$fwt_?FkkI;~TN;W3%GMIhNuTpCL zs4)Bi`c@IM z4~&0Fi@Hf^nD&j-y;K@P7`QVa$1i#W)3mZ}`GJ@G;B#d^i;x+)aDD)UIR5iWK53K` zQIJ%kn_G4c+1RY43XG8q3KqvS6z>Z6@m}03^m%WiJuk;EGk^xYMyF2t6bQXY#YhQk z_~aZVWNpD`|2BH0*#h}@s`1~NBDuoq!Rl(kUykr5%kckNBpD&4G{OyZV_99{RgR7% zDl%ZN*n2sHvxZRfOQ`U4f22RisXSB9TF)xDpi)9NVKmKH;%@uzm+yjdCtLS!_%b9# z5Yw17R16LaH%G1QcT;RVpW*ZPoR3&x-9NxGcH5_za1NH?mpUAPx;SrbYeOy8hy2s8kW9h@IcI<+ zM0RF|qYtKN4YN*-s>BSxco%T$y=)Mi`(vHc=`Jub11D<#X_4H5`yD+GUh(|Jq;nQ=V9} z-S!dNWE!UGvv|-+o;;>G0!gxqH63w5M4tc0fRriZ{G+K>+|E3+v8$jWXOrlQ+;Pq1 zXQi-?>#4oRYjqI#4LEsPLfib9v#Be!80wvt7gM#OWo!3ZYKlK3DpJPxWJhiMQk@I1 zaRaD!XPDYbh<0JGkCT&KuH@V96I;6yj*(|zP(n5y7#tGWagSf*lvA^REc;06 z5F@a@Os|iPpy(ePWIabXJ$2x_%Jd0QO9rX7cwhyNUxDp_V_7=M&NtqB~`@SOm9Q98)>#%I{RkQ4`1YsTC>pq^5j+wAML1kWa8bM!NaoUWoi1XcB z82@U67Q3}@K@DS?_&{fqjTS)@#xu^T%H?c6l_)8~L)GrS)gw54)N_rEWt89%+z+L= zRUi+a*4W2qS7=sM>wt1DCVsEPncE`}EM1wkOw2k(ZzKcTc0`Z(A88z5N6f%&9M8Oz zfr{G20_zlpt0JkjP&*C0u;lX)bODU%Q!LfYOpehYLdI%vM1@tLqlqd+h+tvK=tP%y=*4Op{v9G)FY5CMS z98OgmquOJYwxY_iK{kFQ*l(vK&k$lj?u`=IEhe5(!5&x37=NJ;S{`SGBdAu0wfI3HCjf*YB^k`}PL93<5qK@8hNJR>Kk7B*U|PVG=+bSMBXxC^V{-ly8f4q9x@?_D2S z>a8e5xW^4=%nGx-Kb3iEURy(rC92 zH5S3}oFSIr^+0#0Z)z3l#BBar1vU;7&*O(%6w;dTqh+``Ox#4pwQTz{@2&-?Vp24o z1~j7OvMpm;-JL#wu>5#5$1*?~rmL@v6+dF^I3EeKFS~AvYh7sb^0$FxDx`Zz4Oc4e z1J&Dh%_O&%Zl+xOJZ9hwKe~pRVuVMsIB_nv?!vh6_lT9oP~%HB6-R}>`Ci3^I%i-D zDbVBt{HmdR4V*g{PyB-^^$d$ymm9IFN=*${mBSun5=JO4Ela53U}WieQ&uc`&EJ+v zLkycDsGb{6WZeWEix>mdisrC=O|ir(95Fcn{;`zE#%J>|X(d^OmZg)wQjTZY*xHFP zd=NyN*Q}7m@W4diDHK&7Fj03t9Cvl*R7J{tqVR&JPC1-fg5?*T#dw z2@2Fk+;G#j)Wna`zIYYeza*rl@2;JUv%U7$qVc6{dSH=x$ts3ng(jXz7kZjxFCB@3 zpcrZLLNuu|Akx=KoqAU5dON-!F%;8;Gh6-DQnBj}7WcxO5vDKptr<6swJ|Q7ipX$+ zRiGI*Sbi{?NXgK3M6Bz+EDB&O3ac2D#7>$ZpjNXI{hUJIK>0{X1 zIz{+k!ow>ws#I@~NAvWs!gFl!@fk)m3P@I`nxY-T$A;a}!?s9%2!dT!^QI=2?9UQS z3$;~&-=zTTJ}naqLQ zO1itILzO^NkE6mTu!UPFVgwjyiX0A)d0cAjvw^#)p+LM;Jlv{C?N?~qGOZD`)zS2( zo@cdNe*DmiOgekLCl(;d@+5Y1z9K(0y`qKh6Ze*rL z_e5h1d{ez1bX;{hQ{L8Iz9j_<48J@~L9M-Zu5kV&%weJ3{P>rOSv-7enM>!2+Qxmf z2k$~eUzo<18DhR8BN}Z^LqD;TyBClW+c%ZRj=R^M1&T2^Q5Ju28L`NeW7y*Okw~Er zlInAO>(nYL7MC(*NUiq-7gME9%?dNo0eWXR5R86$OELdEjY(`%t00!4A9jyQ$qRG{$hUvn@gFO0yBP$N^{{V5q0?263383I`e}Ab;8}XFG(F)aV(CYS+!K?LylO$%t}|NM4uOO6@~{D zSUuH+R;G{dG_!FU(Y-$TcNpu#9XDO~zU9RLnaE*$SO@vIg_;)o*fN|ySBPr2&NNZct!8*4V+e=|kx z%-~*Oq80HJLa5LntjpqSA*iP!O?oF;^<(XwW9o#{cFJj-tb?p`mm@Q=?9JTSq2F*o zsm78ba7>9YdY6A+NwS;z&D?ZS(*Nz+5nD&ok(jJ3&5_VRubm#d z_^)cqVp8_g+upW^7u%MgDEYONb7T!%>hkPjda9b#&cO74zocBGs8gRgq`; zcQa_{%Y($5r^op9_OBYl611|c&z?cZYB??tIrU>23on*=x3hMwq$(7K`xS?Wlq6%j z;qT<~?>tPjzL04!5_h@znaD{Qi(2XufuE3R5G2d_`HW|M%}`noqi%|JwfQ+bL8sU$ zX7#gal2^T}RmJX6Lq*Yc>jQR;I-W zsgap)ch5<@9->l3bVO=)$TM{37+R-i-upllA}xyU-z6VaPE8=?KOK3#mB*%zWuVvl zQj&bQj8jR#5-gRg$QUNrB|LxC65m~#Kl3!_Z28EEGP=0Xjv9}kqL9>rW_Kn0p;Le5 z6>T_Q+ajqPRT>I=pc62D%{S^tSaWDh({g5HcG>}}BtuIautvdSbbWMqgpra-WGi+b zznJfM?v8Z%yGYaN_h=yj9To0vQp%ZuXuJZS8;{Pikq>*T6^Zaz9-4f$`NIN7P~EcB zjeR`-DpmG(N8Ih4-Jz;etkY|8b}=Wfx(7!ToN0Gw*v<$w5PUry@p|e#pXzaOH1}@Ul_l-*kuB$;;I1dy z*XQ4z&<(w@oYvf1oHBUE`H5Tg`kxcl7Y=Tt6wosH4i~*&qZ<78WcCNPqu!!zJ?I?) zM);z>L-+zgxPIV+w-8e#E}X3Tc1z+n`wrWd&~5TlzTj?1S8ZYQ$nyAJI+-x5VT9-0 zXFSJU{sQ_Db0VbkmCyL{JC2}ca`Ej6Wly5%;rUMrdoZOg&HO7hZz4Y)qm+AWEM2cT zNi41Iy|RuGha5gN6uPY2fm4&w2Ge_RQ!ak|Jjw7YQD*~GEz0hNUJJ6y3jRnL*w)=T zxl-{tSGPK}Hb{K>MNrGvlYjOqxb4Yh1Z!6opnd#R`oe}di0$k;Z3#h`8cb`USM}YG z*+QGvc1S^|6p-^$P?B1ZTetav%QoNAT8vVebm3mB-5fX`)-2A*>=}fQ*I%(ZPtUesyr$bv8K_*GrCP4v+jh;P8 ziB}qximtp{*$Bf$EBuD`xP8bh6;zBC%Hg;Q{jYFamfhj?j^S2Yb+c6=eZ$>F%P%{8 zvm-yZh)$o*c$sXT+=GiwN6@Orfu0W4n}dHCIC)>}K{dot0Q<^rTn<GP;i4X*MuDtHE6Gdf?k00vyy0*Rj>OGco^hu^PJ zRwxOHcynviqs+YKB~0c;#V6m}Q|en%xk1$sp}iBj>FEiQuFj$VoYiE+vrBbIp3PVv zy!|q}f8miYF%^v#n}>b81g zdFc3{Qp;ye*!O4qT3$j=?->OCiKuF}V7gT_&m~>Q9WUZt{~r5rAGp@dUa_zLMzw`Y z7v6Z zKkb0I*A*D^ky6CMaVeHFX?(Q;X}b`@YihW8*ryDq@*d1PwsFMEQkpg9C+zC2i3kD8gPKUsG=MF=SIUWvmYB0L zvWItKW{bkCL4xH6A(FxQ-lm;7r*7gi9}qiE0Gk?Rwv>ab4&|Qn(z&5b_jwR%U&4-- z5;hvbVrTKAwCLj02BQfHHqN`zSCyY-k(crkpOZls@5xdb_v*#Q;$EsalB+Ru|Ea!R z2)hN(Zh0;aF);jeMM^D%s(6SL?$AHl*Mv4uJ6pw_tLv2d7GN?_e-CFz5}oc8YQB>H zM=3(*NC|MrI9G5RW$PT+!C8o$UQRkna(|!;B_vblU))~3rhl_c&N6|Qf8&@nWsE6|EQMQSPCHTh|7Dn!;zW&=w zo|S$vALX5w#LFpT??Z7l3E156cC({eS08*3Kh&mEz~8cMg_+;m`^r2@#qfCGBM>wg zm3CQy%GR=9y@+m{nlyZT)}emtWCE$&LvlK3+N8b4c{s+eIT z3mUZ#$Ko~A9fZqI;nfL*K33b03(g?3$2<#D>3W4#1=N&}`{ZI8 zj|4o9O)!?9zJ;v`5`J8?8~^>`(SlO{*g|?a0^Lt z9P_-ZccD1PmRDDJf_uHTEE$&aK*5N!5%!U7n9JM1*s|Lsh7(f?UiY66gJ0|aq!zqK zVR7#(>h+$8$qBr>x}R8?&|zTv^t=9Hi+vhji+}}&j@8+1m(-C;hOm2&L9)7|N>RlI z7nlZfHcAn>BnfX?#7@gq|e!UNU?6;f(>T ze_3JOFI;@iMrXXNw;o26#-$c99UVRpTGi)jo|fsu@Rhb2PhIP7bl*VaC#vs5n>|`U z$7(ss@Gqy5aDVML&^oav#7-i();L5TI;gksRq2$B_mIWb(ijF*;7b@<7-b31-0d4H zeU#%RAKqK&P)3oU6)#Em52(U`Qx69^wjH#7B3dk_157@=d9qv{8tD0gwJ0Sx8)XxS zYN@fGbzZ;PVxKqtQL8zswMhTPe*XzkSZUphQEV5g1?65-SNS1+6y|q7qqs{?aj$jx zw06$wX$L~{Fd{vBvA+NCwXWR9a-9#7nH52p_it&v6(a{^b3d;q|8~4vI=pHvMxMZA zpBOLTN9%@a9vd6n67w414Eo016c(k%)m?raGpDVo<19T>vtf0#cT4|?PO(wo_%&yR4n+-tWnY4J&w)sR!kDqu2WH)`145B!5maJE&LAE}eO*mTY8k)##*B z$#*qtt)NS8dDta;L4Jue&sLv(<=_K*{loa%U(q2MvgI$#%Vyg!>&}7ssm{8VOImp<<543C$1`o(hqlwhOookK?`T7He7c17la>TMCAiV9(oonLB z9P$q-x6O0T-Mz7QuF#`oC|!h;PG$Uj3@!9LvzGcni<^ibEv1W*{}$U#;newv$I_u? z2cg~GkY8H4yulLjh1|E>xO(wD^ny{QP(nCGjw9nyQu2~-nzBz@^rRVs2aD{aD;AWM z^A`#y^Njf?B*8Gz+AHTRd{5>QIj(9!Xj_iis0K?NL;PT z#Y!U-;bN$HPE*qfKt)i^%{Zj)YXfTo+F(kaqSuRtayLRsgnh+jG3RtxSxoMvACwfC z8|zh&afm~Tfe%+p2ESJj>M4AWkqn=xsiF;x=5c@KRsB4~0UsPMbi?|F7#Yd52{;(~ zeR#@$m*WOZ{US)KiFve?T!C+{XzH8~LT3G-8KE#zRNwBQQq6gMn(O#lCR_nrk2E6D z)^W@m2xi2cH+QO$3$;kT^U@fH9EF*yLX=;>w6+8v&Ud{1f_llX4NKT zkSycIFPBOmAy()YAYtC-GD4)Bg==}r5I!~7N~dQZE+dZ;4{O|l(rAz}uUuX}w11!r zezj_eak;&Qu=+r%exbgt>cMW=8S+5c2mOxNHyFvAGO^2e;>?IDU-ylEZbywmN zYfsI;)I08vtS00x(Q;`%xsz1(Y%nyV;d+zLUVMFb$_>eKk9=U{;E8-mRU^5DJCf#+ zXy+16@N<~B<@KTGXSWB7+mmH1uGg;h%4(A37}Ez-pUniP=Ha5DDG_Wz0F>ZTmlBZ6 z3r1ZGsrcT5njgAMVsL2d6&c+Yd}p1whk|=Pa-y^A_-2U>5sLMu#=4C1BR zX=JY`j*BJ7L>org;t*m7yEkku+Z5Rca}0WQNG<*4MhNd%4ayDg_S8HEmC~B-;m%>F>>)bhbj>L(LgChp7Nh1u7UMS2s z%r(Bip|Bhb+zqPD_Q_?4Q4Yg!mXL3O;BN<@M<*MOBAoB(F3eZeRoheq_i>GCb62Ba z@!xrwgHi^mFhI1rxVK2F*BZO*@nGSqg;<#j0y}p}jyYhs&Gwf_6{9CZ2Rqqyz7U!h zbTRY7zW-mqRb#Qqqfk;XnB}rFGGtc$zonJIRnN$l#8>^6}3*5g~?7%*Un+3&K#*u6O;bXHT;1D zBS*s=GM9G;YJx1wmA-Rm(Xgy3j^Ne7vXUaDmZz!4k5_XmTjMy9YzaYhMM#B_<<~=l z#$txYpxy3Jl2mGwZrb79 zkeTkDfb9L1MdQ^?dzJeKUs^kI$v>QDW1e(kdB1l>9i_0!yleZ7<^_>2hK;KUSG+o% z(WF=yZzlkclpg+Aum)x ziKQejta?D1{*YOBXv*Q-?m%eHJ?JhsBI8iuJ% zAPja~mm`|bq6GD&KA418J1HXg_s&y#45z|fo3Ea`8xdNgxAx(Cp4Sm5&nK7c16eU* z^Mdmeti&gSWT}ecskr9vf6II2me@;5ygQ|RG31$xF^7CunitLSid$WcDQ%LJ{KKHA*jy%@`cf?O{oTEACK5YoU=h2SByu8?xe)9ltcAW>bKN$LeSh-p+ zvs;brTqPNK$av_64yTw*=JvHjMqT~QNr|V&ncyb}nr35bDUqv75gb9dx{R&7G{P^W zJTfB=b~}ma{1Jm9+u?6?45PzHsCZl28SXk2C6=n=<@Y3V;!+pb-BQqj6E%|)sqp+); zP@FH6?gUA3g#v#cpqKqK+^?)TOBf1to ztnz%yK+|$AOqc961RFa6%yPQjRWq+H>?e>S7Ps^~*X)8HZ zOo8`i42nk0;nC4iyPS*!>DGdkqXn=?scWCat1+&wv5Z6HNLWgoP~O%@upuRV4K~8v zG5DTGNrEoXAl-+dbv107A2h`YvPpoJIkAsV{6B1+XIxVM8}}m>%$1vs;@(@+vVP&f zk(#4S%>fPs+%vT$4lu>NM<%Y^xhmV@z&%S-TjC(KG__q;H~;&7dOzV2ufvyf&iCSQ zeXh^@qneg0IFK(WZ6~6p1=G~@HkTCmst$}%moU^=VI8&2$r?WWP^H2D<-|~%N=wk) z;gDCsR9uj*_i`w|AD^QuANOda!@ScM_#7{Ahqi?hU3eQj3@fnZkCV&KReDCt0o@4H zs-Qc|#3r{efxe?f%LKY?>r7nmZ9Xrmq1w#VVUJ}(u91B0x>nasm7a)*1=O*}$ik;HYV#z`LE)dQ%&vAZlkeHH||}$f;c*Q=1%s zr|Gy7l1Q)L9^8a2o}T_v3z$QcQrW8S4W=fB0PlF+?1{a_bOl;xQ*pk0ju-ie&U`xV ze3Exl9Wgw^R=mYjz7qFpxTGy{AM}IdZyXHFnxVRpfti=6sp>$wob$|f(R%XMsbGJ( zv$an)fj+TsPFiMF+s7Q2+DHr9D8634d>ynK3mjD2Ea9X!oacSQlhW&cap81|4ko3? zJZ0B0HT)c3a-1t&jmm$$DUL*%?&5Cw3r{uF+yedMI8^Ir6W?RNqQTUL0API$l~qw} z902Sk0^`W9jQpupWNJGR*iNM0x%TttQ_!<2TH+d>!)8(!(dtd_rI2{Zedgk{%w(yWI zHICTP7u>-zKR6V0%SsbNlV+%~#YszU-Bi&fAgR<-KH6^j^*qqDe!Q+*Fx5}9q>p$HmT9DK(>+fzav%Rz z0K|KT27tZIOu>n0TIf~;|>*Ip2k`tmbnpr&gxSjpTbXUN|W1}VzNG%XOj z%C=q4pesg*dWh}VuK2derXD!>8qKQi`KGr|HW+^O;R3;M!Cu%rAf4si4Eb>W;ZHKt z_IA++%g)WXM?UQ&dXa=l$xvX|qJVFacQL7nS`HyVtAgQ5@tyu|kHP}Qnuu_0e2xA% zwWC>7(`Ed(|Dvm>TgI)S(uWZ@cV_NIm9v^X{j2I!RjkAYBf{OJE!i=OB~(lS3(Nvg zab8MJH_jDrUHcpshw?MsFnzrJy`1bLw zA@+}}H?coIhL>YqL;@~aLu0K();cVl3kMs?o)7_#6dahU5phnn)g=3T2^LTHExpGq zX)EWjJA*HRnN`8%N{a;nFxDTTAQ-hx{61XWRk`JZ1B0C*V-^1`R1=#^#~V|faFn8f znZq81bx`LE(tIC_YD+BHR6jCD?3O1q#{F7=>gEi+5{A7i6bOAtY9K?On^e7l6BgS$ zBDz#>cEAW(_a{G(b*wzT1#%y_1S8BO-h)xu*F0~hsuIo>)~RaPOQmg2mKa@5~#^Lspge}UnT&hKoU5~-$$C5w z(DzCqM{t-`yXMRbkATZ;fuNcn(ZZPFe(aA0gn1$vx<}Nt%xRNe6+NHcp`kdqh_d2Q zAgk2G8CvnLhBdv3hTNStK#yj^R#TtSzm@4Zb{fJJzr4-_)JFj?W1MzlH7xV?Ptu6< z81tMEVdm(uR~xg?ejzVZ@?Z6oxGL%DFFrz;Y{~SE6^dU$NG795zv{TL>y8FNXz$@o zs_cl(s-ALYV7nW(iVYjuczdVdy0m{S+_!%^DiiR+6ryhl^~;IO)UDJ^jhhKe8o;H` zSg56z+y(DLf`!pNv8RBp;w$$eUl-n3o;dOux`>6@&5a&doDvthRT;KN4R9@G~ zoeum*!y)7M2ziP=eXrL9`{1p2D8I+8jw}sJNDJ6(EkL-V!HBx?CIa*&Q0Vqo8FBaD zq;^SPp}HE4A=y==e1uu1TcxkS?<1wp%~DME_m2&UZo+x0qUbYE-KK|K*Y#voY^Trs6h*btHoEP2T=_%oT! zUN~+Qw~jJjxOUXN#e}BIfULa!EBMtD=YHsk_a_aKG@z-&sZX@PGN-Z$L$h6RnS!p; zBeN)@M!7r%@O0Ix%oKY^^%`;C)heRMiiRl-w~LUEyH4LLG5}h)xrhWui%=ppsIpTq z9-E^@g?}#y@s7EgV-H)@A7&02uOZ~Q*?p`kH|)j|tR_ZRC*qM;i0_!Te0PMVGk8D38_o;oQMIY}zZmju-~AkjPSC$oMmBaY_riU1n}sdJI_u{=lC^6Lj_ ziEka{7oy&F%%6B8``WI0AV`REPg9^|*o?<}c2%q?jk@>B&gO;zeLNuz`>|3Jq*mGf zy4PqoSP&i+rWlxC?QPZY4#~yE3sF1_2i-PNe&Nv~fnVIkm|qiljDxds9~&Xc4B`EW zAtt^pDcHDot)Y&@L3eU03pejrg9}~KSTI(tOqd&-%Mi|8Ix&Q+m*|Ug6r!*Uhx8s- znPVa|(3eeb$*v-P=!7?1?5drYBj5(R2_go^jr;|Urq`W&+TfLAqBZt>?)R0R4*bs; zkZ6;1Qn-_VX6><>F>|Pr>;*bsxUs&<^7H>-J2VHBAW5)G{98=OD^g zDHAhyNsU`aqtrAAbPH=A5BW5B!zEi0_gAF2VoP*|WAstoof90% zwHp3`N@k1-A5$_qADvp>Ik~Ys44(h>W(kpe?YV*L9liXMUOuZXEaBXTQDvep5jp-f#S_k(TkBzAm!2tZ(J^N2Y%`N{HEQeDcQ()I8~&5T(cj zySw#$HP2T>4cZUV=OVd}ojLQifA@^bkX{+bcZ|JF{dfBQs9z54A%i^1@GM zc(SAT#-xfn^8kT)fn;)!%op$@zYxsV@b%GvX=B(?e>i2bF;n~{V-m@DE+A;?uv$W< zTew<`{$=+eFrx^@z$0Omo&hDeV+2TZK*ntUCuJTOR6Mm;kNf$+B&W;96GrG3$vUeSs6<*tFbw!@wf#V;WN z!=7v|S}YxopS{vVyu*G9U+w&fpI;5Ph9~u;GfM0MW#k}guvPsd^K0b7%$;Tv1`3DFMdEjLh#&CnA1 zs)c`zKz~Crmt@e>D8?)TlMZIaX<)8l()J_q^(5PSM3%6og_d1%DCWIfJib0h?YMDL zzw%(Bb`x$bUvEk$Mr*$S;rm%QplKC7D@~!-Be1tiG|*)->=Ky&EQ~?-$6A>S_O4JCPz;s~ z=A{vRn-174^69OLCx|m^EV|jXby%JcPX7Kl#dAJK4Rk(%HYdQ z=F&HGJp^CbGx~P$bE`NvL)%JDhgU7#Jk;MFl3uGvPP%VTbAEx&!!ZjW=PT~Esi5#5 zd-3fk#yesBq#L6ejGvY68vxguVa~_MZtV9A!Q5(2__Ao^!aGcV=E=Rh?(Ml-h25>tb% zl)vnv5ZIre=_5doJAC8$sg*}C`4`7%D1inR@O^4!Vk&VG* zQm~IW{^8UkMgq0}Q-8c=)#lFnES?cAHDui>Ph0aq*3=k%6 zCNt!U%6^QXgx4$n-~@_J+<1t<^k2NNVV5q{B~{{uPKQv^&a-JQ8$Zr7%N4hG$<#c` z4^%1prD|jek}?1VoQ6<3v;p6*Drq2m6aB`xw{CrReLXhkDPr^xF=?RcHsbz0?u>hq za-Hj1Dl8G?`Z)7Td9!R@TwDg=n+#w_hO&g{i-q#>XUsdSr0zmKy2%H1KN4B_ywm-5 zcwar>pB1~dqc&U@`xm0Ks|Jyd{uGtchSwzOW?FYb+aU*lT1i{n0OPf$uf_@`%XNP0 zkfYk1=C5A-C}Kd8E;oZ=RCx`5Yw@$S9X%-)eCcqTwC!U0Y z%Zy1Gd>@!u4MmS4&?|85huWC>1`jux&?4lH9x+??AC#B8kIPmVFl#z4!@lXSn1b2h z$F+Ny9SMh7ABG(c);)LQ4#*VF{APh^12d>d#uo&pQJeoXf?Fh+e`U}dB<2NT!0u^Z z&jh2Lq$Nti(%pD9pn%B4lo!o0dN4KKdZ56M5rr4%DviSO?)S&xXqF712g0nDWQUzc zzearg>A_f&L9a@KqlrPCn)@!tX=zugTL}u2bat!}$>JFMj(3JXwzJ#pcS~sjnbq0` zE$@t)G(~Y!ASnKllnkwl)7t3AGMFtCWdo&iQv}lV2-6PbPk=I7Ak0WEClZ^Q;KQy4 zv!kI=kGC%#P;7#4tP?s$ij02ignNnxMO-{j>6B(SfEi^Cn0eoqOEUN^RA8gTLtMlt zYEh+4X4{T)NlPQvAHqNJVC$aD*MUc>!BPIG(&8%2#(L^ObP%Sxzs(aYh(b`lLM1n3 zn2$F*ir{17NGI9g)anv?uJR;-ILiA19siJ7lVW?t;_N5G^#slsDzUoueBa5KgK=N{ zl1y`pG=m_GSwL?4%K$#g00v~xeXH!&qwOiM9)HNEl66iRtabYg4OYJ@ZZz`V3jg=H zk#y3fi@A5T{4wbeWdYTz3PI>uBt8*JAxKc@GJYKb=PclP8#3HlC%P`Up#$NM?)^AQ zGQTSwko1phQ;~q!tLTD(1w(|kgM|QWlc^26JcCJBEjhA)RV1_fUjuriwcDW62XMxm z7G}GT@fse$bDcCJ_)!y_COzJ&)WiDm_jAmHm7%LdNsNV=aUJq@V9}c&__tuEw*&~MS0|rra#x>8!|4RgHJbw0Ww40OC`tw!GFKGr>(*9!w{y1 zB<1QM$}c1$O~$$4p7b+p!;{9oH;0?(%>c7_f+_OXiRn!3M5WQrs#1vHqNe3j53 zvmOe?{&v4DWyjC&^p&#A{;y zH>qSk#1Jk#|H1vkfoi|SIezz^1;gs_@up2u53vN<29@x1k zWGn%baB4iaRp@coyTiTJb@>A)8T0g2pq8U;v0n^lJMJV(`$9&?m44&!azsys=|w?O`$EuN5Bs7vcLpWsUf4u^ z`rfr6e4FyNbRmp7G0{a58qZgx_xpZ0S^4hLv$ta;9rug4CfXO?N@646UmG4XE z<4{(Z-YCRvA(3Zg89!^+%LtUbfKpCw0~yxl-bR9eekOT7RNbo>H%-SB1VG0ZOZ-ZK z5^M-ow}6mbGUS^?DpefOv(4k6-(I>III)9aWhG5*^}|Z%I*u%H(fETu#s;^stJ9gm>fSnY<$)& z7$LvLR@K_1$gk9>cG({)b#p4(6)RrgU%38L=nMq7xqBTsM0$Iz+=?=O$y(Xuoic(t zQy)>z+H1IFQE!_^X#P^pv>7`x;hogPk2o2|PM&u)cW&zl7LZ(8ARGVSG{Q zqBE`l8(nqhUnT;x>kDc9Z7*#y?^+zjAYwwOAk6Xy}yn zKbL<-HL>0)GxGJRHqFH=|A~uSD8-VJybDtq3HH(f%zN=j;#%n;>-Prb%JBLDZLM}z z$t$}f?rHR)o|%i`EXx{%??cX8Z6Cx@%F3JBj2W_;CGL?VkF}R@?wScJaU;@v;qpD}e&CEDA1JZX{{&C06&?8ARuChq#HapMudW?#Gn z0gl=VC2R2Hg3CvF^G;YfZXv^j{jvs1jtv>F;QG^og=_0m6w>A_&RW*d)8b<3L6PBp zKxg|=$W4pga81lHuTPOQqTV z84|7Ps}O&ju7^sW!#Sgy^15b9gF4+(W>t;?ViwBOXa|IRLu5AN?Xe+?-eVuW;j(pS zkAt`!-5CFfL1w3sNZdF~D2`Z)uF$VF9N+3X-)t9T zSh{_qS?aO@p#$1-?~GUs+HXeh!k@Y_-?2rvoh$$2*o5Nl)Yu`O3nxCqEkjKN#^eKw z{Z^`Tn^IC9>;=eQ$&C%J!lVsYnOJ0lmkcoAle*Q83`uH&hmLykG|psR@}T+ zpgx&l+;8@r%dugEkLyfy0nNPqpEZ@sZbEYfYyo(9T5%OWOd!5VJJ|}^oc&u zUMLSr$ZaE)5k|Vn<%EtlvMPbT;134+))RGZJf!=Ta`5TiU9vi+EnaG2w{)lhITDb0u%Wp^g<$ zO31hjg%jS;gJIZUGor>fKPz_#%g@;Vf&{6G498}0f_ky|mU^u1T^?mDFrp<;C&KR! z9g5YB#FcdHf4lXzbTXRe|26Ll)Tp3R{- zCGk;`5{Fz`@{mQMljK-VDPEu6?8H`drLSlkwhF>^WhOOhh6Bq4@V9{F*yn2`H`Npz z83yxfro#kLxkVp16<>aq6W))K)Lu9>s{~Ndak$I$CgNup!RdyPwLmuU-lccjo_=;W z6iof!m`f*7ac-19reV6ftu*K0=f7y40q&5-K_T5&>Cxd$#F@walRv1PHt=Q=3>ML5 z=(;cqsXp))XB1^fY|SWzoi|6}8}zK18P}(`_2l@Hi1fxaD;9sZ8sD%T?z1SC-{5Dp zV!boUS5M>p?qa^&Sm;5EhO@UT^ zvoE~Ydms3`F@rd7Ki*kEKHJ!MG24*b8qicb-pD4)+jAomX4Ds=e|X+#Cro*GUUa?a z6Qj3VCv5EyKs8O#`>^o1L6NunEV?>cQMRs{-D&8Z_6i}N7AazLQvU7O)J?6F+m1CK zEL^^xHxy*j52Rb>=UzyL#{UzLNyZ{6m+`{SzFj>t$Oc*FS|9a z3kzo>sLafcXR5&U(Oc>E5IuvWj8VH8to4yIP?aK5RrtbPFg+<>d3soDwEtGJM;AT! zVWv}OlClo)>8smX)p>?iwZ(+!f=9MjvzyF9lo#a}@V&>dOLJ$nQn9jfC0Ca+98AAb zX!75TYJfL$QZD6-9Q``_OZYflRac8CT*GS!`ejp=64xnhOl1m}+XWPgmZ_FwI?ppb?Bj)L*qFOBQ|Qo2D^Qdo;h`g3*)Irk3L1WAEWWV?(c~J!}4yP zhsw^tCr!gdRL1plQ5u?RNEwGZ1G@>tV&zetnm655blZzL4Xd8v!auObs6W^UA(gP> zE_U}`c%z$=9S;n?q;0+tnsHA>ez9S<8)N@o?7soFt^>6@??j;xWG6#tzfSvkjJ$yh ze@$h4`s~Gwh`E^{cqZ=;BO2-|d^Ilo+!Dgr;P6s({OMl>pVtgE+Lz$8g;3kZ7p_i6 z&ZexMixAN?q$&LMR`tV0Wa$o6PsuSI`F}@TtofClk2g4{kat)&iA=n~of-+enI*h8 zY<#Kr-BL|KL|AK75?pR!7!D1Vp*(8)yzyqbCM~qg@6Y3NOp;Zp9lks z+H$>i*N~?i5A1hZ-o=l>l1mjC;a9n+XpF_n{AnH#b$-0-a&f4Z1Jj@63>27w>Q`GJM&uW2ikuZzLKPJj;9;p zZe)F$*D`1<2j-th_|2>1+*8-RUAS|l?HA(j(dtjH|MW4CQ}9Kw#-+?JCRV3EBK^8! zL~@5yl%3lGAeMtIKgqA1rVf4Aj7(6->tuA^RQQo^ofXdmj9{%$l7XhHEooU#lbeq( z+2*x>yauQAA@Q>a=H#oEUkRGA-?KSm!UBk+z6d6_!}0nD<~4F9t20<?;>st0cL~RTvxzNXqDQ z5xw^!-@a>wE-|K&c&>7_j6%OfQeGnk)dlNkuc|!aS6f1axeibFObxc5V&D7B@6a&t z9aLR$^XwTOxjZ9*v~=}lCp-Ent{(M%e2T$BP^J;=7s%bw>9)2{!iNxA^er zEFrmi4t{oh``3oxwMNkCoAMJ!)4lOZ;-B7E@7o=~r-TYJ3lNMqfNe+tO%Bd8A>d2S zAb7;5TdQtaM-%%+MW62A2ateSWKJJ4Tj;xnD7?)dK^aAAUq|e|6VdfX;m3sRfpF%C zgrIG%909r)UB~Pm4i*FC4kNO?WQF56>PoPhFR8qFrMEG%{lFW1W~`uto`7_`6F>&v zgAjEtmG&!1OoWw@5vE5PAc}*hNuxkX)HDRfvoiI z$gk(ZvBP&_f6zrAs>#jJ#{Xt{esf;_)_Qn~(ThTFs%wKZFq4SPha0+1eBvFzeK#4# z4;jEW6qC)TeeGq?wVV2(N?noJfYFyx=}0{@#OydSXMM}|NpzhtU~^EI?~0Ty)Y(0W;9tW6 z4W@nv3SB!{AKTw`r7tlC{)DM(;OBck0c0o-WXOm`Oxtu9t`X0Au+66+F|fq^+jwUl zfv(@qH$28J+GcJl=BEnJJW~Ah(}1ynbbMo%e^!d}Qp82`G+>f3qcfoRFq_d}^@U8! z^4yh>{Tu4}C(jdsuU*v&MQEg~1|QXv_=e1D6l(KAFoz6W%sA+$5KK4x)2|=S$B=+Q zL%OZXAkV0_k`sdy)?Kgu|JFycShyAAQ|rr znIA+XQjmM@LYT30op+A0pYv&j!dX?P#(v8(o8T*fuE}YzRVp0)7&cn=F1={z>o+)M z0K&aP*sYke*DrjwG;b<3zO(x$?7XBChl81&se>N-Y$-h3_D$F4Oq3%Eu!ce}Be}g~ z%%;>F>t9H-thk|9Oc6&o5%2I%w!e=H{kAOpcxfsU9*y0&qcb&;xDzuE&subMB3 z-cud+r>DoXKK*vdYIK=1MrJMjyEBh+IY8ovxjjzg)Y5ZdfazJ^jn048{^^SrxuV}b zhP97w7rx}(o8>SbZxlklPc|TSk}vEMI8xWWE?wE_F4-T*g4eBp+v*W6hEn>Lrmlh# z%=wMbrGJ1*quoiP9H?#sp(9ti2{Dunzr!1Twt6mdOg)*q^E zG~>3OpK4@`WDai1eM4;AxyAv^S%s70&W|HRM^KodOA`qjVb|d?*LE|bQZYR`$v!$2nUk)A3zp^1F&d1i*Q)&~gKUseq*y zjdx!*h*y6ZoCwZGLy=`@KI#?oW=KDJ2<<0cPaqb z75nNTpX?D7bg~5w$klW5<(%bRpStqu?wo;3KYk~zu?%FTxyyM_x(B*`A$Nh(f$%Z>ud4YQH`?!Cc;e!bTy>8@*U=p8D{e9{GxerCO+~R zUfcg=x4dwKy;JMuM0)!2`*G{s-x1A6rGwjT#J)ELaHZ5p=r$D|T4JiS(&@*6z909f z7cYqT))+p@n6Zm7v1MDGkzhPB)gd8X);P6BAwCIhWzn1{gLQXa)oXr1(1kv+q|S

pN-R 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 B5cdE8 literal 0 HcmV?d00001 From c25bb5ec7255f77fcefa810e3f7b29bd4557d781 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 17:08:10 -0400 Subject: [PATCH 07/11] Fix accidental push --- .../src/test/scala/org/apache/sedona/sql/TestBaseScala.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala b/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala index db493fb09d..46978a2120 100644 --- a/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala +++ b/sql/common/src/test/scala/org/apache/sedona/sql/TestBaseScala.scala @@ -42,7 +42,7 @@ trait TestBaseScala extends FunSpec with BeforeAndAfterAll { .config("sedona.join.autoBroadcastJoinThreshold", "-1") .getOrCreate() - val resourceFolder = System.getProperty("user.dir") + "/core/src/test/resources/" + val resourceFolder = System.getProperty("user.dir") + "/../../core/src/test/resources/" val mixedWkbGeometryInputLocation = resourceFolder + "county_small_wkb.tsv" val mixedWktGeometryInputLocation = resourceFolder + "county_small.tsv" val shapefileInputLocation = resourceFolder + "shapefiles/dbf" From f9f776d84fee29cbea90ccd6a9ecde7c3f541db6 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 17:11:26 -0400 Subject: [PATCH 08/11] Refactored code with comments to enhance readability --- .../apache/sedona/common/raster/MapAlgebra.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java b/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java index c2044ad3e7..9531a2cbac 100644 --- a/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java +++ b/common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java @@ -235,20 +235,22 @@ private static Category containsDefaultBand(List categoryNames, Intern private static List createCategoryDeepCopy(List categories, Double noDataValue, boolean addNoData, InternationalString defaultBandName) { List newCategories = new ArrayList<>(); - int categoryLen = categories.size(); - for (int i = 0; i < categoryLen; i++) { - Category originalCategory = categories.get(i); + for (Category originalCategory : categories) { Category newCategory; if (originalCategory.getName().equals(Category.NODATA.getName())) { + //noDataValue removal is intended, skip adding this category to new categories if (noDataValue == null) continue; + //noDataValue modification is intended, modify only the range with new noDataValue newCategory = new Category(originalCategory.getName(), originalCategory.getColors(), NumberRange.create(noDataValue, noDataValue)); - }else { - if (defaultBandName != null && originalCategory.getName().equals(defaultBandName)) continue; //we do not need the default band if we're adding a custom band. Default band range can mess with newly added band range - newCategory = new Category(originalCategory.getName(), originalCategory.getColors(), originalCategory.getRange()); + } else { + if (defaultBandName != null && originalCategory.getName().equals(defaultBandName)) + continue; //we do not need the default band if we're adding a custom band. Default band range can mess with newly added band range + newCategory = new Category(originalCategory.getName(), originalCategory.getColors(), originalCategory.getRange()); // add all other categories as is } newCategories.add(newCategory); } if (addNoData) { + // Addition of an earlier absent noDataValue is intended, manually add a new category to newCategories newCategories.add(new Category( Category.NODATA.getName(), new Color[] {new Color(0, 0, 0, 0)}, From 5d7082fd898986f688103e13d8fae490768b7d56 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 17:12:04 -0400 Subject: [PATCH 09/11] Fix mistake in testing --- .../org/apache/sedona/common/raster/MapAlgebraTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java b/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java index cebc9825f1..0fe3109701 100644 --- a/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java +++ b/common/src/test/java/org/apache/sedona/common/raster/MapAlgebraTest.java @@ -52,7 +52,7 @@ public void testAddBandAsArrayAppend() assertEquals(RasterAccessors.srid(raster), RasterAccessors.srid(rasterWithBand1)); //replace the first band with a customNoDataValue - rasterWithBand1 = MapAlgebra.addBandFromArray(raster, band1, 1, -999d); + rasterWithBand1 = MapAlgebra.addBandFromArray(rasterWithBand1, band1, 1, -999d); assertEquals(1, RasterAccessors.numBands(rasterWithBand1)); assertEquals(raster.getEnvelope(), rasterWithBand1.getEnvelope()); assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); @@ -60,7 +60,7 @@ public void testAddBandAsArrayAppend() assertEquals(-999, rasterWithBand1.getSampleDimension(0).getNoDataValues()[0], 1e-9); //replace first band with a different customNoDataValue - rasterWithBand1 = MapAlgebra.addBandFromArray(raster, band1, 1, -9999d); + rasterWithBand1 = MapAlgebra.addBandFromArray(rasterWithBand1, band1, 1, -9999d); assertEquals(1, RasterAccessors.numBands(rasterWithBand1)); assertEquals(raster.getEnvelope(), rasterWithBand1.getEnvelope()); assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); @@ -68,7 +68,7 @@ public void testAddBandAsArrayAppend() assertEquals(-9999, rasterWithBand1.getSampleDimension(0).getNoDataValues()[0], 1e-9); //remove noDataValue from the first band - rasterWithBand1 = MapAlgebra.addBandFromArray(raster, band1, 1, null); + rasterWithBand1 = MapAlgebra.addBandFromArray(rasterWithBand1, band1, 1, null); assertEquals(1, RasterAccessors.numBands(rasterWithBand1)); assertEquals(raster.getEnvelope(), rasterWithBand1.getEnvelope()); assertEquals(raster.getCoordinateReferenceSystem2D(), rasterWithBand1.getCoordinateReferenceSystem2D()); From 9471cde436a34a43bd7ba3d1c06eb57866fb7c4d Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 21:06:39 -0400 Subject: [PATCH 10/11] change location of test5.tiff to fix failing tests --- .../raster/{ => raster_with_no_data}/test5.TIFF | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename core/src/test/resources/raster/{ => raster_with_no_data}/test5.TIFF (100%) diff --git a/core/src/test/resources/raster/test5.TIFF b/core/src/test/resources/raster/raster_with_no_data/test5.TIFF similarity index 100% rename from core/src/test/resources/raster/test5.TIFF rename to core/src/test/resources/raster/raster_with_no_data/test5.TIFF From f73405327a9bf655c12c947ccd63825cdb37ecf2 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 9 Aug 2023 21:59:25 -0400 Subject: [PATCH 11/11] Update documentation to remove restriction on modifying existing noDataValue --- docs/api/sql/Raster-operators.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/api/sql/Raster-operators.md b/docs/api/sql/Raster-operators.md index 807e8e5f08..718de0ed18 100644 --- a/docs/api/sql/Raster-operators.md +++ b/docs/api/sql/Raster-operators.md @@ -573,7 +573,11 @@ When the bandIndex is RS_NumBands(raster) + 1, it appends the band to the end of If the bandIndex and noDataValue is not given, a convenience implementation adds a new band with a null noDataValue. -Adding a new band with a custom noDataValue requires bandIndex = RS_NumBands(raster) + 1 and non-null noDataValue to be explicitly specified. Modifying the noDataValue of an existing band is not supported. +Adding a new band with a custom noDataValue requires bandIndex = RS_NumBands(raster) + 1 and non-null noDataValue to be explicitly specified. + +Modifying or Adding a customNoDataValue is also possible by giving an existing band in RS_AddBandFromArray + +In order to remove an existing noDataValue from an existing band, pass null as the noDataValue in the RS_AddBandFromArray. Note that: `bandIndex == RS_NumBands(raster) + 1` is an experimental feature and might not lead to the loss of raster metadata and properties such as color models.