You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sedona.apache.org by ji...@apache.org on 2020/10/12 22:48:28 UTC
[incubator-sedona] branch master updated: [SEDONA-1] Make Sedona
depend on a LocationTech JTS 1.16.1 fork (#484)
This is an automated email from the ASF dual-hosted git repository.
jiayu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-sedona.git
The following commit(s) were added to refs/heads/master by this push:
new 615904b [SEDONA-1] Make Sedona depend on a LocationTech JTS 1.16.1 fork (#484)
615904b is described below
commit 615904bdb7f5a60174662491e14da9b4b7232491
Author: Jia Yu <ji...@apache.org>
AuthorDate: Mon Oct 12 15:48:21 2020 -0700
[SEDONA-1] Make Sedona depend on a LocationTech JTS 1.16.1 fork (#484)
* Change all JTS paths to org.locationtech.jts
* Change all JTS paths to org.locationtech.jts
* Update the circle type
* Update JTS GeoJSONconverter and GeoTools to a newer veriosn
* Fix all issues and now Sedona is working with JTsplus 1.16, GeoTools 23.2
* Jtsplus python fix (#485)
* Fix issue with failing python tests.
* Fix issue with failing python tests.
* Add missing dependency.
* Remove skip tests flag.
* Fix issue with failing python tests.
Co-authored-by: Paweł Kociński <pa...@gmail.com>
---
.gitmodules | 4 +
.travis.yml | 30 ++++--
contrib/R | 2 +-
core/pom.xml | 9 +-
.../formatMapper/EarthdataHDFPointMapper.java | 8 +-
.../geospark/formatMapper/FormatMapper.java | 22 ++---
.../geospark/formatMapper/GeoJsonReader.java | 2 +-
.../geospark/formatMapper/RddReader.java | 2 +-
.../geospark/formatMapper/WkbReader.java | 2 +-
.../geospark/formatMapper/WktReader.java | 2 +-
.../formatMapper/shapefileParser/ShapefileRDD.java | 16 +--
.../shapefileParser/ShapefileReader.java | 16 +--
.../parseUtils/shp/MultiPointParser.java | 8 +-
.../parseUtils/shp/PointParser.java | 8 +-
.../parseUtils/shp/PolyLineParser.java | 8 +-
.../parseUtils/shp/PolygonParser.java | 10 +-
.../parseUtils/shp/ShapeParser.java | 6 +-
.../shapefileParser/parseUtils/shp/ShapeSerde.java | 16 +--
.../shapefileParser/parseUtils/shp/ShapeType.java | 2 +-
.../shapefileParser/shapes/PrimitiveShape.java | 4 +-
.../geospark/geometryObjects/Circle.java | 88 +++++++++--------
.../geospark/geometryObjects/GeometrySerde.java | 20 ++--
.../geometryObjects/SpatialIndexSerde.java | 14 +--
.../geospark/joinJudgement/DedupParams.java | 2 +-
.../joinJudgement/DynamicIndexLookupJudgement.java | 10 +-
.../geospark/joinJudgement/JudgementBase.java | 10 +-
.../joinJudgement/LeftIndexLookupJudgement.java | 4 +-
.../joinJudgement/NestedLoopJudgement.java | 2 +-
.../joinJudgement/RightIndexLookupJudgement.java | 4 +-
.../knnJudgement/GeometryDistanceComparator.java | 2 +-
.../geospark/knnJudgement/KnnJudgement.java | 2 +-
.../knnJudgement/KnnJudgementUsingIndex.java | 10 +-
.../geospark/rangeJudgement/JudgementBase.java | 2 +-
.../geospark/rangeJudgement/RangeFilter.java | 2 +-
.../rangeJudgement/RangeFilterUsingIndex.java | 4 +-
.../geospark/serde/GeoSparkKryoRegistrator.java | 20 ++--
.../showcase/EarthdataMapperRunnableExample.java | 2 +-
.../org/datasyslab/geospark/showcase/Example.java | 8 +-
.../showcase/UserSuppliedLineStringMapper.java | 16 +--
.../geospark/showcase/UserSuppliedPointMapper.java | 6 +-
.../showcase/UserSuppliedPolygonMapper.java | 14 +--
.../showcase/UserSuppliedRectangleMapper.java | 16 +--
.../geospark/spatialOperator/JoinQuery.java | 2 +-
.../geospark/spatialOperator/KNNQuery.java | 2 +-
.../geospark/spatialOperator/RangeQuery.java | 8 +-
.../spatialPartitioning/EqualPartitioning.java | 2 +-
.../spatialPartitioning/FlatGridPartitioner.java | 4 +-
.../spatialPartitioning/HilbertPartitioning.java | 2 +-
.../geospark/spatialPartitioning/KDBTree.java | 2 +-
.../spatialPartitioning/KDBTreePartitioner.java | 6 +-
.../spatialPartitioning/QuadtreePartitioning.java | 2 +-
.../spatialPartitioning/RtreePartitioning.java | 6 +-
.../spatialPartitioning/SpatialPartitioner.java | 4 +-
.../spatialPartitioning/VoronoiPartitioning.java | 16 +--
.../quadtree/QuadRectangle.java | 2 +-
.../quadtree/QuadTreePartitioner.java | 6 +-
.../quadtree/StandardQuadTree.java | 2 +-
.../datasyslab/geospark/spatialRDD/CircleRDD.java | 8 +-
.../geospark/spatialRDD/LineStringRDD.java | 4 +-
.../datasyslab/geospark/spatialRDD/PointRDD.java | 4 +-
.../datasyslab/geospark/spatialRDD/PolygonRDD.java | 16 +--
.../geospark/spatialRDD/RectangleRDD.java | 4 +-
.../datasyslab/geospark/spatialRDD/SpatialRDD.java | 18 ++--
.../geospark/spatialRddTool/IndexBuilder.java | 10 +-
.../geospark/spatialRddTool/StatCalculator.java | 4 +-
.../geospark/utils/CRSTransformation.java | 8 +-
.../datasyslab/geospark/utils/GeoSparkConf.java | 2 +-
.../geospark/utils/HalfOpenRectangle.java | 4 +-
.../geospark/python/adapters/EnvelopeAdapter.scala | 2 +-
.../python/adapters/GeoSparkPythonConverter.scala | 2 +-
.../geospark/python/adapters/GeometryAdapter.scala | 2 +-
.../adapters/PythonRddToJavaRDDAdapter.scala | 2 +-
.../python/adapters/RawJvmIndexRDDAdapter.scala | 4 +-
.../adapters/SpatialObjectLoaderAdapter.scala | 4 +-
.../python/translation/CircleSerializer.scala | 2 +-
.../python/translation/FlatPairRddConverter.scala | 2 +-
.../python/translation/GeometryRddConverter.scala | 2 +-
.../translation/GeometrySeqToPythonConverter.scala | 2 +-
.../python/translation/GeometrySerializer.scala | 4 +-
.../translation/HashSetPairRddConverter.scala | 2 +-
.../translation/PythonGeometrySerializer.scala | 4 +-
.../translation/PythonRDDToJavaConverter.scala | 2 +-
.../translation/PythonRddToJavaRDDConverter.scala | 2 +-
.../geospark/python/utils/implicits.scala | 2 +-
.../ScalaEarthdataMapperRunnableExample.scala | 2 +-
.../geospark/showcase/ScalaExample.scala | 2 +-
.../geospark/showcase/SpatialJoinShp.scala | 2 +-
.../shapefileParser/shapes/GeometrySerdeTest.java | 8 +-
.../shapefileParser/shapes/ShapefileRDDTest.java | 10 +-
.../shapes/ShapefileReaderTest.java | 8 +-
.../geospark/geometryObjects/CircleTest.java | 14 +--
.../geometryObjects/SpatialIndexSerdeTest.java | 14 +--
.../datasyslab/geospark/io/EarthdataHDFTest.java | 2 +-
.../JoinQueryCorrectnessChecker.java | 12 +--
.../geospark/spatialOperator/JoinTestBase.java | 4 +-
.../spatialOperator/LineStringJoinTest.java | 4 +-
.../spatialOperator/LineStringKnnTest.java | 8 +-
.../spatialOperator/LineStringRangeTest.java | 2 +-
.../geospark/spatialOperator/PointJoinTest.java | 4 +-
.../geospark/spatialOperator/PointKnnTest.java | 6 +-
.../geospark/spatialOperator/PointRangeTest.java | 2 +-
.../geospark/spatialOperator/PolygonJoinTest.java | 2 +-
.../geospark/spatialOperator/PolygonKnnTest.java | 8 +-
.../geospark/spatialOperator/PolygonRangeTest.java | 2 +-
.../spatialOperator/RectangleJoinTest.java | 2 +-
.../geospark/spatialOperator/RectangleKnnTest.java | 8 +-
.../spatialOperator/RectangleRangeTest.java | 2 +-
.../quadtree/QuadTreePartitioningTest.java | 8 +-
.../spatialRDD/BoundaryAggregationTest.java | 14 +--
.../BoundaryAndCountAggregationTest.java | 8 +-
.../geospark/spatialRDD/LineStringRDDTest.java | 8 +-
.../geospark/spatialRDD/PointRDDTest.java | 8 +-
.../geospark/spatialRDD/PolygonRDDTest.java | 10 +-
.../geospark/spatialRDD/RectangleRDDTest.java | 8 +-
.../geospark/spatialRDD/SpatialRDDTestBase.java | 2 +-
.../geospark/utils/CRSTransformationTest.java | 12 +--
.../org/datasyslab/geospark/utils/testGeoJSON.java | 6 +-
.../geospark/python/GeometrySample.scala | 2 +-
.../geospark/python/PythonTestSpec.scala | 4 +-
.../scala/org/datasyslab/geospark/scalaTest.scala | 2 +-
jts | 1 +
pom.xml | 9 +-
python/geospark/core/formatMapper/disc_utils.py | 6 +-
python/geospark/register/java_libs.py | 2 +-
python/tests/properties/linestring_properties.py | 4 +-
python/tests/properties/point_properties.py | 4 +-
python/tests/properties/polygon_properties.py | 2 +-
.../spatial_objects/line_string/.part-00000.crc | Bin 1308 -> 1344 bytes
.../spatial_objects/line_string/.part-00001.crc | Bin 1324 -> 1344 bytes
.../spatial_objects/line_string/.part-00002.crc | Bin 1312 -> 1340 bytes
.../spatial_objects/line_string/.part-00003.crc | Bin 1336 -> 1360 bytes
.../spatial_objects/line_string/.part-00004.crc | Bin 1308 -> 1368 bytes
.../spatial_objects/line_string/part-00000 | Bin 166130 -> 170595 bytes
.../spatial_objects/line_string/part-00001 | Bin 168428 -> 170925 bytes
.../spatial_objects/line_string/part-00002 | Bin 166613 -> 170430 bytes
.../spatial_objects/line_string/part-00003 | Bin 169555 -> 172788 bytes
.../spatial_objects/line_string/part-00004 | Bin 166291 -> 173943 bytes
.../line_string_index/.part-00000.crc | Bin 1248 -> 1208 bytes
.../line_string_index/.part-00001.crc | Bin 1260 -> 1212 bytes
.../line_string_index/.part-00002.crc | Bin 1252 -> 1204 bytes
.../line_string_index/.part-00003.crc | Bin 1276 -> 1220 bytes
.../line_string_index/.part-00004.crc | Bin 1248 -> 1232 bytes
.../spatial_objects/line_string_index/part-00000 | Bin 158269 -> 153259 bytes
.../spatial_objects/line_string_index/part-00001 | Bin 160047 -> 153751 bytes
.../spatial_objects/line_string_index/part-00002 | Bin 159031 -> 153013 bytes
.../spatial_objects/line_string_index/part-00003 | Bin 161825 -> 154735 bytes
.../spatial_objects/line_string_index/part-00004 | Bin 158523 -> 156457 bytes
.../spatial_objects/point/.part-00000.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00001.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00002.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00003.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00004.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00005.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00006.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00007.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00008.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00009.crc | Bin 508 -> 512 bytes
.../spatial_objects/point/.part-00010.crc | Bin 496 -> 500 bytes
.../resources/spatial_objects/point/part-00000 | Bin 63881 -> 64389 bytes
.../resources/spatial_objects/point/part-00001 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00002 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00003 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00004 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00005 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00006 | Bin 63655 -> 64155 bytes
.../resources/spatial_objects/point/part-00007 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00008 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00009 | Bin 63768 -> 64272 bytes
.../resources/spatial_objects/point/part-00010 | Bin 62256 -> 62769 bytes
.../spatial_objects/point_index/.part-00000.crc | Bin 484 -> 468 bytes
.../spatial_objects/point_index/.part-00001.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00002.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00003.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00004.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00005.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00006.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00007.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00008.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00009.crc | Bin 484 -> 464 bytes
.../spatial_objects/point_index/.part-00010.crc | Bin 480 -> 460 bytes
.../spatial_objects/point_index/part-00000 | Bin 60885 -> 58374 bytes
.../spatial_objects/point_index/part-00001 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00002 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00003 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00004 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00005 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00006 | Bin 60473 -> 57978 bytes
.../spatial_objects/point_index/part-00007 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00008 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00009 | Bin 60679 -> 58176 bytes
.../spatial_objects/point_index/part-00010 | Bin 60061 -> 57582 bytes
.../spatial_objects/polygon/.part-00000.crc | Bin 1748 -> 1768 bytes
.../spatial_objects/polygon/.part-00001.crc | Bin 1736 -> 1764 bytes
.../spatial_objects/polygon/.part-00002.crc | Bin 1736 -> 1776 bytes
.../spatial_objects/polygon/.part-00003.crc | Bin 1680 -> 1768 bytes
.../spatial_objects/polygon/.part-00004.crc | Bin 1740 -> 1708 bytes
.../resources/spatial_objects/polygon/part-00000 | Bin 222442 -> 225090 bytes
.../resources/spatial_objects/polygon/part-00001 | Bin 221110 -> 224638 bytes
.../resources/spatial_objects/polygon/part-00002 | Bin 220888 -> 226220 bytes
.../resources/spatial_objects/polygon/part-00003 | Bin 213590 -> 224864 bytes
.../resources/spatial_objects/polygon/part-00004 | Bin 221332 -> 217216 bytes
.../spatial_objects/polygon_index/.part-00000.crc | Bin 1772 -> 1688 bytes
.../spatial_objects/polygon_index/.part-00001.crc | Bin 1756 -> 1680 bytes
.../spatial_objects/polygon_index/.part-00002.crc | Bin 1752 -> 1700 bytes
.../spatial_objects/polygon_index/.part-00003.crc | Bin 1696 -> 1684 bytes
.../spatial_objects/polygon_index/.part-00004.crc | Bin 1756 -> 1628 bytes
.../spatial_objects/polygon_index/part-00000 | Bin 225419 -> 214667 bytes
.../spatial_objects/polygon_index/part-00001 | Bin 223271 -> 213979 bytes
.../spatial_objects/polygon_index/part-00002 | Bin 222913 -> 216387 bytes
.../spatial_objects/polygon_index/part-00003 | Bin 215753 -> 214323 bytes
.../spatial_objects/polygon_index/part-00004 | Bin 223629 -> 207099 bytes
.../spark/sql/geosparksql/UDT/GeometryUDT.scala | 2 +-
.../spark/sql/geosparksql/UDT/IndexUDT.scala | 2 +-
.../geosparksql/UDT/UdtRegistratorWrapper.scala | 4 +-
.../expressions/AggregateFunctions.scala | 2 +-
.../sql/geosparksql/expressions/Constructors.scala | 2 +-
.../sql/geosparksql/expressions/Functions.scala | 14 +--
.../sql/geosparksql/expressions/implicits.scala | 2 +-
.../strategy/join/DistanceJoinExec.scala | 2 +-
.../strategy/join/TraitJoinQueryExec.scala | 2 +-
.../org/datasyslab/geosparksql/UDF/Catalog.scala | 2 +-
.../org/datasyslab/geosparksql/utils/Adapter.scala | 2 +-
.../geosparksql/utils/GeometrySerializer.scala | 6 +-
.../geosparksql/utils/IndexSerializer.scala | 2 +-
.../geosparksql/utils/PythonAdapterWrapper.scala | 2 +-
.../datasyslab/geosparksql/adapterTestJava.java | 43 +++------
.../datasyslab/geosparksql/GeometrySample.scala | 4 +-
.../datasyslab/geosparksql/adapterTestScala.scala | 45 ++-------
.../geosparksql/aggregateFunctionTestScala.scala | 11 +--
.../geosparksql/constructorTestScala.scala | 19 +---
.../datasyslab/geosparksql/functionTestScala.scala | 41 ++------
.../org/datasyslab/geosparksql/implicits.scala | 4 +-
.../geosparksql/predicateJoinTestScala.scala | 107 +--------------------
.../geosparksql/predicateTestScala.scala | 14 ---
.../geosparkviz/core/GlobalParameter.java | 2 +-
.../geosparkviz/core/VisualizationOperator.java | 8 +-
.../visualizationEffect/ChoroplethMap.java | 4 +-
.../extension/visualizationEffect/HeatMap.java | 2 +-
.../extension/visualizationEffect/ScatterPlot.java | 2 +-
.../datasyslab/geosparkviz/showcase/Example.java | 4 +-
.../org/datasyslab/geosparkviz/utils/Pixel.java | 6 +-
.../geosparkviz/utils/RasterizationUtils.java | 14 +--
.../sql/geosparkviz/expressions/Pixelize.scala | 2 +-
.../geosparkviz/showcase/ScalaExample.scala | 2 +-
.../geosparkviz/sql/operator/VizPartitioner.scala | 2 +-
.../datasyslab/geosparkviz/ChoroplethmapTest.java | 2 +-
.../geosparkviz/GeoSparkVizTestBase.java | 2 +-
.../datasyslab/geosparkviz/NYCTripPointMapper.java | 10 +-
.../org/datasyslab/geosparkviz/NYCTripTest.java | 18 ++--
.../org/datasyslab/geosparkviz/rdd/scalaTest.scala | 2 +-
.../geosparkviz/sql/optVizOperatorTest.scala | 6 +-
.../geosparkviz/sql/standardVizOperatorTest.scala | 8 +-
252 files changed, 560 insertions(+), 741 deletions(-)
diff --git a/.gitmodules b/.gitmodules
index 0644f92..3701fc1 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,7 @@
[submodule "contrib/R"]
path = contrib/R
url = https://github.com/harryprince/geospark
+[submodule "jts"]
+ path = jts
+ url = https://github.com/jiayuasu/jts.git
+ branch = 1.16.x
diff --git a/.travis.yml b/.travis.yml
index 06bfb9b..7a79501 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,11 +6,13 @@ jdk:
- openjdk8
python:
- "3.7"
+
before_install:
- sudo apt-get -y install python3-pip python-dev
- sudo pip3 install -U setuptools
- sudo pip3 install -U wheel
- sudo pip3 install -U virtualenvwrapper
+
install:
- python3 -m pip install pipenv
- wget https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop2.7.tgz
@@ -18,7 +20,7 @@ install:
- rm spark-3.0.0-bin-hadoop2.7.tgz
script:
- - (cd python;pipenv install --dev)
+ - (cd python;pipenv install --dev)
- export SPARK_HOME=$PWD/spark-3.0.0-bin-hadoop2.7
- export PYTHONPATH=$SPARK_HOME/python
- mvn -q clean install
@@ -26,12 +28,22 @@ script:
- find sql/target/ -iregex "sql\/target\/geospark-sql_[0-9]\.[0-9]-[0-9]\.[0-9]\.[0-9]\(-SNAPSHOT\)?\.jar" -exec cp {} $SPARK_HOME/jars \;
- mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=com.googlecode.efficient-java-matrix-library:core:0.26
- mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=net.java.dev.jsr-275:jsr-275:1.0-beta-2
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-epsg-extension:17.0
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-epsg-hsql:17.0
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-main:17.0
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-metadata:17.0
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-opengis:17.0
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-referencing:17.0
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-shapefile:17.0
- - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.hsqldb:hsqldb:2.3.0
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-epsg-extension:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools.ogc:org.w3.xlink:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools.ogc:net.opengis.ows:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-epsg-hsql:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-main:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-metadata:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-opengis:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-referencing:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.geotools:gt-shapefile:23.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.hsqldb:hsqldb:2.4.1
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=javax.measure:unit-api:1.0
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=tec.uom:uom-se:1.0.8
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=tec.uom.lib:uom-lib-common:1.0.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=si.uom:si-quantity:0.7.1
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=si.uom:si-units-java8:0.7.1
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=systems.uom:systems-common-java8:0.7.2
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.ejml:ejml-core:0.34
+ - mvn dependency:get -Ddest=${SPARK_HOME}/jars -Dartifact=org.ejml:ejml-ddense:0.34
- (cd python;pipenv run pytest tests)
diff --git a/contrib/R b/contrib/R
index 4c96bc2..732c6ac 160000
--- a/contrib/R
+++ b/contrib/R
@@ -1 +1 @@
-Subproject commit 4c96bc2c698855ceda0339f80fbcebf88b4d3838
+Subproject commit 732c6ac0898d6018599b6ab4ca651e631e2f4e69
diff --git a/core/pom.xml b/core/pom.xml
index b4c79ad..13bc064 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -33,14 +33,15 @@
<dependencies>
<dependency>
- <groupId>org.datasyslab</groupId>
- <artifactId>JTSplus</artifactId>
- <version>0.1.4</version>
+ <groupId>org.locationtech.jts</groupId>
+ <artifactId>jts-core</artifactId>
+ <version>1.16.2-SNAPSHOT</version>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.wololo</groupId>
<artifactId>jts2geojson</artifactId>
- <version>0.10.0</version>
+ <version>0.13.0</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/EarthdataHDFPointMapper.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/EarthdataHDFPointMapper.java
index c5ef509..5989cf1 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/EarthdataHDFPointMapper.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/EarthdataHDFPointMapper.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.formatMapper;
-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 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.apache.spark.api.java.function.FlatMapFunction;
import org.datasyslab.sernetcdf.SerNetCDFUtils;
import ucar.ma2.Array;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/FormatMapper.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/FormatMapper.java
index 42f742c..f54fa4d 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/FormatMapper.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/FormatMapper.java
@@ -16,17 +16,17 @@
*/
package org.datasyslab.geospark.formatMapper;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.io.ParseException;
-import com.vividsolutions.jts.io.WKBReader;
-import com.vividsolutions.jts.io.WKTReader;
-import com.vividsolutions.jts.operation.valid.IsValidOp;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKBReader;
+import org.locationtech.jts.io.WKTReader;
+import org.locationtech.jts.operation.valid.IsValidOp;
import org.apache.log4j.Logger;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.datasyslab.geospark.enums.FileDataSplitter;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/GeoJsonReader.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/GeoJsonReader.java
index 8fb66a2..ce123b3 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/GeoJsonReader.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/GeoJsonReader.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.formatMapper;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.datasyslab.geospark.enums.FileDataSplitter;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/RddReader.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/RddReader.java
index 2bd1b21..f99ad55 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/RddReader.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/RddReader.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.formatMapper;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.api.java.JavaRDD;
import org.datasyslab.geospark.spatialRDD.SpatialRDD;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/WkbReader.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/WkbReader.java
index 47be092..247cf02 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/WkbReader.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/WkbReader.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.formatMapper;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.datasyslab.geospark.enums.FileDataSplitter;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/WktReader.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/WktReader.java
index 961e1b3..b53e17e 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/WktReader.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/WktReader.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.formatMapper;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.datasyslab.geospark.enums.FileDataSplitter;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileRDD.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileRDD.java
index 9d166c8..8ef80bc 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileRDD.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileRDD.java
@@ -16,14 +16,14 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileReader.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileReader.java
index a90d4ec..cc96cc3 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileReader.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/ShapefileReader.java
@@ -16,14 +16,14 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/MultiPointParser.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/MultiPointParser.java
index 4851a11..ef1400d 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/MultiPointParser.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/MultiPointParser.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp;
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiPoint;
import java.io.IOException;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PointParser.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PointParser.java
index c0e3525..ac265f7 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PointParser.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PointParser.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp;
-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 org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
import java.io.IOException;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolyLineParser.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolyLineParser.java
index cc53815..4dacd49 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolyLineParser.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolyLineParser.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp;
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
import java.io.IOException;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolygonParser.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolygonParser.java
index 44d9da1..c808120 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolygonParser.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/PolygonParser.java
@@ -16,11 +16,11 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp;
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
import org.geotools.geometry.jts.coordinatesequence.CoordinateSequences;
import java.io.IOException;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeParser.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeParser.java
index d32cf70..436c718 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeParser.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeParser.java
@@ -16,9 +16,9 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp;
-import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.CoordinateSequence;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
import java.io.IOException;
import java.io.Serializable;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeSerde.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeSerde.java
index fd1f2fb..c7c607d 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeSerde.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeSerde.java
@@ -18,14 +18,14 @@
package org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp;
import com.esotericsoftware.kryo.io.Input;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeType.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeType.java
index 1e8ef16..f3f1c7a 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeType.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/parseUtils/shp/ShapeType.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp;
-import com.vividsolutions.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.GeometryFactory;
import java.io.Serializable;
diff --git a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/PrimitiveShape.java b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/PrimitiveShape.java
index b69e0b4..ef83347 100644
--- a/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/PrimitiveShape.java
+++ b/core/src/main/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/PrimitiveShape.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.shapes;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
import org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp.ShapeParser;
import org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp.ShapeReaderFactory;
import org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp.ShapeType;
diff --git a/core/src/main/java/org/datasyslab/geospark/geometryObjects/Circle.java b/core/src/main/java/org/datasyslab/geospark/geometryObjects/Circle.java
index b712327..f5cf610 100644
--- a/core/src/main/java/org/datasyslab/geospark/geometryObjects/Circle.java
+++ b/core/src/main/java/org/datasyslab/geospark/geometryObjects/Circle.java
@@ -16,19 +16,19 @@
*/
package org.datasyslab.geospark.geometryObjects;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.CoordinateFilter;
-import com.vividsolutions.jts.geom.CoordinateSequenceComparator;
-import com.vividsolutions.jts.geom.CoordinateSequenceFilter;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.geom.GeometryComponentFilter;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.GeometryFilter;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.CoordinateFilter;
+import org.locationtech.jts.geom.CoordinateSequenceComparator;
+import org.locationtech.jts.geom.CoordinateSequenceFilter;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryComponentFilter;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.GeometryFilter;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
// TODO: Auto-generated Javadoc
@@ -128,7 +128,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#covers(com.vividsolutions.jts.geom.Geometry)
+ * @see org.locationtech.jts.geom.Geometry#covers(org.locationtech.jts.geom.Geometry)
*/
@Override
public boolean covers(Geometry other)
@@ -184,7 +184,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#intersects(com.vividsolutions.jts.geom.Geometry)
+ * @see org.locationtech.jts.geom.Geometry#intersects(org.locationtech.jts.geom.Geometry)
*/
@Override
public boolean intersects(Geometry other)
@@ -290,7 +290,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#getGeometryType()
+ * @see org.locationtech.jts.geom.Geometry#getGeometryType()
*/
@Override
public String getGeometryType()
@@ -299,7 +299,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#getCoordinate()
+ * @see org.locationtech.jts.geom.Geometry#getCoordinate()
*/
@Override
public Coordinate getCoordinate()
@@ -308,7 +308,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#getCoordinates()
+ * @see org.locationtech.jts.geom.Geometry#getCoordinates()
*/
@Override
public Coordinate[] getCoordinates()
@@ -317,7 +317,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#getNumPoints()
+ * @see org.locationtech.jts.geom.Geometry#getNumPoints()
*/
@Override
public int getNumPoints()
@@ -326,7 +326,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#isEmpty()
+ * @see org.locationtech.jts.geom.Geometry#isEmpty()
*/
@Override
public boolean isEmpty()
@@ -335,7 +335,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#getDimension()
+ * @see org.locationtech.jts.geom.Geometry#getDimension()
*/
@Override
public int getDimension()
@@ -344,7 +344,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#getBoundary()
+ * @see org.locationtech.jts.geom.Geometry#getBoundary()
*/
@Override
public Geometry getBoundary()
@@ -353,7 +353,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#getBoundaryDimension()
+ * @see org.locationtech.jts.geom.Geometry#getBoundaryDimension()
*/
@Override
public int getBoundaryDimension()
@@ -362,7 +362,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#reverse()
+ * @see org.locationtech.jts.geom.Geometry#reverse()
*/
@Override
public Geometry reverse()
@@ -372,19 +372,21 @@ public class Circle
return newCircle;
}
- /* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#clone()
- */
- @Override
- public Object clone()
+ public Geometry copy()
{
- Geometry g = (Geometry) this.centerGeometry.clone();
- Circle cloneCircle = new Circle(g, this.radius);
+ Circle cloneCircle = new Circle(this.centerGeometry.copy(), this.radius);
return cloneCircle;// return the clone
}
+ @Override
+ protected Geometry copyInternal()
+ {
+ Circle cloneCircle = new Circle(this.centerGeometry.copy(), this.radius);
+ return cloneCircle;
+ }
+
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#equalsExact(com.vividsolutions.jts.geom.Geometry, double)
+ * @see org.locationtech.jts.geom.Geometry#equalsExact(org.locationtech.jts.geom.Geometry, double)
*/
@Override
public boolean equalsExact(Geometry g, double tolerance)
@@ -400,7 +402,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#apply(com.vividsolutions.jts.geom.CoordinateFilter)
+ * @see org.locationtech.jts.geom.Geometry#apply(org.locationtech.jts.geom.CoordinateFilter)
*/
@Override
public void apply(CoordinateFilter filter)
@@ -409,7 +411,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#apply(com.vividsolutions.jts.geom.CoordinateSequenceFilter)
+ * @see org.locationtech.jts.geom.Geometry#apply(org.locationtech.jts.geom.CoordinateSequenceFilter)
*/
@Override
public void apply(CoordinateSequenceFilter filter)
@@ -418,7 +420,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#apply(com.vividsolutions.jts.geom.GeometryFilter)
+ * @see org.locationtech.jts.geom.Geometry#apply(org.locationtech.jts.geom.GeometryFilter)
*/
@Override
public void apply(GeometryFilter filter)
@@ -427,7 +429,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#apply(com.vividsolutions.jts.geom.GeometryComponentFilter)
+ * @see org.locationtech.jts.geom.Geometry#apply(org.locationtech.jts.geom.GeometryComponentFilter)
*/
@Override
public void apply(GeometryComponentFilter filter)
@@ -436,7 +438,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#normalize()
+ * @see org.locationtech.jts.geom.Geometry#normalize()
*/
@Override
public void normalize()
@@ -445,7 +447,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#computeEnvelopeInternal()
+ * @see org.locationtech.jts.geom.Geometry#computeEnvelopeInternal()
*/
@Override
protected Envelope computeEnvelopeInternal()
@@ -457,7 +459,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#compareToSameClass(java.lang.Object)
+ * @see org.locationtech.jts.geom.Geometry#compareToSameClass(java.lang.Object)
*/
@Override
protected int compareToSameClass(Object other)
@@ -477,7 +479,7 @@ public class Circle
}
/* (non-Javadoc)
- * @see com.vividsolutions.jts.geom.Geometry#compareToSameClass(java.lang.Object, com.vividsolutions.jts.geom.CoordinateSequenceComparator)
+ * @see org.locationtech.jts.geom.Geometry#compareToSameClass(java.lang.Object, org.locationtech.jts.geom.CoordinateSequenceComparator)
*/
@Override
protected int compareToSameClass(Object other, CoordinateSequenceComparator comp)
@@ -497,6 +499,12 @@ public class Circle
}
@Override
+ protected int getSortIndex()
+ {
+ return 0;
+ }
+
+ @Override
public String toString()
{
return "Circle of radius " + radius + " around " + centerGeometry;
diff --git a/core/src/main/java/org/datasyslab/geospark/geometryObjects/GeometrySerde.java b/core/src/main/java/org/datasyslab/geospark/geometryObjects/GeometrySerde.java
index c6d98a1..73cfef7 100755
--- a/core/src/main/java/org/datasyslab/geospark/geometryObjects/GeometrySerde.java
+++ b/core/src/main/java/org/datasyslab/geospark/geometryObjects/GeometrySerde.java
@@ -22,16 +22,16 @@ import com.esotericsoftware.kryo.Registration;
import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Logger;
import org.datasyslab.geospark.formatMapper.shapefileParser.parseUtils.shp.ShapeSerde;
diff --git a/core/src/main/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerde.java b/core/src/main/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerde.java
index ff2d8e4..3171fe3 100644
--- a/core/src/main/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerde.java
+++ b/core/src/main/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerde.java
@@ -21,13 +21,13 @@ import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.index.quadtree.Node;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.AbstractNode;
-import com.vividsolutions.jts.index.strtree.ItemBoundable;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.quadtree.Node;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.AbstractNode;
+import org.locationtech.jts.index.strtree.ItemBoundable;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.log4j.Logger;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/joinJudgement/DedupParams.java b/core/src/main/java/org/datasyslab/geospark/joinJudgement/DedupParams.java
index db3c4c0..fed0907 100644
--- a/core/src/main/java/org/datasyslab/geospark/joinJudgement/DedupParams.java
+++ b/core/src/main/java/org/datasyslab/geospark/joinJudgement/DedupParams.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.joinJudgement;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import java.io.Serializable;
import java.util.List;
diff --git a/core/src/main/java/org/datasyslab/geospark/joinJudgement/DynamicIndexLookupJudgement.java b/core/src/main/java/org/datasyslab/geospark/joinJudgement/DynamicIndexLookupJudgement.java
index 5ee844a..fea2c30 100644
--- a/core/src/main/java/org/datasyslab/geospark/joinJudgement/DynamicIndexLookupJudgement.java
+++ b/core/src/main/java/org/datasyslab/geospark/joinJudgement/DynamicIndexLookupJudgement.java
@@ -16,11 +16,11 @@
*/
package org.datasyslab.geospark.joinJudgement;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.index.SpatialIndex;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
diff --git a/core/src/main/java/org/datasyslab/geospark/joinJudgement/JudgementBase.java b/core/src/main/java/org/datasyslab/geospark/joinJudgement/JudgementBase.java
index 7b57cbc..251a93b 100644
--- a/core/src/main/java/org/datasyslab/geospark/joinJudgement/JudgementBase.java
+++ b/core/src/main/java/org/datasyslab/geospark/joinJudgement/JudgementBase.java
@@ -16,11 +16,11 @@
*/
package org.datasyslab.geospark.joinJudgement;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.spark.TaskContext;
diff --git a/core/src/main/java/org/datasyslab/geospark/joinJudgement/LeftIndexLookupJudgement.java b/core/src/main/java/org/datasyslab/geospark/joinJudgement/LeftIndexLookupJudgement.java
index b75f567..29658f5 100644
--- a/core/src/main/java/org/datasyslab/geospark/joinJudgement/LeftIndexLookupJudgement.java
+++ b/core/src/main/java/org/datasyslab/geospark/joinJudgement/LeftIndexLookupJudgement.java
@@ -17,8 +17,8 @@
package org.datasyslab.geospark.joinJudgement;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.index.SpatialIndex;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.SpatialIndex;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.spark.api.java.function.FlatMapFunction2;
diff --git a/core/src/main/java/org/datasyslab/geospark/joinJudgement/NestedLoopJudgement.java b/core/src/main/java/org/datasyslab/geospark/joinJudgement/NestedLoopJudgement.java
index dba08fd..dc4e9cb 100644
--- a/core/src/main/java/org/datasyslab/geospark/joinJudgement/NestedLoopJudgement.java
+++ b/core/src/main/java/org/datasyslab/geospark/joinJudgement/NestedLoopJudgement.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.joinJudgement;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
diff --git a/core/src/main/java/org/datasyslab/geospark/joinJudgement/RightIndexLookupJudgement.java b/core/src/main/java/org/datasyslab/geospark/joinJudgement/RightIndexLookupJudgement.java
index 8c5a583..ca2df3a 100644
--- a/core/src/main/java/org/datasyslab/geospark/joinJudgement/RightIndexLookupJudgement.java
+++ b/core/src/main/java/org/datasyslab/geospark/joinJudgement/RightIndexLookupJudgement.java
@@ -17,8 +17,8 @@
package org.datasyslab.geospark.joinJudgement;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.index.SpatialIndex;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.SpatialIndex;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.spark.api.java.function.FlatMapFunction2;
diff --git a/core/src/main/java/org/datasyslab/geospark/knnJudgement/GeometryDistanceComparator.java b/core/src/main/java/org/datasyslab/geospark/knnJudgement/GeometryDistanceComparator.java
index 187718e..4f1504a 100644
--- a/core/src/main/java/org/datasyslab/geospark/knnJudgement/GeometryDistanceComparator.java
+++ b/core/src/main/java/org/datasyslab/geospark/knnJudgement/GeometryDistanceComparator.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.knnJudgement;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import java.io.Serializable;
import java.util.Comparator;
diff --git a/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgement.java b/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgement.java
index 616bbec..a841bdc 100644
--- a/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgement.java
+++ b/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgement.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.knnJudgement;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.io.Serializable;
diff --git a/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgementUsingIndex.java b/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgementUsingIndex.java
index e8f564b..f4ce367 100644
--- a/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgementUsingIndex.java
+++ b/core/src/main/java/org/datasyslab/geospark/knnJudgement/KnnJudgementUsingIndex.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.knnJudgement;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.index.SpatialIndex;
-import com.vividsolutions.jts.index.strtree.GeometryItemDistance;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.strtree.GeometryItemDistance;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.io.Serializable;
@@ -68,7 +68,7 @@ public class KnnJudgementUsingIndex<U extends Geometry, T extends Geometry>
SpatialIndex treeIndex = treeIndexes.next();
final Object[] localK;
if (treeIndex instanceof STRtree) {
- localK = ((STRtree) treeIndex).kNearestNeighbour(queryCenter.getEnvelopeInternal(), queryCenter, new GeometryItemDistance(), k);
+ localK = ((STRtree) treeIndex).nearestNeighbour(queryCenter.getEnvelopeInternal(), queryCenter, new GeometryItemDistance(), k);
}
else {
throw new Exception("[KnnJudgementUsingIndex][Call] QuadTree index doesn't support KNN search.");
diff --git a/core/src/main/java/org/datasyslab/geospark/rangeJudgement/JudgementBase.java b/core/src/main/java/org/datasyslab/geospark/rangeJudgement/JudgementBase.java
index b2a4b6a..17332e4 100644
--- a/core/src/main/java/org/datasyslab/geospark/rangeJudgement/JudgementBase.java
+++ b/core/src/main/java/org/datasyslab/geospark/rangeJudgement/JudgementBase.java
@@ -17,7 +17,7 @@
package org.datasyslab.geospark.rangeJudgement;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
diff --git a/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilter.java b/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilter.java
index d49ac7e..007fbe8 100644
--- a/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilter.java
+++ b/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilter.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.rangeJudgement;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.api.java.function.Function;
// TODO: Auto-generated Javadoc
diff --git a/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilterUsingIndex.java b/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilterUsingIndex.java
index 634bae7..bd07e15 100644
--- a/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilterUsingIndex.java
+++ b/core/src/main/java/org/datasyslab/geospark/rangeJudgement/RangeFilterUsingIndex.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.rangeJudgement;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.index.SpatialIndex;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.SpatialIndex;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/serde/GeoSparkKryoRegistrator.java b/core/src/main/java/org/datasyslab/geospark/serde/GeoSparkKryoRegistrator.java
index 81f220c..bff5687 100644
--- a/core/src/main/java/org/datasyslab/geospark/serde/GeoSparkKryoRegistrator.java
+++ b/core/src/main/java/org/datasyslab/geospark/serde/GeoSparkKryoRegistrator.java
@@ -18,16 +18,16 @@
package org.datasyslab.geospark.serde;
import com.esotericsoftware.kryo.Kryo;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.log4j.Logger;
import org.apache.spark.serializer.KryoRegistrator;
import org.datasyslab.geospark.geometryObjects.Circle;
diff --git a/core/src/main/java/org/datasyslab/geospark/showcase/EarthdataMapperRunnableExample.java b/core/src/main/java/org/datasyslab/geospark/showcase/EarthdataMapperRunnableExample.java
index 06e4133..c177c76 100644
--- a/core/src/main/java/org/datasyslab/geospark/showcase/EarthdataMapperRunnableExample.java
+++ b/core/src/main/java/org/datasyslab/geospark/showcase/EarthdataMapperRunnableExample.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.showcase;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/main/java/org/datasyslab/geospark/showcase/Example.java b/core/src/main/java/org/datasyslab/geospark/showcase/Example.java
index e104aa5..9ec067e 100644
--- a/core/src/main/java/org/datasyslab/geospark/showcase/Example.java
+++ b/core/src/main/java/org/datasyslab/geospark/showcase/Example.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.showcase;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedLineStringMapper.java b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedLineStringMapper.java
index 057c700..fbc4045 100644
--- a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedLineStringMapper.java
+++ b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedLineStringMapper.java
@@ -16,14 +16,14 @@
*/
package org.datasyslab.geospark.showcase;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.io.WKTReader;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.io.WKTReader;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPointMapper.java b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPointMapper.java
index 0597518..b3a785b 100644
--- a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPointMapper.java
+++ b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPointMapper.java
@@ -16,9 +16,9 @@
*/
package org.datasyslab.geospark.showcase;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPolygonMapper.java b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPolygonMapper.java
index 6642315..548e9c7 100644
--- a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPolygonMapper.java
+++ b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedPolygonMapper.java
@@ -16,13 +16,13 @@
*/
package org.datasyslab.geospark.showcase;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.io.WKTReader;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.io.WKTReader;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedRectangleMapper.java b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedRectangleMapper.java
index 71a3c65..6625546 100644
--- a/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedRectangleMapper.java
+++ b/core/src/main/java/org/datasyslab/geospark/showcase/UserSuppliedRectangleMapper.java
@@ -16,14 +16,14 @@
*/
package org.datasyslab.geospark.showcase;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.io.WKTReader;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.io.WKTReader;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialOperator/JoinQuery.java b/core/src/main/java/org/datasyslab/geospark/spatialOperator/JoinQuery.java
index 8dc7b53..9ca0fb5 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialOperator/JoinQuery.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialOperator/JoinQuery.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialOperator/KNNQuery.java b/core/src/main/java/org/datasyslab/geospark/spatialOperator/KNNQuery.java
index 4dd74cf..1ea5730 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialOperator/KNNQuery.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialOperator/KNNQuery.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.api.java.JavaRDD;
import org.datasyslab.geospark.knnJudgement.GeometryDistanceComparator;
import org.datasyslab.geospark.knnJudgement.KnnJudgement;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialOperator/RangeQuery.java b/core/src/main/java/org/datasyslab/geospark/spatialOperator/RangeQuery.java
index cae69e4..b37e7ff 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialOperator/RangeQuery.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialOperator/RangeQuery.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
import org.apache.spark.api.java.JavaRDD;
import org.datasyslab.geospark.rangeJudgement.RangeFilter;
import org.datasyslab.geospark.rangeJudgement.RangeFilterUsingIndex;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/EqualPartitioning.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/EqualPartitioning.java
index 9a2b9dc..ae79175 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/EqualPartitioning.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/EqualPartitioning.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/FlatGridPartitioner.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/FlatGridPartitioner.java
index 26df2b6..cf77f15 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/FlatGridPartitioner.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/FlatGridPartitioner.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.joinJudgement.DedupParams;
import scala.Tuple2;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/HilbertPartitioning.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/HilbertPartitioning.java
index c2c6eba..66aa2e3 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/HilbertPartitioning.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/HilbertPartitioning.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTree.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTree.java
index 9154e29..20433d9 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTree.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTree.java
@@ -17,7 +17,7 @@
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTreePartitioner.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTreePartitioner.java
index 6f33250..ac686fd 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTreePartitioner.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/KDBTreePartitioner.java
@@ -17,9 +17,9 @@
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.joinJudgement.DedupParams;
import org.datasyslab.geospark.utils.HalfOpenRectangle;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/QuadtreePartitioning.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/QuadtreePartitioning.java
index 252f739..708ec69 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/QuadtreePartitioning.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/QuadtreePartitioning.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.datasyslab.geospark.spatialPartitioning.quadtree.QuadRectangle;
import org.datasyslab.geospark.spatialPartitioning.quadtree.StandardQuadTree;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/RtreePartitioning.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/RtreePartitioning.java
index 21b4c0a..6e34308 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/RtreePartitioning.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/RtreePartitioning.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.index.strtree.STRtree;
import java.io.Serializable;
import java.util.ArrayList;
@@ -52,7 +52,7 @@ public class RtreePartitioning
strtree.insert(sample, sample);
}
- List<Envelope> envelopes = strtree.queryBoundary();
+ List<Envelope> envelopes = strtree.findLeafBounds();
for (Envelope envelope : envelopes) {
grids.add(envelope);
}
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/SpatialPartitioner.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/SpatialPartitioner.java
index e4ca81e..a0737ae 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/SpatialPartitioner.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/SpatialPartitioner.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
import org.apache.spark.Partitioner;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.joinJudgement.DedupParams;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/VoronoiPartitioning.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/VoronoiPartitioning.java
index 6ace1be..94fec11 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/VoronoiPartitioning.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/VoronoiPartitioning.java
@@ -16,14 +16,14 @@
*/
package org.datasyslab.geospark.spatialPartitioning;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.MultiPoint;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.triangulate.VoronoiDiagramBuilder;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiPoint;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.triangulate.VoronoiDiagramBuilder;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadRectangle.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadRectangle.java
index 2240758..fd0ee8a 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadRectangle.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadRectangle.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.spatialPartitioning.quadtree;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import java.io.Serializable;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioner.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioner.java
index adbd8b0..a24659b 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioner.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioner.java
@@ -16,9 +16,9 @@
*/
package org.datasyslab.geospark.spatialPartitioning.quadtree;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.joinJudgement.DedupParams;
import org.datasyslab.geospark.spatialPartitioning.SpatialPartitioner;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/StandardQuadTree.java b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/StandardQuadTree.java
index d99b276..157058e 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/StandardQuadTree.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialPartitioning/quadtree/StandardQuadTree.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.spatialPartitioning.quadtree;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.commons.lang3.mutable.MutableInt;
import java.io.Serializable;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRDD/CircleRDD.java b/core/src/main/java/org/datasyslab/geospark/spatialRDD/CircleRDD.java
index 949127f..58d5068 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRDD/CircleRDD.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRDD/CircleRDD.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.spatialRDD;
-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 org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.function.Function;
import org.datasyslab.geospark.geometryObjects.Circle;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRDD/LineStringRDD.java b/core/src/main/java/org/datasyslab/geospark/spatialRDD/LineStringRDD.java
index 8726ed2..72345e0 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRDD/LineStringRDD.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRDD/LineStringRDD.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.LineString;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LineString;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRDD/PointRDD.java b/core/src/main/java/org/datasyslab/geospark/spatialRDD/PointRDD.java
index 07bb607..d8b549d 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRDD/PointRDD.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRDD/PointRDD.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Point;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRDD/PolygonRDD.java b/core/src/main/java/org/datasyslab/geospark/spatialRDD/PolygonRDD.java
index 03b4403..74154b6 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRDD/PolygonRDD.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRDD/PolygonRDD.java
@@ -16,14 +16,14 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.geom.PrecisionModel;
-import com.vividsolutions.jts.precision.GeometryPrecisionReducer;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.geom.PrecisionModel;
+import org.locationtech.jts.precision.GeometryPrecisionReducer;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRDD/RectangleRDD.java b/core/src/main/java/org/datasyslab/geospark/spatialRDD/RectangleRDD.java
index e5ede02..a3694b9 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRDD/RectangleRDD.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRDD/RectangleRDD.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Polygon;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRDD/SpatialRDD.java b/core/src/main/java/org/datasyslab/geospark/spatialRDD/SpatialRDD.java
index 809de62..7f4f623 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRDD/SpatialRDD.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRDD/SpatialRDD.java
@@ -16,15 +16,15 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.index.SpatialIndex;
-import com.vividsolutions.jts.io.WKBWriter;
-import com.vividsolutions.jts.io.WKTWriter;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.io.WKBWriter;
+import org.locationtech.jts.io.WKTWriter;
import org.apache.commons.lang.NullArgumentException;
import org.apache.log4j.Logger;
import org.apache.spark.api.java.JavaRDD;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRddTool/IndexBuilder.java b/core/src/main/java/org/datasyslab/geospark/spatialRddTool/IndexBuilder.java
index 8ccfb93..1fb181e 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRddTool/IndexBuilder.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRddTool/IndexBuilder.java
@@ -17,11 +17,11 @@
package org.datasyslab.geospark.spatialRddTool;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.index.SpatialIndex;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.datasyslab.geospark.enums.IndexType;
diff --git a/core/src/main/java/org/datasyslab/geospark/spatialRddTool/StatCalculator.java b/core/src/main/java/org/datasyslab/geospark/spatialRddTool/StatCalculator.java
index 9f63150..ed37f86 100644
--- a/core/src/main/java/org/datasyslab/geospark/spatialRddTool/StatCalculator.java
+++ b/core/src/main/java/org/datasyslab/geospark/spatialRddTool/StatCalculator.java
@@ -17,8 +17,8 @@
package org.datasyslab.geospark.spatialRddTool;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
import java.io.Serializable;
import java.util.Objects;
diff --git a/core/src/main/java/org/datasyslab/geospark/utils/CRSTransformation.java b/core/src/main/java/org/datasyslab/geospark/utils/CRSTransformation.java
index 44b16e8..1d67900 100644
--- a/core/src/main/java/org/datasyslab/geospark/utils/CRSTransformation.java
+++ b/core/src/main/java/org/datasyslab/geospark/utils/CRSTransformation.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geospark.utils;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.geotools.geometry.jts.JTS;
import org.geotools.referencing.CRS;
import org.opengis.geometry.MismatchedDimensionException;
diff --git a/core/src/main/java/org/datasyslab/geospark/utils/GeoSparkConf.java b/core/src/main/java/org/datasyslab/geospark/utils/GeoSparkConf.java
index 7c2a5ec..4b6fefc 100644
--- a/core/src/main/java/org/datasyslab/geospark/utils/GeoSparkConf.java
+++ b/core/src/main/java/org/datasyslab/geospark/utils/GeoSparkConf.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.utils;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.spark.SparkConf;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
diff --git a/core/src/main/java/org/datasyslab/geospark/utils/HalfOpenRectangle.java b/core/src/main/java/org/datasyslab/geospark/utils/HalfOpenRectangle.java
index 60e7a22..f7403a4 100644
--- a/core/src/main/java/org/datasyslab/geospark/utils/HalfOpenRectangle.java
+++ b/core/src/main/java/org/datasyslab/geospark/utils/HalfOpenRectangle.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geospark.utils;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Point;
public class HalfOpenRectangle
{
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/adapters/EnvelopeAdapter.scala b/core/src/main/scala/org/datasyslab/geospark/python/adapters/EnvelopeAdapter.scala
index ef62bf3..90a36a1 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/adapters/EnvelopeAdapter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/adapters/EnvelopeAdapter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.adapters
-import com.vividsolutions.jts.geom.Envelope
+import org.locationtech.jts.geom.Envelope
import net.razorvine.pickle.Unpickler
import net.razorvine.pickle.objects.ClassDict
import scala.collection.JavaConverters._
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeoSparkPythonConverter.scala b/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeoSparkPythonConverter.scala
index 849d488..31d9723 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeoSparkPythonConverter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeoSparkPythonConverter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.adapters
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.api.java.{JavaPairRDD, JavaRDD}
import org.datasyslab.geospark.python.translation.{FlatPairRddConverter, GeometryRddConverter, GeometrySeqToPythonConverter, HashSetPairRddConverter, PythonGeometrySerializer, PythonRDDToJavaConverter}
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeometryAdapter.scala b/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeometryAdapter.scala
index b0de400..03939d3 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeometryAdapter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/adapters/GeometryAdapter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.adapters
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.datasyslab.geospark.python.translation.PythonGeometrySerializer
object GeometryAdapter extends GeomSerializer{
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/adapters/PythonRddToJavaRDDAdapter.scala b/core/src/main/scala/org/datasyslab/geospark/python/adapters/PythonRddToJavaRDDAdapter.scala
index 083e2b9..de04c75 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/adapters/PythonRddToJavaRDDAdapter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/adapters/PythonRddToJavaRDDAdapter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.adapters
-import com.vividsolutions.jts.geom.{Geometry, LineString, Point, Polygon}
+import org.locationtech.jts.geom.{Geometry, LineString, Point, Polygon}
import net.razorvine.pickle.Unpickler
import net.razorvine.pickle.objects.ClassDict
import org.apache.spark.api.java.JavaRDD
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/adapters/RawJvmIndexRDDAdapter.scala b/core/src/main/scala/org/datasyslab/geospark/python/adapters/RawJvmIndexRDDAdapter.scala
index a567fae..c8659d5 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/adapters/RawJvmIndexRDDAdapter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/adapters/RawJvmIndexRDDAdapter.scala
@@ -1,7 +1,7 @@
package org.datasyslab.geospark.python.adapters
-import com.vividsolutions.jts.geom.Geometry
-import com.vividsolutions.jts.index.SpatialIndex
+import org.locationtech.jts.geom.Geometry
+import org.locationtech.jts.index.SpatialIndex
import org.apache.spark.api.java.JavaRDD
import org.datasyslab.geospark.spatialRDD.SpatialRDD
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/adapters/SpatialObjectLoaderAdapter.scala b/core/src/main/scala/org/datasyslab/geospark/python/adapters/SpatialObjectLoaderAdapter.scala
index 5b7a11a..d2441bb 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/adapters/SpatialObjectLoaderAdapter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/adapters/SpatialObjectLoaderAdapter.scala
@@ -1,7 +1,7 @@
package org.datasyslab.geospark.python.adapters
-import com.vividsolutions.jts.geom.{Geometry, LineString, Point, Polygon}
-import com.vividsolutions.jts.index.SpatialIndex
+import org.locationtech.jts.geom.{Geometry, LineString, Point, Polygon}
+import org.locationtech.jts.index.SpatialIndex
import org.apache.spark.api.java.{JavaRDD, JavaSparkContext}
import org.datasyslab.geospark.spatialRDD.{LineStringRDD, PointRDD, PolygonRDD, SpatialRDD}
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/CircleSerializer.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/CircleSerializer.scala
index e5afa71..b516879 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/CircleSerializer.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/CircleSerializer.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.io.WKBWriter
+import org.locationtech.jts.io.WKBWriter
import org.datasyslab.geospark.geometryObjects.Circle
import org.datasyslab.geospark.python.utils.implicits._
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/FlatPairRddConverter.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/FlatPairRddConverter.scala
index 872ae84..be000c0 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/FlatPairRddConverter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/FlatPairRddConverter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.api.java.{JavaPairRDD, JavaRDD}
import org.datasyslab.geospark.python.utils.implicits._
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometryRddConverter.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometryRddConverter.scala
index 01f0498..d51df48 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometryRddConverter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometryRddConverter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.api.java.JavaRDD
import org.datasyslab.geospark.python.utils.implicits._
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySeqToPythonConverter.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySeqToPythonConverter.scala
index b577f1d..b89c82c 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySeqToPythonConverter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySeqToPythonConverter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.datasyslab.geospark.python.utils.implicits._
case class GeometrySeqToPythonConverter(spatialData: scala.collection.convert.Wrappers.SeqWrapper[Geometry],
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySerializer.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySerializer.scala
index ea201aa..b4e61eb 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySerializer.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/GeometrySerializer.scala
@@ -1,7 +1,7 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.geom.Geometry
-import com.vividsolutions.jts.io.WKBWriter
+import org.locationtech.jts.geom.Geometry
+import org.locationtech.jts.io.WKBWriter
import org.datasyslab.geospark.python.utils.implicits._
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/HashSetPairRddConverter.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/HashSetPairRddConverter.scala
index 72c408c..77440ae 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/HashSetPairRddConverter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/HashSetPairRddConverter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.api.java.{JavaPairRDD, JavaRDD}
import org.datasyslab.geospark.python.utils.implicits._
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonGeometrySerializer.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonGeometrySerializer.scala
index 4d1dcd7..7e2a159 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonGeometrySerializer.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonGeometrySerializer.scala
@@ -1,7 +1,7 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.geom.Geometry
-import com.vividsolutions.jts.io.WKBReader
+import org.locationtech.jts.geom.Geometry
+import org.locationtech.jts.io.WKBReader
import org.datasyslab.geospark.geometryObjects.Circle
import org.datasyslab.geospark.python.SerializationException
import java.nio.ByteBuffer
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRDDToJavaConverter.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRDDToJavaConverter.scala
index 24812f5..81d8d91 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRDDToJavaConverter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRDDToJavaConverter.scala
@@ -2,7 +2,7 @@ package org.datasyslab.geospark.python.translation
import java.io.{ByteArrayInputStream, DataInputStream}
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.api.java.JavaRDD
import org.datasyslab.geospark.geometryObjects.Circle
import org.datasyslab.geospark.python.SerializationException
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRddToJavaRDDConverter.scala b/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRddToJavaRDDConverter.scala
index db7ee1e..c19de10 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRddToJavaRDDConverter.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/translation/PythonRddToJavaRDDConverter.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python.translation
-import com.vividsolutions.jts.geom.{Geometry, LineString, Point, Polygon}
+import org.locationtech.jts.geom.{Geometry, LineString, Point, Polygon}
import net.razorvine.pickle.Unpickler
import net.razorvine.pickle.objects.ClassDict
import org.apache.spark.api.java.JavaRDD
diff --git a/core/src/main/scala/org/datasyslab/geospark/python/utils/implicits.scala b/core/src/main/scala/org/datasyslab/geospark/python/utils/implicits.scala
index c6f4bb1..a8a099b 100644
--- a/core/src/main/scala/org/datasyslab/geospark/python/utils/implicits.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/python/utils/implicits.scala
@@ -4,7 +4,7 @@ import java.nio.charset.StandardCharsets
import java.nio.{ByteBuffer, ByteOrder}
import java.util
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
object implicits {
diff --git a/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaEarthdataMapperRunnableExample.scala b/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaEarthdataMapperRunnableExample.scala
index f59edc4..ce5bafb 100644
--- a/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaEarthdataMapperRunnableExample.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaEarthdataMapperRunnableExample.scala
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.showcase
-import com.vividsolutions.jts.geom.Envelope
+import org.locationtech.jts.geom.Envelope
import org.apache.log4j.{Level, Logger}
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.storage.StorageLevel
diff --git a/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaExample.scala b/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaExample.scala
index 8c28823..16ffd57 100644
--- a/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaExample.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/showcase/ScalaExample.scala
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geospark.showcase
-import com.vividsolutions.jts.geom.{Coordinate, Envelope, GeometryFactory}
+import org.locationtech.jts.geom.{Coordinate, Envelope, GeometryFactory}
import org.apache.log4j.{Level, Logger}
import org.apache.spark.serializer.KryoSerializer
import org.apache.spark.storage.StorageLevel
diff --git a/core/src/main/scala/org/datasyslab/geospark/showcase/SpatialJoinShp.scala b/core/src/main/scala/org/datasyslab/geospark/showcase/SpatialJoinShp.scala
index 0d98964..7d81e4e 100644
--- a/core/src/main/scala/org/datasyslab/geospark/showcase/SpatialJoinShp.scala
+++ b/core/src/main/scala/org/datasyslab/geospark/showcase/SpatialJoinShp.scala
@@ -17,7 +17,7 @@
package org.datasyslab.geospark.showcase
-import com.vividsolutions.jts.geom.Polygon
+import org.locationtech.jts.geom.Polygon
import org.apache.log4j.{Level, Logger}
import org.apache.spark.storage.StorageLevel
import org.apache.spark.{SparkConf, SparkContext}
diff --git a/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/GeometrySerdeTest.java b/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/GeometrySerdeTest.java
index fdc6a3c..5836f39 100644
--- a/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/GeometrySerdeTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/GeometrySerdeTest.java
@@ -29,10 +29,10 @@ package org.datasyslab.geospark.formatMapper.shapefileParser.shapes;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryCollection;
-import com.vividsolutions.jts.io.ParseException;
-import com.vividsolutions.jts.io.WKTReader;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryCollection;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
import org.datasyslab.geospark.geometryObjects.Circle;
import org.datasyslab.geospark.geometryObjects.GeometrySerde;
import org.junit.Assert;
diff --git a/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileRDDTest.java b/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileRDDTest.java
index 7ae05aa..c01f536 100644
--- a/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileRDDTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileRDDTest.java
@@ -25,11 +25,11 @@
*/
package org.datasyslab.geospark.formatMapper.shapefileParser.shapes;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileReaderTest.java b/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileReaderTest.java
index 607dd16..b40b663 100644
--- a/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileReaderTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/formatMapper/shapefileParser/shapes/ShapefileReaderTest.java
@@ -26,10 +26,10 @@
package org.datasyslab.geospark.formatMapper.shapefileParser.shapes;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.MultiPolygon;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.LocatedFileStatus;
diff --git a/core/src/test/java/org/datasyslab/geospark/geometryObjects/CircleTest.java b/core/src/test/java/org/datasyslab/geospark/geometryObjects/CircleTest.java
index fcee1fb..f00c8eb 100644
--- a/core/src/test/java/org/datasyslab/geospark/geometryObjects/CircleTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/geometryObjects/CircleTest.java
@@ -25,13 +25,13 @@
*/
package org.datasyslab.geospark.geometryObjects;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.io.ParseException;
-import com.vividsolutions.jts.io.WKTReader;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
diff --git a/core/src/test/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerdeTest.java b/core/src/test/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerdeTest.java
index ddce34e..6098f96 100644
--- a/core/src/test/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerdeTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/geometryObjects/SpatialIndexSerdeTest.java
@@ -29,13 +29,13 @@ package org.datasyslab.geospark.geometryObjects;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.index.SpatialIndex;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.index.SpatialIndex;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.junit.Test;
import java.io.ByteArrayInputStream;
diff --git a/core/src/test/java/org/datasyslab/geospark/io/EarthdataHDFTest.java b/core/src/test/java/org/datasyslab/geospark/io/EarthdataHDFTest.java
index 35454e2..1fa36dd 100644
--- a/core/src/test/java/org/datasyslab/geospark/io/EarthdataHDFTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/io/EarthdataHDFTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.io;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinQueryCorrectnessChecker.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinQueryCorrectnessChecker.java
index a806faf..9127c1a 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinQueryCorrectnessChecker.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinQueryCorrectnessChecker.java
@@ -25,12 +25,12 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Geometry;
-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.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+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 org.apache.spark.storage.StorageLevel;
import org.datasyslab.geospark.GeoSparkTestBase;
import org.datasyslab.geospark.enums.GridType;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinTestBase.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinTestBase.java
index 56a6557..f2d58cf 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinTestBase.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/JoinTestBase.java
@@ -25,8 +25,8 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
import org.apache.spark.storage.StorageLevel;
import org.datasyslab.geospark.GeoSparkTestBase;
import org.datasyslab.geospark.enums.FileDataSplitter;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringJoinTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringJoinTest.java
index 5d3c21c..5ccf180 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringJoinTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringJoinTest.java
@@ -25,8 +25,8 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Polygon;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
import org.datasyslab.geospark.enums.JoinBuildSide;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringKnnTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringKnnTest.java
index 87cc7b5..5a099d8 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringKnnTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringKnnTest.java
@@ -25,10 +25,10 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringRangeTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringRangeTest.java
index 61657d4..ef3928d 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringRangeTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/LineStringRangeTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointJoinTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointJoinTest.java
index dbd155d..f369674 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointJoinTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointJoinTest.java
@@ -25,8 +25,8 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
import org.datasyslab.geospark.enums.JoinBuildSide;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointKnnTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointKnnTest.java
index 61b150e..ce1bd72 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointKnnTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointKnnTest.java
@@ -25,9 +25,9 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointRangeTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointRangeTest.java
index 488fe64..c77cdd5 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointRangeTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PointRangeTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonJoinTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonJoinTest.java
index 6b05223..b761850 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonJoinTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonJoinTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygon;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
import org.datasyslab.geospark.enums.JoinBuildSide;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonKnnTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonKnnTest.java
index f7dfd6b..4d58395 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonKnnTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonKnnTest.java
@@ -25,10 +25,10 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonRangeTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonRangeTest.java
index c9b8184..818899c 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonRangeTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/PolygonRangeTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleJoinTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleJoinTest.java
index b7d8f4c..dd566a5 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleJoinTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleJoinTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygon;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
import org.datasyslab.geospark.enums.JoinBuildSide;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleKnnTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleKnnTest.java
index b5a5978..ebae96d 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleKnnTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleKnnTest.java
@@ -25,10 +25,10 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleRangeTest.java b/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleRangeTest.java
index bafe363..7ed00a8 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleRangeTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialOperator/RectangleRangeTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.spatialOperator;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioningTest.java b/core/src/test/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioningTest.java
index 12f2e84..d1b481e 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioningTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialPartitioning/quadtree/QuadTreePartitioningTest.java
@@ -26,10 +26,10 @@
package org.datasyslab.geospark.spatialPartitioning.quadtree;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
import org.datasyslab.geospark.spatialPartitioning.QuadtreePartitioning;
import org.junit.Assert;
import org.junit.Test;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAggregationTest.java b/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAggregationTest.java
index bea5c13..543ab02 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAggregationTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAggregationTest.java
@@ -25,13 +25,13 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.io.ParseException;
-import com.vividsolutions.jts.io.WKTReader;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
import org.datasyslab.geospark.spatialRddTool.StatCalculator;
import org.junit.Test;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAndCountAggregationTest.java b/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAndCountAggregationTest.java
index 5158d56..87c5ef1 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAndCountAggregationTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialRDD/BoundaryAndCountAggregationTest.java
@@ -25,10 +25,10 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
import org.datasyslab.geospark.spatialRddTool.StatCalculator;
import org.junit.Test;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialRDD/LineStringRDDTest.java b/core/src/test/java/org/datasyslab/geospark/spatialRDD/LineStringRDDTest.java
index ee94b54..bcb6d80 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialRDD/LineStringRDDTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialRDD/LineStringRDDTest.java
@@ -25,10 +25,10 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.spark.storage.StorageLevel;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialRDD/PointRDDTest.java b/core/src/test/java/org/datasyslab/geospark/spatialRDD/PointRDDTest.java
index 0c106a5..2d355f9 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialRDD/PointRDDTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialRDD/PointRDDTest.java
@@ -25,10 +25,10 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.spark.storage.StorageLevel;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialRDD/PolygonRDDTest.java b/core/src/test/java/org/datasyslab/geospark/spatialRDD/PolygonRDDTest.java
index 231856a..48c38f3 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialRDD/PolygonRDDTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialRDD/PolygonRDDTest.java
@@ -25,11 +25,11 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Polygon;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.spark.storage.StorageLevel;
import org.datasyslab.geospark.enums.FileDataSplitter;
import org.datasyslab.geospark.enums.GridType;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialRDD/RectangleRDDTest.java b/core/src/test/java/org/datasyslab/geospark/spatialRDD/RectangleRDDTest.java
index e73cdfe..6144ab5 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialRDD/RectangleRDDTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialRDD/RectangleRDDTest.java
@@ -25,10 +25,10 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.index.quadtree.Quadtree;
-import com.vividsolutions.jts.index.strtree.STRtree;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.index.quadtree.Quadtree;
+import org.locationtech.jts.index.strtree.STRtree;
import org.apache.spark.storage.StorageLevel;
import org.datasyslab.geospark.enums.GridType;
import org.datasyslab.geospark.enums.IndexType;
diff --git a/core/src/test/java/org/datasyslab/geospark/spatialRDD/SpatialRDDTestBase.java b/core/src/test/java/org/datasyslab/geospark/spatialRDD/SpatialRDDTestBase.java
index 858e8db..dd3cc61 100644
--- a/core/src/test/java/org/datasyslab/geospark/spatialRDD/SpatialRDDTestBase.java
+++ b/core/src/test/java/org/datasyslab/geospark/spatialRDD/SpatialRDDTestBase.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geospark.spatialRDD;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.datasyslab.geospark.GeoSparkTestBase;
import org.datasyslab.geospark.enums.FileDataSplitter;
import org.datasyslab.geospark.enums.GridType;
diff --git a/core/src/test/java/org/datasyslab/geospark/utils/CRSTransformationTest.java b/core/src/test/java/org/datasyslab/geospark/utils/CRSTransformationTest.java
index 85c8a4d..a151639 100644
--- a/core/src/test/java/org/datasyslab/geospark/utils/CRSTransformationTest.java
+++ b/core/src/test/java/org/datasyslab/geospark/utils/CRSTransformationTest.java
@@ -25,12 +25,12 @@
*/
package org.datasyslab.geospark.utils;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-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 org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+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.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/datasyslab/geospark/utils/testGeoJSON.java b/core/src/test/java/org/datasyslab/geospark/utils/testGeoJSON.java
index a4e270f..397e3d8 100644
--- a/core/src/test/java/org/datasyslab/geospark/utils/testGeoJSON.java
+++ b/core/src/test/java/org/datasyslab/geospark/utils/testGeoJSON.java
@@ -25,9 +25,9 @@
*/
package org.datasyslab.geospark.utils;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/core/src/test/scala/org/datasyslab/geospark/python/GeometrySample.scala b/core/src/test/scala/org/datasyslab/geospark/python/GeometrySample.scala
index 098c6bb..a22493f 100644
--- a/core/src/test/scala/org/datasyslab/geospark/python/GeometrySample.scala
+++ b/core/src/test/scala/org/datasyslab/geospark/python/GeometrySample.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geospark.python
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import scala.tools.nsc.interpreter.InputStream
diff --git a/core/src/test/scala/org/datasyslab/geospark/python/PythonTestSpec.scala b/core/src/test/scala/org/datasyslab/geospark/python/PythonTestSpec.scala
index 1fc273e..d1cb390 100644
--- a/core/src/test/scala/org/datasyslab/geospark/python/PythonTestSpec.scala
+++ b/core/src/test/scala/org/datasyslab/geospark/python/PythonTestSpec.scala
@@ -1,7 +1,7 @@
package org.datasyslab.geospark.python
-import com.vividsolutions.jts.geom.GeometryFactory
-import com.vividsolutions.jts.io.WKTReader
+import org.locationtech.jts.geom.GeometryFactory
+import org.locationtech.jts.io.WKTReader
import org.datasyslab.geospark.python.translation.PythonGeometrySerializer
trait PythonTestSpec {
diff --git a/core/src/test/scala/org/datasyslab/geospark/scalaTest.scala b/core/src/test/scala/org/datasyslab/geospark/scalaTest.scala
index 2282190..54147a3 100644
--- a/core/src/test/scala/org/datasyslab/geospark/scalaTest.scala
+++ b/core/src/test/scala/org/datasyslab/geospark/scalaTest.scala
@@ -26,7 +26,7 @@
package org.datasyslab.geospark
-import com.vividsolutions.jts.geom.{Coordinate, Envelope, GeometryFactory}
+import org.locationtech.jts.geom.{Coordinate, Envelope, GeometryFactory}
import org.apache.spark.storage.StorageLevel
import org.datasyslab.geospark.enums.{FileDataSplitter, GridType, IndexType, JoinBuildSide}
import org.datasyslab.geospark.formatMapper.EarthdataHDFPointMapper
diff --git a/jts b/jts
new file mode 160000
index 0000000..41df452
--- /dev/null
+++ b/jts
@@ -0,0 +1 @@
+Subproject commit 41df452efc4ce7c76499e35a0bf4526d771165f9
diff --git a/pom.xml b/pom.xml
index 143a9c1..f34c442 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,6 +9,7 @@
<url>http://maven.apache.org</url>
<description>Apache Spark geospatial extention: SpatialRDD, SpatialSQL and map visualization</description>
<modules>
+ <module>jts/modules/core</module>
<module>core</module>
<module>sql</module>
<module>viz</module>
@@ -45,7 +46,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<scala.version>2.12.8</scala.version>
<scala.compat.version>2.12</scala.compat.version>
- <geotools.version>17.0</geotools.version>
+ <geotools.version>23.2</geotools.version>
<spark.version>3.0.0</spark.version>
</properties>
<dependencies>
@@ -141,6 +142,12 @@
<version>3.1.1</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-compiler</artifactId>
+ <version>${scala.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<repositories>
<repository>
diff --git a/python/geospark/core/formatMapper/disc_utils.py b/python/geospark/core/formatMapper/disc_utils.py
index 2df9437..b6cd019 100644
--- a/python/geospark/core/formatMapper/disc_utils.py
+++ b/python/geospark/core/formatMapper/disc_utils.py
@@ -41,10 +41,10 @@ class PointRDDDiscLoader(DiscLoader):
@require(["SpatialObjectLoaderAdapter"])
def load(cls, sc: SparkContext, path: str) -> SpatialRDD:
jvm = sc._jvm
- polygon_rdd = PointRDD()
+ point_rdd = PointRDD()
srdd = SpatialObjectLoaderAdapter(jvm).load_point_spatial_rdd(sc._jsc, path)
- polygon_rdd.set_srdd(srdd)
- return polygon_rdd
+ point_rdd.set_srdd(srdd)
+ return point_rdd
class LineStringRDDDiscLoader(DiscLoader):
diff --git a/python/geospark/register/java_libs.py b/python/geospark/register/java_libs.py
index 5bc61cd..4ecab9a 100644
--- a/python/geospark/register/java_libs.py
+++ b/python/geospark/register/java_libs.py
@@ -7,7 +7,7 @@ class GeoSparkLib(Enum):
JoinQuery = "org.datasyslab.geospark.spatialOperator.JoinQuery"
KNNQuery = "org.datasyslab.geospark.spatialOperator.KNNQuery"
RangeQuery = "org.datasyslab.geospark.spatialOperator.RangeQuery"
- Envelope = "com.vividsolutions.jts.geom.Envelope"
+ Envelope = "org.locationtech.jts.geom.Envelope"
GeoSerializerData = "org.datasyslab.geospark.python.adapters.GeoSparkPythonConverter"
GeometryAdapter = "org.datasyslab.geospark.python.adapters.GeometryAdapter"
PointRDD = "org.datasyslab.geospark.spatialRDD.PointRDD"
diff --git a/python/tests/properties/linestring_properties.py b/python/tests/properties/linestring_properties.py
index 3488588..836d689 100644
--- a/python/tests/properties/linestring_properties.py
+++ b/python/tests/properties/linestring_properties.py
@@ -19,5 +19,5 @@ input_boundary_2 = Envelope(minx=-123.393766, maxx=-65.649956, miny=17.982169, m
match_count = 535
match_with_origin_with_duplicates_count = 875
-transformed_envelope = Envelope(14313844.29433424, 16791709.85358734, 942450.5989896542, 8474779.278028419)
-transformed_envelope_2 = Envelope(14313844.29433424, 16791709.85358734, 942450.5989896542, 8474645.488977494)
+transformed_envelope = Envelope(14313844.294334238, 16791709.853587367, 942450.5989896103, 8474779.278028358)
+transformed_envelope_2 = Envelope(14313844.294334238, 16791709.853587367, 942450.5989896103, 8474645.488977432)
diff --git a/python/tests/properties/point_properties.py b/python/tests/properties/point_properties.py
index 0fd1cfa..a069885 100644
--- a/python/tests/properties/point_properties.py
+++ b/python/tests/properties/point_properties.py
@@ -25,7 +25,7 @@ rectangle_with_original_duplicates_count = 103
polygon_match_count = 472
polygon_match_with_original_duplicates_count = 562
-transformed_envelope = Envelope(14313844.29433424, 16587207.463797055, 942450.5989896542, 6697987.652517834)
+transformed_envelope = Envelope(14313844.294334238, 16587207.463797076, 942450.5989896103, 6697987.652517772)
crs_point_test = os.path.join(tests_path, "resources/crs-test-point.csv")
crs_envelope = Envelope(26.992172, 71.35513400000001, -179.147236, 179.475569)
-crs_envelope_transformed = Envelope(-5446655.086752228, 1983668.382852457, 534241.8622328962, 6143259.02554563)
\ No newline at end of file
+crs_envelope_transformed = Envelope(-5446655.086752236, 1983668.3828524568, 534241.8622328975, 6143259.025545624)
\ No newline at end of file
diff --git a/python/tests/properties/polygon_properties.py b/python/tests/properties/polygon_properties.py
index 79d1d83..45a24ff 100644
--- a/python/tests/properties/polygon_properties.py
+++ b/python/tests/properties/polygon_properties.py
@@ -14,7 +14,7 @@ num_partitions = 5
distance = 0.01
input_location_query_polygon = os.path.join(tests_path, "resources/crs-test-polygon.csv")
query_polygon_count = 13361
-query_envelope = Envelope(14313844.29433424, 16802290.85383074, 942450.5989896542, 8631908.270651951)
+query_envelope = Envelope(14313844.294334238, 16802290.853830762, 942450.5989896103, 8631908.270651892)
query_polygon_set = os.path.join(tests_path, "resources/primaryroads-polygon.csv")
input_location_geo_json = os.path.join(tests_path, "resources/testPolygon.json")
input_location_wkt = os.path.join(tests_path, "resources/county_small.tsv")
diff --git a/python/tests/resources/spatial_objects/line_string/.part-00000.crc b/python/tests/resources/spatial_objects/line_string/.part-00000.crc
index 8cd7f5f..905669b 100644
Binary files a/python/tests/resources/spatial_objects/line_string/.part-00000.crc and b/python/tests/resources/spatial_objects/line_string/.part-00000.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string/.part-00001.crc b/python/tests/resources/spatial_objects/line_string/.part-00001.crc
index 7ad2bb8..fad55f5 100644
Binary files a/python/tests/resources/spatial_objects/line_string/.part-00001.crc and b/python/tests/resources/spatial_objects/line_string/.part-00001.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string/.part-00002.crc b/python/tests/resources/spatial_objects/line_string/.part-00002.crc
index cbf5c73..1f840e3 100644
Binary files a/python/tests/resources/spatial_objects/line_string/.part-00002.crc and b/python/tests/resources/spatial_objects/line_string/.part-00002.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string/.part-00003.crc b/python/tests/resources/spatial_objects/line_string/.part-00003.crc
index 08f70cd..ad9626c 100644
Binary files a/python/tests/resources/spatial_objects/line_string/.part-00003.crc and b/python/tests/resources/spatial_objects/line_string/.part-00003.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string/.part-00004.crc b/python/tests/resources/spatial_objects/line_string/.part-00004.crc
index 2c1c382..208376f 100644
Binary files a/python/tests/resources/spatial_objects/line_string/.part-00004.crc and b/python/tests/resources/spatial_objects/line_string/.part-00004.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string/part-00000 b/python/tests/resources/spatial_objects/line_string/part-00000
index 3ea04d7..fc1d7a2 100644
Binary files a/python/tests/resources/spatial_objects/line_string/part-00000 and b/python/tests/resources/spatial_objects/line_string/part-00000 differ
diff --git a/python/tests/resources/spatial_objects/line_string/part-00001 b/python/tests/resources/spatial_objects/line_string/part-00001
index 6cf4bee..e3ab6e1 100644
Binary files a/python/tests/resources/spatial_objects/line_string/part-00001 and b/python/tests/resources/spatial_objects/line_string/part-00001 differ
diff --git a/python/tests/resources/spatial_objects/line_string/part-00002 b/python/tests/resources/spatial_objects/line_string/part-00002
index e96eff7..b875dbf 100644
Binary files a/python/tests/resources/spatial_objects/line_string/part-00002 and b/python/tests/resources/spatial_objects/line_string/part-00002 differ
diff --git a/python/tests/resources/spatial_objects/line_string/part-00003 b/python/tests/resources/spatial_objects/line_string/part-00003
index bf9a06f..6225a1f 100644
Binary files a/python/tests/resources/spatial_objects/line_string/part-00003 and b/python/tests/resources/spatial_objects/line_string/part-00003 differ
diff --git a/python/tests/resources/spatial_objects/line_string/part-00004 b/python/tests/resources/spatial_objects/line_string/part-00004
index c841624..87742f5 100644
Binary files a/python/tests/resources/spatial_objects/line_string/part-00004 and b/python/tests/resources/spatial_objects/line_string/part-00004 differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/.part-00000.crc b/python/tests/resources/spatial_objects/line_string_index/.part-00000.crc
index 24cbbd2..d229f92 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/.part-00000.crc and b/python/tests/resources/spatial_objects/line_string_index/.part-00000.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/.part-00001.crc b/python/tests/resources/spatial_objects/line_string_index/.part-00001.crc
index 928c15c..766e40c 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/.part-00001.crc and b/python/tests/resources/spatial_objects/line_string_index/.part-00001.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/.part-00002.crc b/python/tests/resources/spatial_objects/line_string_index/.part-00002.crc
index 12792c4..6713db5 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/.part-00002.crc and b/python/tests/resources/spatial_objects/line_string_index/.part-00002.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/.part-00003.crc b/python/tests/resources/spatial_objects/line_string_index/.part-00003.crc
index a9623ca..7a1872c 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/.part-00003.crc and b/python/tests/resources/spatial_objects/line_string_index/.part-00003.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/.part-00004.crc b/python/tests/resources/spatial_objects/line_string_index/.part-00004.crc
index f3af082..610eb8c 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/.part-00004.crc and b/python/tests/resources/spatial_objects/line_string_index/.part-00004.crc differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/part-00000 b/python/tests/resources/spatial_objects/line_string_index/part-00000
index 8bf8ae8..ef02ee5 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/part-00000 and b/python/tests/resources/spatial_objects/line_string_index/part-00000 differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/part-00001 b/python/tests/resources/spatial_objects/line_string_index/part-00001
index cdd0998..df7eb0c 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/part-00001 and b/python/tests/resources/spatial_objects/line_string_index/part-00001 differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/part-00002 b/python/tests/resources/spatial_objects/line_string_index/part-00002
index 75fbb78..b60c69f 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/part-00002 and b/python/tests/resources/spatial_objects/line_string_index/part-00002 differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/part-00003 b/python/tests/resources/spatial_objects/line_string_index/part-00003
index 8e41c2f..5f3f381 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/part-00003 and b/python/tests/resources/spatial_objects/line_string_index/part-00003 differ
diff --git a/python/tests/resources/spatial_objects/line_string_index/part-00004 b/python/tests/resources/spatial_objects/line_string_index/part-00004
index 22f41b9..07580cb 100644
Binary files a/python/tests/resources/spatial_objects/line_string_index/part-00004 and b/python/tests/resources/spatial_objects/line_string_index/part-00004 differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00000.crc b/python/tests/resources/spatial_objects/point/.part-00000.crc
index 75a79d4..9c6c9f0 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00000.crc and b/python/tests/resources/spatial_objects/point/.part-00000.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00001.crc b/python/tests/resources/spatial_objects/point/.part-00001.crc
index c47899d..4fbd636 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00001.crc and b/python/tests/resources/spatial_objects/point/.part-00001.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00002.crc b/python/tests/resources/spatial_objects/point/.part-00002.crc
index f7ba341..bb87b65 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00002.crc and b/python/tests/resources/spatial_objects/point/.part-00002.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00003.crc b/python/tests/resources/spatial_objects/point/.part-00003.crc
index ee69f82..8ffbac2 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00003.crc and b/python/tests/resources/spatial_objects/point/.part-00003.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00004.crc b/python/tests/resources/spatial_objects/point/.part-00004.crc
index cea8bc7..75e160f 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00004.crc and b/python/tests/resources/spatial_objects/point/.part-00004.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00005.crc b/python/tests/resources/spatial_objects/point/.part-00005.crc
index 478c50f..ca97418 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00005.crc and b/python/tests/resources/spatial_objects/point/.part-00005.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00006.crc b/python/tests/resources/spatial_objects/point/.part-00006.crc
index 8bcc672..8c3c26a 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00006.crc and b/python/tests/resources/spatial_objects/point/.part-00006.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00007.crc b/python/tests/resources/spatial_objects/point/.part-00007.crc
index 0fe67a1..45e5e56 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00007.crc and b/python/tests/resources/spatial_objects/point/.part-00007.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00008.crc b/python/tests/resources/spatial_objects/point/.part-00008.crc
index 5a11d7c..d11ba86 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00008.crc and b/python/tests/resources/spatial_objects/point/.part-00008.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00009.crc b/python/tests/resources/spatial_objects/point/.part-00009.crc
index 02213f2..06b26c8 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00009.crc and b/python/tests/resources/spatial_objects/point/.part-00009.crc differ
diff --git a/python/tests/resources/spatial_objects/point/.part-00010.crc b/python/tests/resources/spatial_objects/point/.part-00010.crc
index c168756..39655f3 100644
Binary files a/python/tests/resources/spatial_objects/point/.part-00010.crc and b/python/tests/resources/spatial_objects/point/.part-00010.crc differ
diff --git a/python/tests/resources/spatial_objects/point/part-00000 b/python/tests/resources/spatial_objects/point/part-00000
index cbda6c4..d8a6c71 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00000 and b/python/tests/resources/spatial_objects/point/part-00000 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00001 b/python/tests/resources/spatial_objects/point/part-00001
index 1fcaf60..685afd3 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00001 and b/python/tests/resources/spatial_objects/point/part-00001 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00002 b/python/tests/resources/spatial_objects/point/part-00002
index 83a17f4..51fae51 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00002 and b/python/tests/resources/spatial_objects/point/part-00002 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00003 b/python/tests/resources/spatial_objects/point/part-00003
index a810c8d..3dde069 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00003 and b/python/tests/resources/spatial_objects/point/part-00003 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00004 b/python/tests/resources/spatial_objects/point/part-00004
index cbccf88..912d545 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00004 and b/python/tests/resources/spatial_objects/point/part-00004 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00005 b/python/tests/resources/spatial_objects/point/part-00005
index bad4756..2228433 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00005 and b/python/tests/resources/spatial_objects/point/part-00005 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00006 b/python/tests/resources/spatial_objects/point/part-00006
index 2f17fbb..bbb0304 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00006 and b/python/tests/resources/spatial_objects/point/part-00006 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00007 b/python/tests/resources/spatial_objects/point/part-00007
index e05e2a6..70fae53 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00007 and b/python/tests/resources/spatial_objects/point/part-00007 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00008 b/python/tests/resources/spatial_objects/point/part-00008
index 0543bff..c612cc2 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00008 and b/python/tests/resources/spatial_objects/point/part-00008 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00009 b/python/tests/resources/spatial_objects/point/part-00009
index 6b02076..30d68eb 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00009 and b/python/tests/resources/spatial_objects/point/part-00009 differ
diff --git a/python/tests/resources/spatial_objects/point/part-00010 b/python/tests/resources/spatial_objects/point/part-00010
index 72c994d..dba2c36 100644
Binary files a/python/tests/resources/spatial_objects/point/part-00010 and b/python/tests/resources/spatial_objects/point/part-00010 differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00000.crc b/python/tests/resources/spatial_objects/point_index/.part-00000.crc
index c895289..9807afe 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00000.crc and b/python/tests/resources/spatial_objects/point_index/.part-00000.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00001.crc b/python/tests/resources/spatial_objects/point_index/.part-00001.crc
index dff8630..c200e0f 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00001.crc and b/python/tests/resources/spatial_objects/point_index/.part-00001.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00002.crc b/python/tests/resources/spatial_objects/point_index/.part-00002.crc
index 9cfd702..65f57fe 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00002.crc and b/python/tests/resources/spatial_objects/point_index/.part-00002.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00003.crc b/python/tests/resources/spatial_objects/point_index/.part-00003.crc
index 16ed55a..8562587 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00003.crc and b/python/tests/resources/spatial_objects/point_index/.part-00003.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00004.crc b/python/tests/resources/spatial_objects/point_index/.part-00004.crc
index 0883adb..1a35eb4 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00004.crc and b/python/tests/resources/spatial_objects/point_index/.part-00004.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00005.crc b/python/tests/resources/spatial_objects/point_index/.part-00005.crc
index 9b280e5..64d67e0 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00005.crc and b/python/tests/resources/spatial_objects/point_index/.part-00005.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00006.crc b/python/tests/resources/spatial_objects/point_index/.part-00006.crc
index 4fd502a..7b6fb59 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00006.crc and b/python/tests/resources/spatial_objects/point_index/.part-00006.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00007.crc b/python/tests/resources/spatial_objects/point_index/.part-00007.crc
index 12c9f30..f7ffd1d 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00007.crc and b/python/tests/resources/spatial_objects/point_index/.part-00007.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00008.crc b/python/tests/resources/spatial_objects/point_index/.part-00008.crc
index f3506be..5264d0f 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00008.crc and b/python/tests/resources/spatial_objects/point_index/.part-00008.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00009.crc b/python/tests/resources/spatial_objects/point_index/.part-00009.crc
index 0d278f9..19b838d 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00009.crc and b/python/tests/resources/spatial_objects/point_index/.part-00009.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/.part-00010.crc b/python/tests/resources/spatial_objects/point_index/.part-00010.crc
index c6c03cb..06eefb8 100644
Binary files a/python/tests/resources/spatial_objects/point_index/.part-00010.crc and b/python/tests/resources/spatial_objects/point_index/.part-00010.crc differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00000 b/python/tests/resources/spatial_objects/point_index/part-00000
index 9fc04a3..fe075b6 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00000 and b/python/tests/resources/spatial_objects/point_index/part-00000 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00001 b/python/tests/resources/spatial_objects/point_index/part-00001
index 4fa3bdd..8951e9c 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00001 and b/python/tests/resources/spatial_objects/point_index/part-00001 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00002 b/python/tests/resources/spatial_objects/point_index/part-00002
index 0dd17a2..b19d54c 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00002 and b/python/tests/resources/spatial_objects/point_index/part-00002 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00003 b/python/tests/resources/spatial_objects/point_index/part-00003
index d76fa4c..845553f 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00003 and b/python/tests/resources/spatial_objects/point_index/part-00003 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00004 b/python/tests/resources/spatial_objects/point_index/part-00004
index df7be0e..4618fc5 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00004 and b/python/tests/resources/spatial_objects/point_index/part-00004 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00005 b/python/tests/resources/spatial_objects/point_index/part-00005
index 03d8343..37874c3 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00005 and b/python/tests/resources/spatial_objects/point_index/part-00005 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00006 b/python/tests/resources/spatial_objects/point_index/part-00006
index 29f5216..1bf73b0 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00006 and b/python/tests/resources/spatial_objects/point_index/part-00006 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00007 b/python/tests/resources/spatial_objects/point_index/part-00007
index 67095ac..8dffbf6 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00007 and b/python/tests/resources/spatial_objects/point_index/part-00007 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00008 b/python/tests/resources/spatial_objects/point_index/part-00008
index 4493ffe..21a57de 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00008 and b/python/tests/resources/spatial_objects/point_index/part-00008 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00009 b/python/tests/resources/spatial_objects/point_index/part-00009
index b432a29..66a54a4 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00009 and b/python/tests/resources/spatial_objects/point_index/part-00009 differ
diff --git a/python/tests/resources/spatial_objects/point_index/part-00010 b/python/tests/resources/spatial_objects/point_index/part-00010
index e4d63bb..dcef107 100644
Binary files a/python/tests/resources/spatial_objects/point_index/part-00010 and b/python/tests/resources/spatial_objects/point_index/part-00010 differ
diff --git a/python/tests/resources/spatial_objects/polygon/.part-00000.crc b/python/tests/resources/spatial_objects/polygon/.part-00000.crc
index a5a6309..b61923f 100644
Binary files a/python/tests/resources/spatial_objects/polygon/.part-00000.crc and b/python/tests/resources/spatial_objects/polygon/.part-00000.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon/.part-00001.crc b/python/tests/resources/spatial_objects/polygon/.part-00001.crc
index 634224c..5578602 100644
Binary files a/python/tests/resources/spatial_objects/polygon/.part-00001.crc and b/python/tests/resources/spatial_objects/polygon/.part-00001.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon/.part-00002.crc b/python/tests/resources/spatial_objects/polygon/.part-00002.crc
index 855a4ea..e9e2567 100644
Binary files a/python/tests/resources/spatial_objects/polygon/.part-00002.crc and b/python/tests/resources/spatial_objects/polygon/.part-00002.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon/.part-00003.crc b/python/tests/resources/spatial_objects/polygon/.part-00003.crc
index 5e262dc..8b90d28 100644
Binary files a/python/tests/resources/spatial_objects/polygon/.part-00003.crc and b/python/tests/resources/spatial_objects/polygon/.part-00003.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon/.part-00004.crc b/python/tests/resources/spatial_objects/polygon/.part-00004.crc
index 6bc4af7..5f2d3cb 100644
Binary files a/python/tests/resources/spatial_objects/polygon/.part-00004.crc and b/python/tests/resources/spatial_objects/polygon/.part-00004.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon/part-00000 b/python/tests/resources/spatial_objects/polygon/part-00000
index fd32306..8d8666b 100644
Binary files a/python/tests/resources/spatial_objects/polygon/part-00000 and b/python/tests/resources/spatial_objects/polygon/part-00000 differ
diff --git a/python/tests/resources/spatial_objects/polygon/part-00001 b/python/tests/resources/spatial_objects/polygon/part-00001
index f399f85..e09412d 100644
Binary files a/python/tests/resources/spatial_objects/polygon/part-00001 and b/python/tests/resources/spatial_objects/polygon/part-00001 differ
diff --git a/python/tests/resources/spatial_objects/polygon/part-00002 b/python/tests/resources/spatial_objects/polygon/part-00002
index 211b94d..92ed42e 100644
Binary files a/python/tests/resources/spatial_objects/polygon/part-00002 and b/python/tests/resources/spatial_objects/polygon/part-00002 differ
diff --git a/python/tests/resources/spatial_objects/polygon/part-00003 b/python/tests/resources/spatial_objects/polygon/part-00003
index 2f747a3..8ca826e 100644
Binary files a/python/tests/resources/spatial_objects/polygon/part-00003 and b/python/tests/resources/spatial_objects/polygon/part-00003 differ
diff --git a/python/tests/resources/spatial_objects/polygon/part-00004 b/python/tests/resources/spatial_objects/polygon/part-00004
index c1ef4db..eb615e0 100644
Binary files a/python/tests/resources/spatial_objects/polygon/part-00004 and b/python/tests/resources/spatial_objects/polygon/part-00004 differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/.part-00000.crc b/python/tests/resources/spatial_objects/polygon_index/.part-00000.crc
index 1071209..2325384 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/.part-00000.crc and b/python/tests/resources/spatial_objects/polygon_index/.part-00000.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/.part-00001.crc b/python/tests/resources/spatial_objects/polygon_index/.part-00001.crc
index 76697e4..dcff8e0 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/.part-00001.crc and b/python/tests/resources/spatial_objects/polygon_index/.part-00001.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/.part-00002.crc b/python/tests/resources/spatial_objects/polygon_index/.part-00002.crc
index a942364..593b459 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/.part-00002.crc and b/python/tests/resources/spatial_objects/polygon_index/.part-00002.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/.part-00003.crc b/python/tests/resources/spatial_objects/polygon_index/.part-00003.crc
index ffa43e4..04f65de 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/.part-00003.crc and b/python/tests/resources/spatial_objects/polygon_index/.part-00003.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/.part-00004.crc b/python/tests/resources/spatial_objects/polygon_index/.part-00004.crc
index fa037ed..a114196 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/.part-00004.crc and b/python/tests/resources/spatial_objects/polygon_index/.part-00004.crc differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/part-00000 b/python/tests/resources/spatial_objects/polygon_index/part-00000
index eeb1115..c9e0d00 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/part-00000 and b/python/tests/resources/spatial_objects/polygon_index/part-00000 differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/part-00001 b/python/tests/resources/spatial_objects/polygon_index/part-00001
index 3b69dda..89f7461 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/part-00001 and b/python/tests/resources/spatial_objects/polygon_index/part-00001 differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/part-00002 b/python/tests/resources/spatial_objects/polygon_index/part-00002
index 2096ff4..8b60549 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/part-00002 and b/python/tests/resources/spatial_objects/polygon_index/part-00002 differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/part-00003 b/python/tests/resources/spatial_objects/polygon_index/part-00003
index 2005dd4..6154490 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/part-00003 and b/python/tests/resources/spatial_objects/polygon_index/part-00003 differ
diff --git a/python/tests/resources/spatial_objects/polygon_index/part-00004 b/python/tests/resources/spatial_objects/polygon_index/part-00004
index 20d660d..247a692 100644
Binary files a/python/tests/resources/spatial_objects/polygon_index/part-00004 and b/python/tests/resources/spatial_objects/polygon_index/part-00004 differ
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/GeometryUDT.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/GeometryUDT.scala
index f14ffa0..56c3348 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/GeometryUDT.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/GeometryUDT.scala
@@ -16,7 +16,7 @@
*/
package org.apache.spark.sql.geosparksql.UDT
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.sql.catalyst.util.{ArrayData, GenericArrayData}
import org.apache.spark.sql.types._
import org.datasyslab.geosparksql.utils.GeometrySerializer
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/IndexUDT.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/IndexUDT.scala
index 93f2046..be07600 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/IndexUDT.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/IndexUDT.scala
@@ -16,7 +16,7 @@
*/
package org.apache.spark.sql.geosparksql.UDT
-import com.vividsolutions.jts.index.SpatialIndex
+import org.locationtech.jts.index.SpatialIndex
import org.apache.spark.sql.catalyst.util.{ArrayData, GenericArrayData}
import org.apache.spark.sql.types.{ArrayType, ByteType, DataType, UserDefinedType}
import org.datasyslab.geosparksql.utils.IndexSerializer
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/UdtRegistratorWrapper.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/UdtRegistratorWrapper.scala
index b950d38..016d427 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/UdtRegistratorWrapper.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/UDT/UdtRegistratorWrapper.scala
@@ -16,8 +16,8 @@
*/
package org.apache.spark.sql.geosparksql.UDT
-import com.vividsolutions.jts.geom.Geometry
-import com.vividsolutions.jts.index.SpatialIndex
+import org.locationtech.jts.geom.Geometry
+import org.locationtech.jts.index.SpatialIndex
import org.apache.spark.sql.types.UDTRegistration
object UdtRegistratorWrapper {
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/AggregateFunctions.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/AggregateFunctions.scala
index 0d84158..dd8abef 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/AggregateFunctions.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/AggregateFunctions.scala
@@ -16,7 +16,7 @@
*/
package org.apache.spark.sql.geosparksql.expressions
-import com.vividsolutions.jts.geom.{Coordinate, Geometry, GeometryFactory}
+import org.locationtech.jts.geom.{Coordinate, Geometry, GeometryFactory}
import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder
import org.apache.spark.sql.expressions.Aggregator
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Constructors.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Constructors.scala
index 9d01b40..a7d7c2d 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Constructors.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Constructors.scala
@@ -16,7 +16,7 @@
*/
package org.apache.spark.sql.geosparksql.expressions
-import com.vividsolutions.jts.geom.{Coordinate, GeometryFactory}
+import org.locationtech.jts.geom.{Coordinate, GeometryFactory}
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.catalyst.expressions.Expression
import org.apache.spark.sql.catalyst.expressions.codegen.CodegenFallback
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Functions.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Functions.scala
index 31c64e1..53b5a75 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Functions.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/Functions.scala
@@ -18,12 +18,12 @@ package org.apache.spark.sql.geosparksql.expressions
import java.util
-import com.vividsolutions.jts.geom.{PrecisionModel, _}
-import com.vividsolutions.jts.operation.IsSimpleOp
-import com.vividsolutions.jts.operation.linemerge.LineMerger
-import com.vividsolutions.jts.operation.valid.IsValidOp
-import com.vividsolutions.jts.precision.GeometryPrecisionReducer
-import com.vividsolutions.jts.simplify.TopologyPreservingSimplifier
+import org.locationtech.jts.geom.{PrecisionModel, _}
+import org.locationtech.jts.operation.IsSimpleOp
+import org.locationtech.jts.operation.linemerge.LineMerger
+import org.locationtech.jts.operation.valid.IsValidOp
+import org.locationtech.jts.precision.GeometryPrecisionReducer
+import org.locationtech.jts.simplify.TopologyPreservingSimplifier
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.catalyst.expressions.codegen.CodegenFallback
import org.apache.spark.sql.catalyst.expressions.{Expression, Generator}
@@ -42,7 +42,7 @@ import scala.collection.mutable.ArrayBuffer
import org.apache.spark.internal.Logging
import org.apache.spark.sql.types.ArrayType
import implicits._
-import org.geotools.factory.Hints
+import org.geotools.util.factory.Hints
import org.opengis.referencing.crs.CoordinateReferenceSystem
import scala.util.{Failure, Success, Try}
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/implicits.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/implicits.scala
index 915c803..5912483 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/implicits.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/expressions/implicits.scala
@@ -1,6 +1,6 @@
package org.apache.spark.sql.geosparksql.expressions
-import com.vividsolutions.jts.geom.{Geometry, GeometryFactory, Point}
+import org.locationtech.jts.geom.{Geometry, GeometryFactory, Point}
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.catalyst.expressions.Expression
import org.apache.spark.sql.catalyst.util.{ArrayData, GenericArrayData}
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/DistanceJoinExec.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/DistanceJoinExec.scala
index 3509161..5e5a1f8 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/DistanceJoinExec.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/DistanceJoinExec.scala
@@ -16,7 +16,7 @@
*/
package org.apache.spark.sql.geosparksql.strategy.join
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.internal.Logging
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.catalyst.expressions.{BindReferences, Expression, UnsafeRow}
diff --git a/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/TraitJoinQueryExec.scala b/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/TraitJoinQueryExec.scala
index 40c5aa4..a69cdc8 100644
--- a/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/TraitJoinQueryExec.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/geosparksql/strategy/join/TraitJoinQueryExec.scala
@@ -16,7 +16,7 @@
*/
package org.apache.spark.sql.geosparksql.strategy.join
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.catalyst.expressions.codegen.GenerateUnsafeRowJoiner
diff --git a/sql/src/main/scala/org/datasyslab/geosparksql/UDF/Catalog.scala b/sql/src/main/scala/org/datasyslab/geosparksql/UDF/Catalog.scala
index a519f6a..2959d16 100644
--- a/sql/src/main/scala/org/datasyslab/geosparksql/UDF/Catalog.scala
+++ b/sql/src/main/scala/org/datasyslab/geosparksql/UDF/Catalog.scala
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geosparksql.UDF
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.sql.catalyst.analysis.FunctionRegistry.FunctionBuilder
import org.apache.spark.sql.expressions.{Aggregator}
import org.apache.spark.sql.geosparksql.expressions._
diff --git a/sql/src/main/scala/org/datasyslab/geosparksql/utils/Adapter.scala b/sql/src/main/scala/org/datasyslab/geosparksql/utils/Adapter.scala
index 0eac1a2..b0beb76 100644
--- a/sql/src/main/scala/org/datasyslab/geosparksql/utils/Adapter.scala
+++ b/sql/src/main/scala/org/datasyslab/geosparksql/utils/Adapter.scala
@@ -17,7 +17,7 @@
package org.datasyslab.geosparksql.utils
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.api.java.{JavaPairRDD, JavaRDD}
import org.apache.spark.rdd.RDD
//import org.apache.spark.sql.geosparksql.GeometryWrapper
diff --git a/sql/src/main/scala/org/datasyslab/geosparksql/utils/GeometrySerializer.scala b/sql/src/main/scala/org/datasyslab/geosparksql/utils/GeometrySerializer.scala
index 20ef004..82959ce 100644
--- a/sql/src/main/scala/org/datasyslab/geosparksql/utils/GeometrySerializer.scala
+++ b/sql/src/main/scala/org/datasyslab/geosparksql/utils/GeometrySerializer.scala
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geosparksql.utils
-import com.vividsolutions.jts.geom.Geometry
-import com.vividsolutions.jts.io.{WKBReader, WKBWriter}
+import org.locationtech.jts.geom.Geometry
+import org.locationtech.jts.io.{WKBReader, WKBWriter}
import org.apache.spark.sql.catalyst.util.ArrayData
-import com.vividsolutions.jts.io.{WKBReader, WKBWriter}
+import org.locationtech.jts.io.{WKBReader, WKBWriter}
/**
* SerDe using the WKB reader and writer objects
diff --git a/sql/src/main/scala/org/datasyslab/geosparksql/utils/IndexSerializer.scala b/sql/src/main/scala/org/datasyslab/geosparksql/utils/IndexSerializer.scala
index 6ac6ef9..2b2bbd0 100644
--- a/sql/src/main/scala/org/datasyslab/geosparksql/utils/IndexSerializer.scala
+++ b/sql/src/main/scala/org/datasyslab/geosparksql/utils/IndexSerializer.scala
@@ -20,7 +20,7 @@ import java.io.{ByteArrayInputStream, ByteArrayOutputStream}
import com.esotericsoftware.kryo.Kryo
import com.esotericsoftware.kryo.io.{Input, Output}
-import com.vividsolutions.jts.index.SpatialIndex
+import org.locationtech.jts.index.SpatialIndex
import org.apache.spark.sql.catalyst.util.ArrayData
// This is a wrapper of GeoSpark core kryo serializer
diff --git a/sql/src/main/scala/org/datasyslab/geosparksql/utils/PythonAdapterWrapper.scala b/sql/src/main/scala/org/datasyslab/geosparksql/utils/PythonAdapterWrapper.scala
index de0337c..8ea6f5f 100644
--- a/sql/src/main/scala/org/datasyslab/geosparksql/utils/PythonAdapterWrapper.scala
+++ b/sql/src/main/scala/org/datasyslab/geosparksql/utils/PythonAdapterWrapper.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geosparksql.utils
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.apache.spark.api.java.JavaPairRDD
import org.apache.spark.sql.{DataFrame, SparkSession}
import org.datasyslab.geospark.spatialRDD.SpatialRDD
diff --git a/sql/src/test/java/org/datasyslab/geosparksql/adapterTestJava.java b/sql/src/test/java/org/datasyslab/geosparksql/adapterTestJava.java
index c55ff2d..b62105a 100644
--- a/sql/src/test/java/org/datasyslab/geosparksql/adapterTestJava.java
+++ b/sql/src/test/java/org/datasyslab/geosparksql/adapterTestJava.java
@@ -26,7 +26,7 @@
package org.datasyslab.geosparksql;
-import com.vividsolutions.jts.geom.Geometry;
+import org.locationtech.jts.geom.Geometry;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
@@ -83,98 +83,77 @@ public class adapterTestJava
public void testReadCsv()
{
Dataset<Row> df = sparkSession.read().format("csv").option("delimiter", "\t").option("header", "false").load(csvPointInputLocation);
- df.show();
df.createOrReplaceTempView("inputtable");
Dataset<Row> spatialDf = sparkSession.sql("select ST_PointFromText(inputtable._c0,\",\") as arealandmark from inputtable");
- spatialDf.show();
- spatialDf.printSchema();
SpatialRDD spatialRDD = Adapter.toSpatialRdd(spatialDf, "arealandmark");
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
public void testReadCsvUsingCoordinates()
{
Dataset<Row> df = sparkSession.read().format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation);
- df.show();
df.createOrReplaceTempView("inputtable");
Dataset<Row> spatialDf = sparkSession.sql("select ST_Point(cast(inputtable._c0 as Decimal(24,20)),cast(inputtable._c1 as Decimal(24,20))) as arealandmark from inputtable");
- spatialDf.show();
- spatialDf.printSchema();
SpatialRDD spatialRDD = Adapter.toSpatialRdd(spatialDf, "arealandmark");
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
public void testReadCsvWithIdUsingCoordinates()
{
Dataset<Row> df = sparkSession.read().format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation);
- df.show();
df.createOrReplaceTempView("inputtable");
Dataset<Row> spatialDf = sparkSession.sql("select ST_Point(cast(inputtable._c0 as Decimal(24,20)),cast(inputtable._c1 as Decimal(24,20))) as arealandmark from inputtable");
- spatialDf.show();
- spatialDf.printSchema();
SpatialRDD spatialRDD = Adapter.toSpatialRdd(spatialDf, "arealandmark");
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
public void testReadWkt()
{
Dataset<Row> df = sparkSession.read().format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation);
- df.show();
df.createOrReplaceTempView("inputtable");
Dataset<Row> spatialDf = sparkSession.sql("select ST_GeomFromWKT(inputtable._c0) as usacounty from inputtable");
- spatialDf.show();
- spatialDf.printSchema();
SpatialRDD spatialRDD = Adapter.toSpatialRdd(spatialDf, "usacounty");
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
public void testReadWktWithId()
{
Dataset<Row> df = sparkSession.read().format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation);
- df.show();
df.createOrReplaceTempView("inputtable");
Dataset<Row> spatialDf = sparkSession.sql("select ST_GeomFromWKT(inputtable._c0) as usacounty from inputtable");
- spatialDf.show();
- spatialDf.printSchema();
SpatialRDD spatialRDD = Adapter.toSpatialRdd(spatialDf, "usacounty");
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
public void testReadWkb()
{
Dataset<Row> df = sparkSession.read().format("csv").option("delimiter", "\t").option("header", "false").load(mixedWkbGeometryInputLocation);
- df.show();
df.createOrReplaceTempView("inputtable");
Dataset<Row> spatialDf = sparkSession.sql("select ST_GeomFromWKB(inputtable._c0) as usacounty from inputtable");
- spatialDf.show();
- spatialDf.printSchema();
SpatialRDD spatialRDD = Adapter.toSpatialRdd(spatialDf, "usacounty");
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
public void testReadWkbWithId()
{
Dataset<Row> df = sparkSession.read().format("csv").option("delimiter", "\t").option("header", "false").load(mixedWkbGeometryInputLocation);
- df.show();
df.createOrReplaceTempView("inputtable");
Dataset<Row> spatialDf = sparkSession.sql("select ST_GeomFromWKB(inputtable._c0) as usacounty from inputtable");
- spatialDf.show();
- spatialDf.printSchema();
SpatialRDD spatialRDD = Adapter.toSpatialRdd(spatialDf, "usacounty");
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
@@ -182,7 +161,7 @@ public class adapterTestJava
{
SpatialRDD spatialRDD = ShapefileReader.readToGeometryRDD(JavaSparkContext.fromSparkContext(sparkSession.sparkContext()), shapefileInputLocation);
spatialRDD.analyze();
- Adapter.toDf(spatialRDD, sparkSession).show();
+ Adapter.toDf(spatialRDD, sparkSession).show(1);
}
@Test
@@ -210,7 +189,7 @@ public class adapterTestJava
Dataset joinResultDf = Adapter.toDf(joinResultPairRDD, sparkSession);
- joinResultDf.show();
+ joinResultDf.show(1);
}
@Test
@@ -240,7 +219,7 @@ public class adapterTestJava
Dataset joinResultDf = Adapter.toDf(joinResultPairRDD, sparkSession);
- joinResultDf.show();
+ joinResultDf.show(1);
}
/**
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/GeometrySample.scala b/sql/src/test/scala/org/datasyslab/geosparksql/GeometrySample.scala
index ffda3e5..eabc52c 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/GeometrySample.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/GeometrySample.scala
@@ -1,7 +1,7 @@
package org.datasyslab.geosparksql
-import com.vividsolutions.jts.geom.Geometry
-import com.vividsolutions.jts.io.WKTReader
+import org.locationtech.jts.geom.Geometry
+import org.locationtech.jts.io.WKTReader
import org.apache.spark.sql.{Dataset, Row}
import scala.tools.nsc.interpreter.InputStream
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/adapterTestScala.scala b/sql/src/test/scala/org/datasyslab/geosparksql/adapterTestScala.scala
index a592a3d..f3d338e 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/adapterTestScala.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/adapterTestScala.scala
@@ -38,112 +38,84 @@ class adapterTestScala extends TestBaseScala {
it("Read CSV point into a SpatialRDD") {
var df = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(arealmPointInputLocation)
- df.show()
df.createOrReplaceTempView("inputtable")
var spatialDf = sparkSession.sql("select ST_PointFromText(inputtable._c0,\",\") as arealandmark from inputtable")
- spatialDf.show()
- spatialDf.printSchema()
var spatialRDD = Adapter.toSpatialRdd(spatialDf, "arealandmark")
spatialRDD.analyze()
- Adapter.toDf(spatialRDD, sparkSession).show()
+ Adapter.toDf(spatialRDD, sparkSession).show(1)
}
it("Read CSV point at a different column id into a SpatialRDD") {
var df = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(arealmPointInputLocation)
- df.show()
df.createOrReplaceTempView("inputtable")
var spatialDf = sparkSession.sql("select \'123\', \'456\', ST_PointFromText(inputtable._c0,\",\") as arealandmark, \'789\' from inputtable")
- spatialDf.show()
- spatialDf.printSchema()
var spatialRDD = Adapter.toSpatialRdd(spatialDf, 2)
spatialRDD.analyze()
val newDf = Adapter.toDf(spatialRDD, sparkSession)
- newDf.show()
assert(newDf.schema.toList.map(f=>f.name).mkString("\t").equals("geometry\t123\t456\t789"))
}
it("Read CSV point at a different column col name into a SpatialRDD") {
var df = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(arealmPointInputLocation)
- df.show()
df.createOrReplaceTempView("inputtable")
var spatialDf = sparkSession.sql("select \'123\', \'456\', ST_PointFromText(inputtable._c0,\",\") as arealandmark, \'789\' from inputtable")
- spatialDf.show()
- spatialDf.printSchema()
var spatialRDD = Adapter.toSpatialRdd(spatialDf, "arealandmark")
spatialRDD.analyze()
val newDf = Adapter.toDf(spatialRDD, sparkSession)
- newDf.show()
assert(newDf.schema.toList.map(f=>f.name).mkString("\t").equals("geometry\t123\t456\t789"))
}
it("Read CSV point into a SpatialRDD by passing coordinates") {
var df = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(arealmPointInputLocation)
- df.show()
df.createOrReplaceTempView("inputtable")
var spatialDf = sparkSession.sql("select ST_Point(cast(inputtable._c0 as Decimal(24,20)),cast(inputtable._c1 as Decimal(24,20))) as arealandmark from inputtable")
- spatialDf.show()
- spatialDf.printSchema()
var spatialRDD = Adapter.toSpatialRdd(spatialDf, "arealandmark")
assert(Adapter.toDf(spatialRDD, sparkSession).columns.length==1)
- Adapter.toDf(spatialRDD, sparkSession).show()
+// Adapter.toDf(spatialRDD, sparkSession).show(1)
}
it("Read CSV point into a SpatialRDD with unique Id by passing coordinates") {
var df = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(arealmPointInputLocation)
- df.show()
df.createOrReplaceTempView("inputtable")
// Use Column _c0 as the unique Id but the id can be anything in the same row
var spatialDf = sparkSession.sql("select ST_Point(cast(inputtable._c0 as Decimal(24,20)),cast(inputtable._c1 as Decimal(24,20))) as arealandmark from inputtable")
- spatialDf.show()
- spatialDf.printSchema()
var spatialRDD = Adapter.toSpatialRdd(spatialDf, "arealandmark")
spatialRDD.analyze()
assert(Adapter.toDf(spatialRDD, sparkSession).columns.length==1)
- Adapter.toDf(spatialRDD, sparkSession).show()
+// Adapter.toDf(spatialRDD, sparkSession).show(1)
}
it("Read mixed WKT geometries into a SpatialRDD") {
var df = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
- df.show()
df.createOrReplaceTempView("inputtable")
var spatialDf = sparkSession.sql("select ST_GeomFromWKT(inputtable._c0) as usacounty from inputtable")
- spatialDf.show()
- spatialDf.printSchema()
var spatialRDD = Adapter.toSpatialRdd(spatialDf, "usacounty")
spatialRDD.analyze()
- Adapter.toDf(spatialRDD, sparkSession).show()
assert(Adapter.toDf(spatialRDD, sparkSession).columns.length==1)
- Adapter.toDf(spatialRDD, sparkSession).show()
}
it("Read mixed WKT geometries into a SpatialRDD with uniqueId") {
var df = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
- df.show()
df.createOrReplaceTempView("inputtable")
var spatialDf = sparkSession.sql("select ST_GeomFromWKT(inputtable._c0) as usacounty, inputtable._c3, inputtable._c5 from inputtable")
- spatialDf.show()
- spatialDf.printSchema()
var spatialRDD = Adapter.toSpatialRdd(spatialDf, "usacounty")
spatialRDD.analyze()
assert(Adapter.toDf(spatialRDD, sparkSession).columns.length==3)
- Adapter.toDf(spatialRDD, sparkSession).show()
}
it("Read shapefile -> DataFrame") {
var spatialRDD = ShapefileReader.readToGeometryRDD(sparkSession.sparkContext, shapefileInputLocation)
spatialRDD.analyze()
- println(spatialRDD.fieldNames)
var df = Adapter.toDf(spatialRDD, sparkSession)
- df.show()
+ df.show(1)
}
it("Read shapefileWithMissing -> DataFrame") {
var spatialRDD = ShapefileReader.readToGeometryRDD(sparkSession.sparkContext, shapefileWithMissingsTrailingInputLocation)
spatialRDD.analyze()
- println(spatialRDD.fieldNames)
var df = Adapter.toDf(spatialRDD, sparkSession)
- df.show()
+ df.show(1)
}
it("Read GeoJSON to DataFrame") {
@@ -151,7 +123,6 @@ class adapterTestScala extends TestBaseScala {
var spatialRDD = new PolygonRDD(sparkSession.sparkContext, geojsonInputLocation, FileDataSplitter.GEOJSON, true)
spatialRDD.analyze()
var df = Adapter.toDf(spatialRDD, sparkSession).withColumn("geometry", callUDF("ST_GeomFromWKT", col("geometry")))
- df.show()
assert (df.columns(1) == "STATEFP")
}
@@ -176,10 +147,10 @@ class adapterTestScala extends TestBaseScala {
val joinResultPairRDD = JoinQuery.SpatialJoinQueryFlat(pointRDD, polygonRDD, true, true)
val joinResultDf = Adapter.toDf(joinResultPairRDD, sparkSession)
- joinResultDf.show()
+ joinResultDf.show(1)
val joinResultDf2 = Adapter.toDf(joinResultPairRDD, List("abc","def"), List(), sparkSession)
- joinResultDf2.show()
+ joinResultDf2.show(1)
}
it("Convert distance join result to DataFrame") {
@@ -204,7 +175,7 @@ class adapterTestScala extends TestBaseScala {
var joinResultPairRDD = JoinQuery.DistanceJoinQueryFlat(pointRDD, circleRDD, true, true)
var joinResultDf = Adapter.toDf(joinResultPairRDD, sparkSession)
- joinResultDf.show()
+ joinResultDf.show(1)
}
it("load id column Data check"){
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/aggregateFunctionTestScala.scala b/sql/src/test/scala/org/datasyslab/geosparksql/aggregateFunctionTestScala.scala
index 26d1337..751a49f 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/aggregateFunctionTestScala.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/aggregateFunctionTestScala.scala
@@ -26,10 +26,7 @@
package org.datasyslab.geosparksql
-import com.vividsolutions.jts.geom.{Coordinate, Geometry, GeometryFactory}
-import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder
-import org.apache.spark.sql.expressions.UserDefinedAggregator
-import org.apache.spark.sql.functions
+import org.locationtech.jts.geom.{Coordinate, Geometry, GeometryFactory}
class aggregateFunctionTestScala extends TestBaseScala {
@@ -56,10 +53,8 @@ class aggregateFunctionTestScala extends TestBaseScala {
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(unionPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var union = sparkSession.sql("select ST_Union_Aggr(polygondf.polygonshape) from polygondf")
assert(union.take(1)(0).get(0).asInstanceOf[Geometry].getArea == 10100)
}
@@ -68,14 +63,12 @@ class aggregateFunctionTestScala extends TestBaseScala {
val twoPolygonsAsWktDf = sparkSession.read.textFile(intersectionPolygonInputLocation).toDF("polygon_wkt")
twoPolygonsAsWktDf.createOrReplaceTempView("two_polygons_wkt")
- twoPolygonsAsWktDf.show()
sparkSession
.sql("select ST_GeomFromWKT(polygon_wkt) as polygon from two_polygons_wkt")
.createOrReplaceTempView("two_polygons")
val intersectionDF = sparkSession.sql("select ST_Intersection_Aggr(polygon) from two_polygons")
- intersectionDF.show(false)
assertResult(0.0034700160226227607)(intersectionDF.take(1)(0).get(0).asInstanceOf[Geometry].getArea)
}
@@ -84,14 +77,12 @@ class aggregateFunctionTestScala extends TestBaseScala {
val twoPolygonsAsWktDf = sparkSession.read.textFile(intersectionPolygonNoIntersectionInputLocation).toDF("polygon_wkt")
twoPolygonsAsWktDf.createOrReplaceTempView("two_polygons_no_intersection_wkt")
- twoPolygonsAsWktDf.show()
sparkSession
.sql("select ST_GeomFromWKT(polygon_wkt) as polygon from two_polygons_no_intersection_wkt")
.createOrReplaceTempView("two_polygons_no_intersection")
val intersectionDF = sparkSession.sql("select ST_Intersection_Aggr(polygon) from two_polygons_no_intersection")
- intersectionDF.show(false)
assertResult(0.0)(intersectionDF.take(1)(0).get(0).asInstanceOf[Geometry].getArea)
}
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/constructorTestScala.scala b/sql/src/test/scala/org/datasyslab/geosparksql/constructorTestScala.scala
index ca6fc57..ffcb94e 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/constructorTestScala.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/constructorTestScala.scala
@@ -26,7 +26,7 @@
package org.datasyslab.geosparksql
-import com.vividsolutions.jts.geom.Geometry
+import org.locationtech.jts.geom.Geometry
import org.datasyslab.geospark.formatMapper.GeoJsonReader
import org.datasyslab.geospark.formatMapper.shapefileParser.ShapefileReader
import org.datasyslab.geosparksql.utils.Adapter
@@ -51,14 +51,12 @@ class constructorTestScala extends TestBaseScala {
it ("Passed ST_PolygonFromEnvelope") {
val polygonDF = sparkSession.sql("select ST_PolygonFromEnvelope(double(1.234),double(2.234),double(3.345),double(3.345))")
- polygonDF.show(false)
assert(polygonDF.count() == 1)
}
it("Passed ST_PointFromText") {
var pointCsvDF = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(arealmPointInputLocation)
pointCsvDF.createOrReplaceTempView("pointtable")
- pointCsvDF.show(false)
var pointDf = sparkSession.sql("select ST_PointFromText(concat(_c0,',',_c1),',') as arealandmark from pointtable")
assert(pointDf.count() == 121960)
@@ -67,18 +65,14 @@ class constructorTestScala extends TestBaseScala {
it("Passed ST_GeomFromWKT") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWkt(polygontable._c0) as countyshape from polygontable")
- polygonDf.show(10)
assert(polygonDf.count() == 100)
}
it("Passed ST_GeomFromText") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromText(polygontable._c0) as countyshape from polygontable")
- polygonDf.show(10)
assert(polygonDf.count() == 100)
}
@@ -98,39 +92,32 @@ class constructorTestScala extends TestBaseScala {
it("Passed ST_GeomFromWKB") {
var polygonWkbDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWkbGeometryInputLocation)
polygonWkbDf.createOrReplaceTempView("polygontable")
- polygonWkbDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKB(polygontable._c0) as countyshape from polygontable")
- polygonDf.show(10)
assert(polygonDf.count() == 100)
}
it("Passed ST_GeomFromGeoJSON") {
val polygonJsonDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(geojsonInputLocation)
polygonJsonDf.createOrReplaceTempView("polygontable")
- polygonJsonDf.show()
val polygonDf = sparkSession.sql("select ST_GeomFromGeoJSON(polygontable._c0) as countyshape from polygontable")
- polygonDf.show()
assert(polygonDf.count() == 1000)
}
it("Passed GeoJsonReader to DataFrame") {
var spatialRDD = GeoJsonReader.readToGeometryRDD(sparkSession.sparkContext, geojsonInputLocation)
var spatialDf = Adapter.toDf(spatialRDD, sparkSession)
- spatialDf.show()
+ assert(spatialDf.count()>0)
}
it("Read shapefile -> DataFrame > RDD -> DataFrame") {
var spatialRDD = ShapefileReader.readToGeometryRDD(sparkSession.sparkContext, shapefileInputLocation)
spatialRDD.analyze()
var df = Adapter.toDf(spatialRDD, sparkSession)
- df.show
assert (df.columns(1) == "STATEFP")
import org.apache.spark.sql.functions.{callUDF, col}
df = df.withColumn("geometry", callUDF("ST_GeomFromWKT", col("geometry")))
- df.show()
var spatialRDD2 = Adapter.toSpatialRdd(df, "geometry")
- println(spatialRDD2.rawSpatialRDD.take(1).get(0).getUserData)
- Adapter.toDf(spatialRDD2, sparkSession).show()
+ Adapter.toDf(spatialRDD2, sparkSession).show(1)
}
}
}
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/functionTestScala.scala b/sql/src/test/scala/org/datasyslab/geosparksql/functionTestScala.scala
index de061ba..29d6402 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/functionTestScala.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/functionTestScala.scala
@@ -26,7 +26,7 @@
package org.datasyslab.geosparksql
-import com.vividsolutions.jts.geom.{Geometry}
+import org.locationtech.jts.geom.{Geometry}
import org.geotools.geometry.jts.WKTReader2
import org.scalatest.{GivenWhenThen, Matchers}
import implicits._
@@ -42,89 +42,72 @@ class functionTestScala extends TestBaseScala with Matchers with GeometrySample
it("Passed ST_ConvexHull") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var functionDf = sparkSession.sql("select ST_ConvexHull(polygondf.countyshape) from polygondf")
- functionDf.show()
+ assert(functionDf.count()>0);
}
it("Passed ST_Buffer") {
val polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
val polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
val functionDf = sparkSession.sql("select ST_Buffer(polygondf.countyshape, 1) from polygondf")
- functionDf.show()
+ assert(functionDf.count()>0);
}
it("Passed ST_Envelope") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var functionDf = sparkSession.sql("select ST_Envelope(polygondf.countyshape) from polygondf")
- functionDf.show()
+ assert(functionDf.count()>0);
}
it("Passed ST_Centroid") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var functionDf = sparkSession.sql("select ST_Centroid(polygondf.countyshape) from polygondf")
- functionDf.show()
+ assert(functionDf.count()>0);
}
it("Passed ST_Length") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var functionDf = sparkSession.sql("select ST_Length(polygondf.countyshape) from polygondf")
- functionDf.show()
+ assert(functionDf.count()>0);
}
it("Passed ST_Area") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var functionDf = sparkSession.sql("select ST_Area(polygondf.countyshape) from polygondf")
- functionDf.show()
+ assert(functionDf.count()>0);
}
it("Passed ST_Distance") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var functionDf = sparkSession.sql("select ST_Distance(polygondf.countyshape, polygondf.countyshape) from polygondf")
- functionDf.show()
+ assert(functionDf.count()>0);
}
it("Passed ST_Transform") {
var polygonWktDf = sparkSession.read.format("csv").option("delimiter", "\t").option("header", "false").load(mixedWktGeometryInputLocation)
polygonWktDf.createOrReplaceTempView("polygontable")
- polygonWktDf.show()
var polygonDf = sparkSession.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var functionDf = sparkSession.sql("select ST_Transform(polygondf.countyshape, 'epsg:4326','epsg:3857',true, false) from polygondf")
- functionDf.show()
val polygon = "POLYGON ((110.54671 55.818002, 110.54671 55.143743, 110.940494 55.143743, 110.940494 55.818002, 110.54671 55.818002))"
val forceXYExpect = "POLYGON ((471596.69167460164 6185916.951191288, 471107.5623640998 6110880.974228167, 496207.109151055 6110788.804712435, 496271.31937046186 6185825.60569904, 471596.69167460164 6185916.951191288))"
@@ -134,10 +117,8 @@ class functionTestScala extends TestBaseScala with Matchers with GeometrySample
.createOrReplaceTempView("df")
sparkSession.sql("select ST_Transform(geom, 'EPSG:4326', 'EPSG:32649', false, false) from df")
- .show(false)
sparkSession.sql("select ST_Transform(geom, 'EPSG:4326', 'EPSG:32649', true, false) from df")
- .show(false)
val forceXYResult = sparkSession.sql(s"""select ST_Transform(ST_geomFromWKT('$polygon'),'EPSG:4326', 'EPSG:32649', true, false)""").rdd.map(row => row.getAs[Geometry](0).toString).collect()(0)
assert(forceXYResult == forceXYExpect)
@@ -199,13 +180,11 @@ class functionTestScala extends TestBaseScala with Matchers with GeometrySample
"""
|SELECT ST_PrecisionReduce(ST_GeomFromWKT('Point(0.1234567890123456789 0.1234567890123456789)'), 8)
""".stripMargin)
- testtable.show(false)
assert(testtable.take(1)(0).get(0).asInstanceOf[Geometry].getCoordinates()(0).x == 0.12345679)
testtable = sparkSession.sql(
"""
|SELECT ST_PrecisionReduce(ST_GeomFromWKT('Point(0.1234567890123456789 0.1234567890123456789)'), 11)
""".stripMargin)
- testtable.show(false)
assert(testtable.take(1)(0).get(0).asInstanceOf[Geometry].getCoordinates()(0).x == 0.12345678901)
}
@@ -351,9 +330,6 @@ class functionTestScala extends TestBaseScala with Matchers with GeometrySample
geometries
.selectExpr("ST_Azimuth(geomA, geomB)")
- .show
- geometries
- .selectExpr("ST_Azimuth(geomA, geomB)")
.as[Double]
.map(180 / math.Pi * _)
.collect()
@@ -604,7 +580,6 @@ class functionTestScala extends TestBaseScala with Matchers with GeometrySample
When("Using ST_Dumps")
val dumpedGeometries = geometryDf.selectExpr("ST_Dump(geom) as geom")
- dumpedGeometries.show(10, false)
Then("Should return geometries list")
dumpedGeometries.select(explode($"geom")).count shouldBe 14
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/implicits.scala b/sql/src/test/scala/org/datasyslab/geosparksql/implicits.scala
index 52f819d..cc235bb 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/implicits.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/implicits.scala
@@ -1,7 +1,7 @@
package org.datasyslab.geosparksql
-import com.vividsolutions.jts.geom.Geometry
-import com.vividsolutions.jts.io.WKTReader
+import org.locationtech.jts.geom.Geometry
+import org.locationtech.jts.io.WKTReader
import org.apache.spark.sql.DataFrame
object implicits {
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/predicateJoinTestScala.scala b/sql/src/test/scala/org/datasyslab/geosparksql/predicateJoinTestScala.scala
index cf29863..0026859 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/predicateJoinTestScala.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/predicateJoinTestScala.scala
@@ -41,103 +41,67 @@ class predicateJoinTestScala extends TestBaseScala {
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var pointCsvDF = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF.createOrReplaceTempView("pointtable")
- pointCsvDF.show()
var pointDf = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape from pointtable")
pointDf.createOrReplaceTempView("pointdf")
- pointDf.show()
var rangeJoinDf = sparkSession.sql("select * from polygondf, pointdf where ST_Contains(polygondf.polygonshape,pointdf.pointshape) ")
- rangeJoinDf.explain()
- rangeJoinDf.show(3)
assert(rangeJoinDf.count() == 1000)
}
it("Passed ST_Intersects in a join") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var pointCsvDF = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF.createOrReplaceTempView("pointtable")
- pointCsvDF.show()
var pointDf = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape from pointtable")
pointDf.createOrReplaceTempView("pointdf")
- pointDf.show()
var rangeJoinDf = sparkSession.sql("select * from polygondf, pointdf where ST_Intersects(polygondf.polygonshape,pointdf.pointshape) ")
-
- rangeJoinDf.explain()
- rangeJoinDf.show(3)
assert(rangeJoinDf.count() == 1000)
}
it("Passed ST_Touches in a join") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var pointCsvDF = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF.createOrReplaceTempView("pointtable")
- pointCsvDF.show()
var pointDf = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape from pointtable")
pointDf.createOrReplaceTempView("pointdf")
- pointDf.show()
var rangeJoinDf = sparkSession.sql("select * from polygondf, pointdf where ST_Touches(polygondf.polygonshape,pointdf.pointshape) ")
- rangeJoinDf.explain()
- rangeJoinDf.show(3)
assert(rangeJoinDf.count() == 1000)
}
it("Passed ST_Within in a join") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var pointCsvDF = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF.createOrReplaceTempView("pointtable")
- pointCsvDF.show()
var pointDf = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape from pointtable")
pointDf.createOrReplaceTempView("pointdf")
- pointDf.show()
var rangeJoinDf = sparkSession.sql("select * from polygondf, pointdf where ST_Within(pointdf.pointshape, polygondf.polygonshape) ")
- rangeJoinDf.explain()
- rangeJoinDf.show(3)
assert(rangeJoinDf.count() == 1000)
}
it("Passed ST_Overlaps in a join") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
-
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
@@ -150,33 +114,22 @@ class predicateJoinTestScala extends TestBaseScala {
var rangeJoinDf = sparkSession.sql("select * from polygondf, polygonodf where ST_Overlaps(polygondf.polygonshape, polygonodf.polygonshape)")
- rangeJoinDf.explain()
- rangeJoinDf.show(3)
assert(rangeJoinDf.count() == 57)
}
it("Passed ST_Crosses in a join") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var pointCsvDF = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF.createOrReplaceTempView("pointtable")
- pointCsvDF.show()
var pointDf = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape from pointtable")
pointDf.createOrReplaceTempView("pointdf")
- pointDf.show()
var rangeJoinDf = sparkSession.sql("select * from polygondf, pointdf where ST_Crosses(pointdf.pointshape, polygondf.polygonshape) ")
- rangeJoinDf.explain()
- rangeJoinDf.show(3)
assert(rangeJoinDf.count() == 1000)
}
@@ -185,21 +138,16 @@ class predicateJoinTestScala extends TestBaseScala {
var pointCsvDF1 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF1.createOrReplaceTempView("pointtable")
- pointCsvDF1.show()
var pointDf1 = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape1 from pointtable")
pointDf1.createOrReplaceTempView("pointdf1")
- pointDf1.show()
var pointCsvDF2 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF2.createOrReplaceTempView("pointtable")
- pointCsvDF2.show()
var pointDf2 = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape2 from pointtable")
pointDf2.createOrReplaceTempView("pointdf2")
- pointDf2.show()
var distanceJoinDf = sparkSession.sql("select * from pointdf1, pointdf2 where ST_Distance(pointdf1.pointshape1,pointdf2.pointshape2) <= 2")
- distanceJoinDf.explain()
- distanceJoinDf.show(10)
+
assert(distanceJoinDf.count() == 2998)
}
@@ -208,47 +156,33 @@ class predicateJoinTestScala extends TestBaseScala {
var pointCsvDF1 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF1.createOrReplaceTempView("pointtable")
- pointCsvDF1.show()
var pointDf1 = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape1 from pointtable")
pointDf1.createOrReplaceTempView("pointdf1")
- pointDf1.show()
var pointCsvDF2 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF2.createOrReplaceTempView("pointtable")
- pointCsvDF2.show()
var pointDf2 = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape2 from pointtable")
pointDf2.createOrReplaceTempView("pointdf2")
- pointDf2.show()
var distanceJoinDf = sparkSession.sql("select * from pointdf1, pointdf2 where ST_Distance(pointdf1.pointshape1,pointdf2.pointshape2) < 2")
- distanceJoinDf.explain()
- distanceJoinDf.show(10)
+
assert(distanceJoinDf.count() == 2998)
}
it("Passed ST_Contains in a range and join") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygonInputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var pointCsvDF = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPointInputLocation)
pointCsvDF.createOrReplaceTempView("pointtable")
- pointCsvDF.show()
var pointDf = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape from pointtable")
pointDf.createOrReplaceTempView("pointdf")
- pointDf.show()
var rangeJoinDf = sparkSession.sql("select * from polygondf, pointdf where ST_Contains(polygondf.polygonshape,pointdf.pointshape) " +
"and ST_Contains(ST_PolygonFromEnvelope(1.0,101.0,501.0,601.0), polygondf.polygonshape)")
- rangeJoinDf.explain()
- rangeJoinDf.show(3)
assert(rangeJoinDf.count() == 500)
}
@@ -263,7 +197,6 @@ class predicateJoinTestScala extends TestBaseScala {
val pointDF = sparkSession.sql("select id, ST_Point(cast(lat as Decimal(24,20)), cast(lon as Decimal(24,20))) AS latlon_point FROM rawPointDf")
pointDF.createOrReplaceTempView("pointDf")
- pointDF.show(false)
val rawPolygonDf = sparkSession.createDataFrame(
sparkSession.sparkContext.parallelize(
@@ -284,101 +217,65 @@ class predicateJoinTestScala extends TestBaseScala {
assert(withinEnvelopeDF.count() == 1)
}
it("Passed ST_Equals in a join for ST_Point") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var pointCsvDf1 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPoint1InputLocation)
pointCsvDf1.createOrReplaceTempView("pointtable1")
- pointCsvDf1.show()
var pointDf1 = sparkSession.sql("select ST_Point(cast(pointtable1._c0 as Decimal(24,20)),cast(pointtable1._c1 as Decimal(24,20)) ) as pointshape1 from pointtable1")
pointDf1.createOrReplaceTempView("pointdf1")
- pointDf1.show()
var pointCsvDF2 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPoint2InputLocation)
pointCsvDF2.createOrReplaceTempView("pointtable2")
- pointCsvDF2.show()
var pointDf2 = sparkSession.sql("select ST_Point(cast(pointtable2._c0 as Decimal(24,20)),cast(pointtable2._c1 as Decimal(24,20))) as pointshape2 from pointtable2")
pointDf2.createOrReplaceTempView("pointdf2")
- pointDf2.show()
var equalJoinDf = sparkSession.sql("select * from pointdf1, pointdf2 where ST_Equals(pointdf1.pointshape1,pointdf2.pointshape2) ")
- equalJoinDf.explain()
- equalJoinDf.show(3)
assert(equalJoinDf.count() == 100, s"Expected 100 but got ${equalJoinDf.count()}")
}
it("Passed ST_Equals in a join for ST_Polygon") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var polygonCsvDf1 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygon1InputLocation)
polygonCsvDf1.createOrReplaceTempView("polygontable1")
- polygonCsvDf1.show()
var polygonDf1 = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable1._c0 as Decimal(24,20)),cast(polygontable1._c1 as Decimal(24,20)), cast(polygontable1._c2 as Decimal(24,20)), cast(polygontable1._c3 as Decimal(24,20))) as polygonshape1 from polygontable1")
polygonDf1.createOrReplaceTempView("polygondf1")
- polygonDf1.show()
var polygonCsvDf2 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygon2InputLocation)
polygonCsvDf2.createOrReplaceTempView("polygontable2")
- polygonCsvDf2.show()
var polygonDf2 = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable2._c0 as Decimal(24,20)),cast(polygontable2._c1 as Decimal(24,20)), cast(polygontable2._c2 as Decimal(24,20)), cast(polygontable2._c3 as Decimal(24,20))) as polygonshape2 from polygontable2")
polygonDf2.createOrReplaceTempView("polygondf2")
- polygonDf2.show()
var equalJoinDf = sparkSession.sql("select * from polygondf1, polygondf2 where ST_Equals(polygondf1.polygonshape1,polygondf2.polygonshape2) ")
- equalJoinDf.explain()
- equalJoinDf.show(3)
assert(equalJoinDf.count() == 100, s"Expected 100 but got ${equalJoinDf.count()}")
}
it("Passed ST_Equals in a join for ST_Polygon Random Shuffle") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var polygonCsvDf1 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygon1RandomInputLocation)
polygonCsvDf1.createOrReplaceTempView("polygontable1")
- polygonCsvDf1.show()
var polygonDf1 = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable1._c0 as Decimal(24,20)),cast(polygontable1._c1 as Decimal(24,20)), cast(polygontable1._c2 as Decimal(24,20)), cast(polygontable1._c3 as Decimal(24,20))) as polygonshape1 from polygontable1")
polygonDf1.createOrReplaceTempView("polygondf1")
- polygonDf1.show()
var polygonCsvDf2 = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygon2RandomInputLocation)
polygonCsvDf2.createOrReplaceTempView("polygontable2")
- polygonCsvDf2.show()
var polygonDf2 = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable2._c0 as Decimal(24,20)),cast(polygontable2._c1 as Decimal(24,20)), cast(polygontable2._c2 as Decimal(24,20)), cast(polygontable2._c3 as Decimal(24,20))) as polygonshape2 from polygontable2")
polygonDf2.createOrReplaceTempView("polygondf2")
- polygonDf2.show()
var equalJoinDf = sparkSession.sql("select * from polygondf1, polygondf2 where ST_Equals(polygondf1.polygonshape1,polygondf2.polygonshape2) ")
- equalJoinDf.explain()
- equalJoinDf.show(3)
assert(equalJoinDf.count() == 100, s"Expected 100 but got ${equalJoinDf.count()}")
}
it("Passed ST_Equals in a join for ST_Point and ST_Polygon") {
- val geosparkConf = new GeoSparkConf(sparkSession.sparkContext.getConf)
- println(geosparkConf)
-
var pointCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPoint1InputLocation)
pointCsvDf.createOrReplaceTempView("pointtable")
- pointCsvDf.show()
var pointDf = sparkSession.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20)) ) as pointshape from pointtable")
pointDf.createOrReplaceTempView("pointdf")
- pointDf.show()
var polygonCsvDf = sparkSession.read.format("csv").option("delimiter", ",").option("header", "false").load(csvPolygon1InputLocation)
polygonCsvDf.createOrReplaceTempView("polygontable")
- polygonCsvDf.show()
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
var equalJoinDf = sparkSession.sql("select * from pointdf, polygondf where ST_Equals(pointdf.pointshape,polygondf.polygonshape) ")
- equalJoinDf.explain()
- equalJoinDf.show(3)
assert(equalJoinDf.count() == 0, s"Expected 0 but got ${equalJoinDf.count()}")
}
}
diff --git a/sql/src/test/scala/org/datasyslab/geosparksql/predicateTestScala.scala b/sql/src/test/scala/org/datasyslab/geosparksql/predicateTestScala.scala
index 954a82a..09f15de 100644
--- a/sql/src/test/scala/org/datasyslab/geosparksql/predicateTestScala.scala
+++ b/sql/src/test/scala/org/datasyslab/geosparksql/predicateTestScala.scala
@@ -37,7 +37,6 @@ class predicateTestScala extends TestBaseScala {
pointDf.createOrReplaceTempView("pointdf")
var resultDf = sparkSession.sql("select * from pointdf where ST_Contains(ST_PolygonFromEnvelope(1.0,100.0,1000.0,1100.0), pointdf.arealandmark)")
- resultDf.show()
assert(resultDf.count() == 999)
}
it("Passed ST_Intersects") {
@@ -47,7 +46,6 @@ class predicateTestScala extends TestBaseScala {
pointDf.createOrReplaceTempView("pointdf")
var resultDf = sparkSession.sql("select * from pointdf where ST_Intersects(ST_PolygonFromEnvelope(1.0,100.0,1000.0,1100.0), pointdf.arealandmark)")
- resultDf.show()
assert(resultDf.count() == 999)
}
it("Passed ST_Within") {
@@ -57,7 +55,6 @@ class predicateTestScala extends TestBaseScala {
pointDf.createOrReplaceTempView("pointdf")
var resultDf = sparkSession.sql("select * from pointdf where ST_Within(pointdf.arealandmark, ST_PolygonFromEnvelope(1.0,100.0,1000.0,1100.0))")
- resultDf.show()
assert(resultDf.count() == 999)
}
@@ -73,7 +70,6 @@ class predicateTestScala extends TestBaseScala {
pointDf.createOrReplaceTempView("pointdf")
var equaldf = sparkSession.sql("select * from pointdf where ST_Equals(pointdf.point, ST_Point(100.1, 200.1)) ")
- equaldf.show()
assert(equaldf.count() == 5, s"Expected 5 value but got ${equaldf.count()}")
@@ -90,17 +86,14 @@ class predicateTestScala extends TestBaseScala {
// Convert the polygontable to polygons using ST_PolygonFromEnvelope
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
// Selected polygon is Polygon (100.01,200.01,100.5,200.5)
var equaldf1 = sparkSession.sql("select * from polygonDf where ST_Equals(polygonDf.polygonshape, ST_PolygonFromEnvelope(100.01,200.01,100.5,200.5)) ")
- equaldf1.show()
assert(equaldf1.count() == 5, s"Expected 5 value but got ${equaldf1.count()}")
// Change the order of the polygon points (100.5,200.5,100.01,200.01)
var equaldf2 = sparkSession.sql("select * from polygonDf where ST_Equals(polygonDf.polygonshape, ST_PolygonFromEnvelope(100.5,200.5,100.01,200.01)) ")
- equaldf2.show()
assert(equaldf2.count() == 5, s"Expected 5 value but got ${equaldf2.count()}")
@@ -117,11 +110,9 @@ class predicateTestScala extends TestBaseScala {
// Convert the polygontable to polygons using ST_PolygonFromEnvelope and cast
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
// Selected point is Point (91.01,191.01)
var equaldf = sparkSession.sql("select * from polygonDf where ST_Equals(polygonDf.polygonshape, ST_Point(91.01,191.01)) ")
- equaldf.show()
assert(equaldf.count() == 0, s"Expected 0 value but got ${equaldf.count()}")
@@ -138,7 +129,6 @@ class predicateTestScala extends TestBaseScala {
// Convert the polygontable to polygons using ST_PolygonFromEnvelope and cast
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
/* Selected LineString is ST_LineStringFromText - (100.01,200.01,100.5,200.01,100.5,200.5,100.01,200.5,100.01,200.01)
* It forms the boundary of the polygon Polygon(100.01,200.01,100.5,200.5)
@@ -153,7 +143,6 @@ class predicateTestScala extends TestBaseScala {
val string = "100.01,200.01,100.5,200.01,100.5,200.5,100.01,200.5,100.01,200.01"
var equaldf = sparkSession.sql(s"select * from polygonDf where ST_Equals(polygonDf.polygonshape, ST_LineStringFromText(\'$string\', \',\')) ")
- equaldf.show()
assert(equaldf.count() == 0, s"Expected 0 value but got ${equaldf.count()}")
@@ -169,13 +158,11 @@ class predicateTestScala extends TestBaseScala {
// Convert the polygontable to polygons using ST_PolygonFromEnvelope and cast
var polygonDf = sparkSession.sql("select ST_PolygonFromEnvelope(cast(polygontable._c0 as Decimal(24,20)),cast(polygontable._c1 as Decimal(24,20)), cast(polygontable._c2 as Decimal(24,20)), cast(polygontable._c3 as Decimal(24,20))) as polygonshape from polygontable")
polygonDf.createOrReplaceTempView("polygondf")
- polygonDf.show()
// Selected Polygon is ST_PolygonFromText - Polygon(100.01,200.01,100.5,200.5) formed using ST_PolygonFromText.
val string = "100.01,200.01,100.5,200.01,100.5,200.5,100.01,200.5,100.01,200.01"
var equaldf = sparkSession.sql(s"select * from polygonDf where ST_Equals(polygonDf.polygonshape, ST_PolygonFromText(\'$string\', \',\')) ")
- equaldf.show()
assert(equaldf.count() == 5, s"Expected 5 value but got ${equaldf.count()}")
}
@@ -200,7 +187,6 @@ class predicateTestScala extends TestBaseScala {
pointDf.createOrReplaceTempView("pointdf")
var resultDf = sparkSession.sql("select * from pointdf where ST_Touches(pointdf.arealandmark, ST_PolygonFromEnvelope(0.0,99.0,1.1,101.1))")
- resultDf.show()
assert(resultDf.count() == 1)
}
it("Passed ST_Overlaps") {
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/core/GlobalParameter.java b/viz/src/main/java/org/datasyslab/geosparkviz/core/GlobalParameter.java
index 4772f96..03f54b2 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/core/GlobalParameter.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/core/GlobalParameter.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geosparkviz.core;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Logger;
import org.datasyslab.geosparkviz.extension.coloringRule.ColoringRuleFactory;
import org.datasyslab.geosparkviz.extension.coloringRule.LinearFunction;
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/core/VisualizationOperator.java b/viz/src/main/java/org/datasyslab/geosparkviz/core/VisualizationOperator.java
index 7a78667..e66c298 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/core/VisualizationOperator.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/core/VisualizationOperator.java
@@ -16,10 +16,10 @@
*/
package org.datasyslab.geosparkviz.core;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Logger;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ChoroplethMap.java b/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ChoroplethMap.java
index 318ebe5..4b907db 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ChoroplethMap.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ChoroplethMap.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geosparkviz.extension.visualizationEffect;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Logger;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaSparkContext;
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/HeatMap.java b/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/HeatMap.java
index 99dfa8b..a84e99e 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/HeatMap.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/HeatMap.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geosparkviz.extension.visualizationEffect;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Logger;
import org.apache.spark.api.java.JavaSparkContext;
import org.datasyslab.geospark.spatialRDD.SpatialRDD;
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ScatterPlot.java b/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ScatterPlot.java
index 796d6f6..2b54a91 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ScatterPlot.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/extension/visualizationEffect/ScatterPlot.java
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geosparkviz.extension.visualizationEffect;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Logger;
import org.apache.spark.api.java.JavaSparkContext;
import org.datasyslab.geospark.spatialRDD.SpatialRDD;
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/showcase/Example.java b/viz/src/main/java/org/datasyslab/geosparkviz/showcase/Example.java
index 894a09d..35d6a1c 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/showcase/Example.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/showcase/Example.java
@@ -16,8 +16,8 @@
*/
package org.datasyslab.geosparkviz.showcase;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/utils/Pixel.java b/viz/src/main/java/org/datasyslab/geosparkviz/utils/Pixel.java
index d956bbc..42bedbf 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/utils/Pixel.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/utils/Pixel.java
@@ -16,9 +16,9 @@
*/
package org.datasyslab.geosparkviz.utils;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.PrecisionModel;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.PrecisionModel;
import java.io.Serializable;
diff --git a/viz/src/main/java/org/datasyslab/geosparkviz/utils/RasterizationUtils.java b/viz/src/main/java/org/datasyslab/geosparkviz/utils/RasterizationUtils.java
index 67f96c9..ac47164 100644
--- a/viz/src/main/java/org/datasyslab/geosparkviz/utils/RasterizationUtils.java
+++ b/viz/src/main/java/org/datasyslab/geosparkviz/utils/RasterizationUtils.java
@@ -16,13 +16,13 @@
*/
package org.datasyslab.geosparkviz.utils;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.Point;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Logger;
import scala.Tuple2;
diff --git a/viz/src/main/scala/org/apache/spark/sql/geosparkviz/expressions/Pixelize.scala b/viz/src/main/scala/org/apache/spark/sql/geosparkviz/expressions/Pixelize.scala
index f7384fb..008de17 100644
--- a/viz/src/main/scala/org/apache/spark/sql/geosparkviz/expressions/Pixelize.scala
+++ b/viz/src/main/scala/org/apache/spark/sql/geosparkviz/expressions/Pixelize.scala
@@ -20,7 +20,7 @@ import java.io.ByteArrayOutputStream
import com.esotericsoftware.kryo.Kryo
import com.esotericsoftware.kryo.io.Output
-import com.vividsolutions.jts.geom._
+import org.locationtech.jts.geom._
import org.apache.spark.internal.Logging
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.catalyst.expressions.codegen.CodegenFallback
diff --git a/viz/src/main/scala/org/datasyslab/geosparkviz/showcase/ScalaExample.scala b/viz/src/main/scala/org/datasyslab/geosparkviz/showcase/ScalaExample.scala
index 18682c1..809e559 100644
--- a/viz/src/main/scala/org/datasyslab/geosparkviz/showcase/ScalaExample.scala
+++ b/viz/src/main/scala/org/datasyslab/geosparkviz/showcase/ScalaExample.scala
@@ -20,7 +20,7 @@ import java.awt.Color
import java.io.FileInputStream
import java.util.Properties
-import com.vividsolutions.jts.geom.Envelope
+import org.locationtech.jts.geom.Envelope
import org.apache.log4j.{Level, Logger}
import org.apache.spark.storage.StorageLevel
import org.apache.spark.{SparkConf, SparkContext}
diff --git a/viz/src/main/scala/org/datasyslab/geosparkviz/sql/operator/VizPartitioner.scala b/viz/src/main/scala/org/datasyslab/geosparkviz/sql/operator/VizPartitioner.scala
index fbe5894..c8ce521 100644
--- a/viz/src/main/scala/org/datasyslab/geosparkviz/sql/operator/VizPartitioner.scala
+++ b/viz/src/main/scala/org/datasyslab/geosparkviz/sql/operator/VizPartitioner.scala
@@ -16,7 +16,7 @@
*/
package org.datasyslab.geosparkviz.sql.operator
-import com.vividsolutions.jts.geom.{Envelope, Geometry}
+import org.locationtech.jts.geom.{Envelope, Geometry}
import org.apache.spark.sql.functions._
import org.apache.spark.sql.{DataFrame, Row}
import org.datasyslab.geospark.spatialPartitioning.QuadtreePartitioning
diff --git a/viz/src/test/java/org/datasyslab/geosparkviz/ChoroplethmapTest.java b/viz/src/test/java/org/datasyslab/geosparkviz/ChoroplethmapTest.java
index d027d7f..cc16857 100644
--- a/viz/src/test/java/org/datasyslab/geosparkviz/ChoroplethmapTest.java
+++ b/viz/src/test/java/org/datasyslab/geosparkviz/ChoroplethmapTest.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geosparkviz;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Polygon;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.storage.StorageLevel;
import org.datasyslab.geospark.enums.GridType;
diff --git a/viz/src/test/java/org/datasyslab/geosparkviz/GeoSparkVizTestBase.java b/viz/src/test/java/org/datasyslab/geosparkviz/GeoSparkVizTestBase.java
index 6776ee4..d5d6881 100644
--- a/viz/src/test/java/org/datasyslab/geosparkviz/GeoSparkVizTestBase.java
+++ b/viz/src/test/java/org/datasyslab/geosparkviz/GeoSparkVizTestBase.java
@@ -25,7 +25,7 @@
*/
package org.datasyslab.geosparkviz;
-import com.vividsolutions.jts.geom.Envelope;
+import org.locationtech.jts.geom.Envelope;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripPointMapper.java b/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripPointMapper.java
index c173fd2..7b72766 100644
--- a/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripPointMapper.java
+++ b/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripPointMapper.java
@@ -25,11 +25,11 @@
*/
package org.datasyslab.geosparkviz;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.Point;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.Point;
import org.apache.spark.api.java.function.FlatMapFunction;
import java.util.ArrayList;
diff --git a/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripTest.java b/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripTest.java
index 1420ba8..aa4f587 100644
--- a/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripTest.java
+++ b/viz/src/test/java/org/datasyslab/geosparkviz/NYCTripTest.java
@@ -25,15 +25,15 @@
*/
package org.datasyslab.geosparkviz;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.MultiLineString;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Polygon;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Envelope;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
+import org.locationtech.jts.geom.LinearRing;
+import org.locationtech.jts.geom.MultiLineString;
+import org.locationtech.jts.geom.MultiPolygon;
+import org.locationtech.jts.geom.Polygon;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
diff --git a/viz/src/test/scala/org/datasyslab/geosparkviz/rdd/scalaTest.scala b/viz/src/test/scala/org/datasyslab/geosparkviz/rdd/scalaTest.scala
index 76cc400..3bea4a1 100644
--- a/viz/src/test/scala/org/datasyslab/geosparkviz/rdd/scalaTest.scala
+++ b/viz/src/test/scala/org/datasyslab/geosparkviz/rdd/scalaTest.scala
@@ -30,7 +30,7 @@ import java.awt.Color
import java.io.FileInputStream
import java.util.Properties
-import com.vividsolutions.jts.geom.Envelope
+import org.locationtech.jts.geom.Envelope
import org.apache.log4j.{Level, Logger}
import org.apache.spark.serializer.KryoSerializer
import org.apache.spark.storage.StorageLevel
diff --git a/viz/src/test/scala/org/datasyslab/geosparkviz/sql/optVizOperatorTest.scala b/viz/src/test/scala/org/datasyslab/geosparkviz/sql/optVizOperatorTest.scala
index 9b71916..9f86cd5 100644
--- a/viz/src/test/scala/org/datasyslab/geosparkviz/sql/optVizOperatorTest.scala
+++ b/viz/src/test/scala/org/datasyslab/geosparkviz/sql/optVizOperatorTest.scala
@@ -1,6 +1,6 @@
package org.datasyslab.geosparkviz.sql
-import com.vividsolutions.jts.geom.Envelope
+import org.locationtech.jts.geom.Envelope
import org.apache.spark.sql.functions._
import org.datasyslab.geosparkviz.sql.operator.{AggregateWithinPartitons, VizPartitioner}
import org.datasyslab.geosparkviz.sql.utils.{Conf, LineageDecoder}
@@ -52,7 +52,7 @@ class optVizOperatorTest extends TestBaseScala {
|SELECT pixel, ${Conf.PrimaryPID}, ${Conf.SecondaryPID}, ST_Colorize(weight, (SELECT max(weight) FROM pixelaggregates))
|FROM pixelaggregates
""".stripMargin)
- spark.table("colors").show()
+ spark.table("colors").show(1)
}
it("Passed full pipeline - aggregate:avg - color:uniform") {
@@ -98,7 +98,7 @@ class optVizOperatorTest extends TestBaseScala {
|SELECT pixel, ${Conf.PrimaryPID}, ${Conf.SecondaryPID}, ST_Colorize(weight, 0, 'red')
|FROM pixelaggregates
""".stripMargin)
- spark.table("colors").show()
+ spark.table("colors").show(1)
}
it("Passed lineage decoder"){
diff --git a/viz/src/test/scala/org/datasyslab/geosparkviz/sql/standardVizOperatorTest.scala b/viz/src/test/scala/org/datasyslab/geosparkviz/sql/standardVizOperatorTest.scala
index 4614750..6da5481 100644
--- a/viz/src/test/scala/org/datasyslab/geosparkviz/sql/standardVizOperatorTest.scala
+++ b/viz/src/test/scala/org/datasyslab/geosparkviz/sql/standardVizOperatorTest.scala
@@ -51,7 +51,7 @@ class standardVizOperatorTest extends TestBaseScala {
|SELECT ST_EncodeImage(image)
|FROM images
""".stripMargin)
- spark.table("imagestring").show()
+ spark.table("imagestring").show(1)
}
it("Generate a single image using a fat query") {
@@ -94,7 +94,7 @@ class standardVizOperatorTest extends TestBaseScala {
|SELECT ST_EncodeImage(ST_Render(pixel, ST_Colorize(weight, (SELECT max(weight) FROM pixelaggregates)))) AS image, (SELECT ST_AsText(bound) FROM boundtable) AS boundary
|FROM pixelaggregates
""".stripMargin)
- spark.table("images").show()
+ spark.table("images").show(1)
}
it("Passed the pipeline on points") {
@@ -127,7 +127,7 @@ class standardVizOperatorTest extends TestBaseScala {
|GROUP BY pixel
""".stripMargin)
val pixelaggregates = spark.table("pixelaggregates")
- pixelaggregates.show()
+ pixelaggregates.show(1)
}
it("Passed the pipeline on polygons") {
@@ -218,7 +218,7 @@ class standardVizOperatorTest extends TestBaseScala {
|FROM pixelaggregates
|GROUP BY pid
""".stripMargin).explain()
- spark.table("images").show()
+ spark.table("images").show(1)
}
}
}