You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sedona.apache.org by zo...@apache.org on 2023/04/17 15:30:52 UTC

[sedona] branch fix/move-formatmapper-from-core-to-common created (now 270fca22)

This is an automated email from the ASF dual-hosted git repository.

zongsizhang pushed a change to branch fix/move-formatmapper-from-core-to-common
in repository https://gitbox.apache.org/repos/asf/sedona.git


      at 270fca22 move formatutils to common, move sql functions dependency

This branch includes the following new commits:

     new 270fca22 move formatutils to common, move sql functions dependency

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[sedona] 01/01: move formatutils to common, move sql functions dependency

Posted by zo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zongsizhang pushed a commit to branch fix/move-formatmapper-from-core-to-common
in repository https://gitbox.apache.org/repos/asf/sedona.git

commit 270fca2203abfd908c19f3e63697041cc4812044
Author: zongsi.zhang <kr...@gmail.com>
AuthorDate: Mon Apr 17 23:30:34 2023 +0800

    move formatutils to common, move sql functions dependency
---
 R/R/dependencies.R                                 |  4 +--
 .../org/apache/sedona/common/Constructors.java     | 22 +++++++++++++
 .../sedona/common}/enums/FileDataSplitter.java     |  2 +-
 .../apache/sedona/common}/enums/GeometryType.java  |  2 +-
 .../apache/sedona/common/utils}/FormatUtils.java   | 12 ++++---
 .../sedona/core/formatMapper/FormatMapper.java     |  5 +--
 .../sedona/core/formatMapper/GeoJsonReader.java    |  2 +-
 .../core/formatMapper/LineStringFormatMapper.java  |  4 +--
 .../core/formatMapper/PointFormatMapper.java       |  4 +--
 .../core/formatMapper/PolygonFormatMapper.java     |  4 +--
 .../core/formatMapper/RectangleFormatMapper.java   |  4 +--
 .../apache/sedona/core/formatMapper/WkbReader.java |  2 +-
 .../apache/sedona/core/formatMapper/WktReader.java |  2 +-
 .../showcase/EarthdataMapperRunnableExample.java   |  2 +-
 .../org/apache/sedona/core/showcase/Example.java   |  2 +-
 .../sedona/core/spatialRDD/LineStringRDD.java      |  2 +-
 .../apache/sedona/core/spatialRDD/PointRDD.java    |  2 +-
 .../apache/sedona/core/spatialRDD/PolygonRDD.java  |  2 +-
 .../sedona/core/spatialRDD/RectangleRDD.java       |  2 +-
 .../ScalaEarthdataMapperRunnableExample.scala      |  3 +-
 .../apache/sedona/core/showcase/ScalaExample.scala |  3 +-
 .../apache/sedona/core/io/EarthdataHDFTest.java    |  3 +-
 .../sedona/core/spatialOperator/JoinTestBase.java  |  2 +-
 .../core/spatialOperator/LineStringKnnTest.java    |  2 +-
 .../core/spatialOperator/LineStringRangeTest.java  |  2 +-
 .../sedona/core/spatialOperator/PointKnnTest.java  |  2 +-
 .../core/spatialOperator/PointRangeTest.java       |  2 +-
 .../core/spatialOperator/PolygonKnnTest.java       |  2 +-
 .../core/spatialOperator/PolygonRangeTest.java     |  2 +-
 .../core/spatialOperator/RectangleKnnTest.java     |  2 +-
 .../core/spatialOperator/RectangleRangeTest.java   |  2 +-
 .../sedona/core/spatialRDD/PolygonRDDTest.java     |  2 +-
 .../sedona/core/spatialRDD/SpatialRDDTestBase.java |  2 +-
 .../core/spatialRDD/SpatialRDDWriterTest.java      |  2 +-
 .../sedona/core/utils/CRSTransformationTest.java   |  2 +-
 .../scala/org/apache/sedona/core/scalaTest.scala   |  3 +-
 docs/tutorial/flink/sql.md                         |  8 ++---
 .../sedona/flink/expressions/Constructors.java     |  6 ++--
 .../sql/sedona_sql/expressions/Constructors.scala  | 37 +++++++---------------
 .../org/apache/sedona/sql/adapterTestScala.scala   |  3 +-
 .../org/apache/sedona/viz/showcase/Example.java    |  2 +-
 .../apache/sedona/viz/showcase/ScalaExample.scala  |  3 +-
 .../java/org/apache/sedona/viz/NYCTripTest.java    |  2 +-
 .../java/org/apache/sedona/viz/VizTestBase.java    |  2 +-
 .../org/apache/sedona/viz/rdd/scalaTest.scala      |  3 +-
 45 files changed, 100 insertions(+), 85 deletions(-)

diff --git a/R/R/dependencies.R b/R/R/dependencies.R
index dcd76cff..bead3f09 100644
--- a/R/R/dependencies.R
+++ b/R/R/dependencies.R
@@ -84,7 +84,7 @@ sedona_initialize_spark_connection <- function(sc) {
     "semicolon"
   )) {
     sc$state$enums$delimiter[[x]] <- invoke_static(
-      sc, "org.apache.sedona.core.enums.FileDataSplitter", toupper(x)
+      sc, "org.apache.sedona.common.enums.FileDataSplitter", toupper(x)
     )
   }
   for (x in c(
@@ -99,7 +99,7 @@ sedona_initialize_spark_connection <- function(sc) {
     "rectangle"
   )) {
     sc$state$enums$geometry_type[[x]] <- invoke_static(
-      sc, "org.apache.sedona.core.enums.GeometryType", toupper(x)
+      sc, "org.apache.sedona.common.enums.GeometryType", toupper(x)
     )
   }
   for (x in c("quadtree", "rtree")) {
diff --git a/common/src/main/java/org/apache/sedona/common/Constructors.java b/common/src/main/java/org/apache/sedona/common/Constructors.java
index e5384471..4cc5c48e 100644
--- a/common/src/main/java/org/apache/sedona/common/Constructors.java
+++ b/common/src/main/java/org/apache/sedona/common/Constructors.java
@@ -13,6 +13,9 @@
  */
 package org.apache.sedona.common;
 
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
+import org.apache.sedona.common.utils.FormatUtils;
 import org.locationtech.jts.geom.Coordinate;
 import org.locationtech.jts.geom.Geometry;
 import org.locationtech.jts.geom.GeometryFactory;
@@ -78,4 +81,23 @@ public class Constructors {
         GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), srid);
         return geometryFactory.createPoint(new Coordinate(x, y, z));
     }
+
+    public static Geometry geomFromText(String geomString, String geomFormat, GeometryType geometryType) {
+        FileDataSplitter fileDataSplitter = FileDataSplitter.getFileDataSplitter(geomFormat);
+        FormatUtils<Geometry> formatMapper = new FormatUtils<>(fileDataSplitter, false, geometryType);
+        try {
+            return formatMapper.readGeometry(geomString);
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public static Geometry geomFromText(String geomString, FileDataSplitter fileDataSplitter) {
+        FormatUtils<Geometry> formatMapper = new FormatUtils<>(fileDataSplitter, false);
+        try {
+            return formatMapper.readGeometry(geomString);
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
diff --git a/core/src/main/java/org/apache/sedona/core/enums/FileDataSplitter.java b/common/src/main/java/org/apache/sedona/common/enums/FileDataSplitter.java
similarity index 98%
rename from core/src/main/java/org/apache/sedona/core/enums/FileDataSplitter.java
rename to common/src/main/java/org/apache/sedona/common/enums/FileDataSplitter.java
index 73c8706f..9eb84994 100755
--- a/core/src/main/java/org/apache/sedona/core/enums/FileDataSplitter.java
+++ b/common/src/main/java/org/apache/sedona/common/enums/FileDataSplitter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.sedona.core.enums;
+package org.apache.sedona.common.enums;
 
 import java.io.Serializable;
 import java.util.HashMap;
diff --git a/core/src/main/java/org/apache/sedona/core/enums/GeometryType.java b/common/src/main/java/org/apache/sedona/common/enums/GeometryType.java
similarity index 97%
rename from core/src/main/java/org/apache/sedona/core/enums/GeometryType.java
rename to common/src/main/java/org/apache/sedona/common/enums/GeometryType.java
index 20d0152f..ba2fe97c 100755
--- a/core/src/main/java/org/apache/sedona/core/enums/GeometryType.java
+++ b/common/src/main/java/org/apache/sedona/common/enums/GeometryType.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.sedona.core.enums;
+package org.apache.sedona.common.enums;
 
 import java.io.Serializable;
 
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/FormatUtils.java b/common/src/main/java/org/apache/sedona/common/utils/FormatUtils.java
similarity index 97%
rename from core/src/main/java/org/apache/sedona/core/formatMapper/FormatUtils.java
rename to common/src/main/java/org/apache/sedona/common/utils/FormatUtils.java
index 0b0aca57..53f56836 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/FormatUtils.java
+++ b/common/src/main/java/org/apache/sedona/common/utils/FormatUtils.java
@@ -11,16 +11,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sedona.core.formatMapper;
+package org.apache.sedona.common.utils;
 
-import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
-import org.apache.sedona.core.enums.GeometryType;
+
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
 import org.locationtech.jts.geom.*;
 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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.wololo.geojson.Feature;
 import org.wololo.geojson.GeoJSONFactory;
 import org.wololo.jts2geojson.GeoJSONReader;
@@ -34,7 +36,7 @@ import java.util.*;
  * This format mapper is isolated on purpose for the sake of sharing across Spark and Flink
  */
 public class FormatUtils<T extends Geometry> implements Serializable {
-    final static Logger logger = Logger.getLogger(FormatUtils.class);
+    final static Logger logger = LoggerFactory.getLogger(FormatUtils.class);
     /**
      * The start offset.
      */
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/FormatMapper.java b/core/src/main/java/org/apache/sedona/core/formatMapper/FormatMapper.java
index 2a6c1516..1ca5fa59 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/FormatMapper.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/FormatMapper.java
@@ -19,8 +19,9 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
-import org.apache.sedona.core.enums.GeometryType;
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
+import org.apache.sedona.common.utils.FormatUtils;
 import org.apache.spark.api.java.function.FlatMapFunction;
 import org.locationtech.jts.geom.Geometry;
 
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/GeoJsonReader.java b/core/src/main/java/org/apache/sedona/core/formatMapper/GeoJsonReader.java
index d4653027..c3166f15 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/GeoJsonReader.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/GeoJsonReader.java
@@ -19,7 +19,7 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.spatialRDD.SpatialRDD;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/LineStringFormatMapper.java b/core/src/main/java/org/apache/sedona/core/formatMapper/LineStringFormatMapper.java
index d1711fb8..d8736925 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/LineStringFormatMapper.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/LineStringFormatMapper.java
@@ -19,8 +19,8 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
-import org.apache.sedona.core.enums.GeometryType;
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
 
 public class LineStringFormatMapper
         extends FormatMapper
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/PointFormatMapper.java b/core/src/main/java/org/apache/sedona/core/formatMapper/PointFormatMapper.java
index c9b74ea9..c8548fc4 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/PointFormatMapper.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/PointFormatMapper.java
@@ -19,8 +19,8 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
-import org.apache.sedona.core.enums.GeometryType;
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
 
 public class PointFormatMapper
         extends FormatMapper
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/PolygonFormatMapper.java b/core/src/main/java/org/apache/sedona/core/formatMapper/PolygonFormatMapper.java
index d442a77c..f9fea172 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/PolygonFormatMapper.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/PolygonFormatMapper.java
@@ -19,8 +19,8 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
-import org.apache.sedona.core.enums.GeometryType;
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
 
 public class PolygonFormatMapper
         extends FormatMapper
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/RectangleFormatMapper.java b/core/src/main/java/org/apache/sedona/core/formatMapper/RectangleFormatMapper.java
index e9352652..4884aa60 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/RectangleFormatMapper.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/RectangleFormatMapper.java
@@ -19,8 +19,8 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
-import org.apache.sedona.core.enums.GeometryType;
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
 
 public class RectangleFormatMapper
         extends FormatMapper
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/WkbReader.java b/core/src/main/java/org/apache/sedona/core/formatMapper/WkbReader.java
index f7912b7e..a0cc9ed5 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/WkbReader.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/WkbReader.java
@@ -19,7 +19,7 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.spatialRDD.SpatialRDD;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
diff --git a/core/src/main/java/org/apache/sedona/core/formatMapper/WktReader.java b/core/src/main/java/org/apache/sedona/core/formatMapper/WktReader.java
index 86b0c98b..051b02e0 100644
--- a/core/src/main/java/org/apache/sedona/core/formatMapper/WktReader.java
+++ b/core/src/main/java/org/apache/sedona/core/formatMapper/WktReader.java
@@ -19,7 +19,7 @@
 
 package org.apache.sedona.core.formatMapper;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.spatialRDD.SpatialRDD;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
diff --git a/core/src/main/java/org/apache/sedona/core/showcase/EarthdataMapperRunnableExample.java b/core/src/main/java/org/apache/sedona/core/showcase/EarthdataMapperRunnableExample.java
index ed86b1f6..a8ba812e 100644
--- a/core/src/main/java/org/apache/sedona/core/showcase/EarthdataMapperRunnableExample.java
+++ b/core/src/main/java/org/apache/sedona/core/showcase/EarthdataMapperRunnableExample.java
@@ -21,7 +21,7 @@ package org.apache.sedona.core.showcase;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper;
 import org.apache.sedona.core.serde.SedonaKryoRegistrator;
diff --git a/core/src/main/java/org/apache/sedona/core/showcase/Example.java b/core/src/main/java/org/apache/sedona/core/showcase/Example.java
index 358fe743..f1bf7dd9 100644
--- a/core/src/main/java/org/apache/sedona/core/showcase/Example.java
+++ b/core/src/main/java/org/apache/sedona/core/showcase/Example.java
@@ -21,7 +21,7 @@ package org.apache.sedona.core.showcase;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.GridType;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.formatMapper.shapefileParser.ShapefileRDD;
diff --git a/core/src/main/java/org/apache/sedona/core/spatialRDD/LineStringRDD.java b/core/src/main/java/org/apache/sedona/core/spatialRDD/LineStringRDD.java
index 25bc7b1e..48650ad2 100644
--- a/core/src/main/java/org/apache/sedona/core/spatialRDD/LineStringRDD.java
+++ b/core/src/main/java/org/apache/sedona/core/spatialRDD/LineStringRDD.java
@@ -19,7 +19,7 @@
 
 package org.apache.sedona.core.spatialRDD;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.formatMapper.FormatMapper;
 import org.apache.sedona.core.formatMapper.LineStringFormatMapper;
 import org.apache.spark.api.java.JavaRDD;
diff --git a/core/src/main/java/org/apache/sedona/core/spatialRDD/PointRDD.java b/core/src/main/java/org/apache/sedona/core/spatialRDD/PointRDD.java
index c4409b59..ca4c560c 100644
--- a/core/src/main/java/org/apache/sedona/core/spatialRDD/PointRDD.java
+++ b/core/src/main/java/org/apache/sedona/core/spatialRDD/PointRDD.java
@@ -19,7 +19,7 @@
 
 package org.apache.sedona.core.spatialRDD;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.formatMapper.FormatMapper;
 import org.apache.sedona.core.formatMapper.PointFormatMapper;
 import org.apache.spark.api.java.JavaRDD;
diff --git a/core/src/main/java/org/apache/sedona/core/spatialRDD/PolygonRDD.java b/core/src/main/java/org/apache/sedona/core/spatialRDD/PolygonRDD.java
index 1df75635..c85c510c 100644
--- a/core/src/main/java/org/apache/sedona/core/spatialRDD/PolygonRDD.java
+++ b/core/src/main/java/org/apache/sedona/core/spatialRDD/PolygonRDD.java
@@ -19,7 +19,7 @@
 
 package org.apache.sedona.core.spatialRDD;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.formatMapper.FormatMapper;
 import org.apache.sedona.core.formatMapper.PolygonFormatMapper;
 import org.apache.spark.api.java.JavaRDD;
diff --git a/core/src/main/java/org/apache/sedona/core/spatialRDD/RectangleRDD.java b/core/src/main/java/org/apache/sedona/core/spatialRDD/RectangleRDD.java
index 6b03ff4c..2e247a37 100644
--- a/core/src/main/java/org/apache/sedona/core/spatialRDD/RectangleRDD.java
+++ b/core/src/main/java/org/apache/sedona/core/spatialRDD/RectangleRDD.java
@@ -19,7 +19,7 @@
 
 package org.apache.sedona.core.spatialRDD;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.formatMapper.RectangleFormatMapper;
 import org.apache.spark.api.java.JavaRDD;
 import org.apache.spark.api.java.JavaSparkContext;
diff --git a/core/src/main/scala/org/apache/sedona/core/showcase/ScalaEarthdataMapperRunnableExample.scala b/core/src/main/scala/org/apache/sedona/core/showcase/ScalaEarthdataMapperRunnableExample.scala
index 64b70239..c1f8f249 100644
--- a/core/src/main/scala/org/apache/sedona/core/showcase/ScalaEarthdataMapperRunnableExample.scala
+++ b/core/src/main/scala/org/apache/sedona/core/showcase/ScalaEarthdataMapperRunnableExample.scala
@@ -20,7 +20,8 @@
 package org.apache.sedona.core.showcase
 
 import org.apache.log4j.{Level, Logger}
-import org.apache.sedona.core.enums.{FileDataSplitter, IndexType}
+import org.apache.sedona.common.enums.FileDataSplitter
+import org.apache.sedona.core.enums.IndexType
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper
 import org.apache.sedona.core.spatialOperator.RangeQuery
 import org.apache.sedona.core.spatialOperator.SpatialPredicate
diff --git a/core/src/main/scala/org/apache/sedona/core/showcase/ScalaExample.scala b/core/src/main/scala/org/apache/sedona/core/showcase/ScalaExample.scala
index 9a5dde5a..ee730fa5 100644
--- a/core/src/main/scala/org/apache/sedona/core/showcase/ScalaExample.scala
+++ b/core/src/main/scala/org/apache/sedona/core/showcase/ScalaExample.scala
@@ -20,7 +20,8 @@
 package org.apache.sedona.core.showcase
 
 import org.apache.log4j.{Level, Logger}
-import org.apache.sedona.core.enums.{FileDataSplitter, GridType, IndexType}
+import org.apache.sedona.common.enums.FileDataSplitter
+import org.apache.sedona.core.enums.{GridType, IndexType}
 import org.apache.sedona.core.formatMapper.shapefileParser.ShapefileRDD
 import org.apache.sedona.core.serde.SedonaKryoRegistrator
 import org.apache.sedona.core.spatialOperator.SpatialPredicate
diff --git a/core/src/test/java/org/apache/sedona/core/io/EarthdataHDFTest.java b/core/src/test/java/org/apache/sedona/core/io/EarthdataHDFTest.java
index 4debeef1..b0d7c36e 100644
--- a/core/src/test/java/org/apache/sedona/core/io/EarthdataHDFTest.java
+++ b/core/src/test/java/org/apache/sedona/core/io/EarthdataHDFTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.io;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper;
 import org.apache.sedona.core.spatialOperator.RangeQuery;
@@ -31,7 +31,6 @@ import org.apache.spark.storage.StorageLevel;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
-import org.junit.Test;
 import org.locationtech.jts.geom.Envelope;
 
 // TODO: Auto-generated Javadoc
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/JoinTestBase.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/JoinTestBase.java
index 53173ebe..2f9dd551 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/JoinTestBase.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/JoinTestBase.java
@@ -19,7 +19,7 @@
 package org.apache.sedona.core.spatialOperator;
 
 import org.apache.sedona.core.TestBase;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.GridType;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.spatialRDD.LineStringRDD;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringKnnTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringKnnTest.java
index 01cc9c65..155d17d6 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringKnnTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringKnnTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.spatialRDD.LineStringRDD;
 import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringRangeTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringRangeTest.java
index 1cb3ca98..8f74e6c3 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringRangeTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/LineStringRangeTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.spatialRDD.LineStringRDD;
 import org.apache.sedona.core.spatialRDD.LineStringRDDTest;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/PointKnnTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/PointKnnTest.java
index 1f15c541..1af99ad3 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/PointKnnTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/PointKnnTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.knnJudgement.GeometryDistanceComparator;
 import org.apache.sedona.core.spatialRDD.PointRDD;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/PointRangeTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/PointRangeTest.java
index 78d4eb6d..93aa7de3 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/PointRangeTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/PointRangeTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.spatialRDD.PointRDD;
 import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonKnnTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonKnnTest.java
index c222aaa8..0d6e7b91 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonKnnTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonKnnTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.knnJudgement.GeometryDistanceComparator;
 import org.apache.sedona.core.spatialRDD.PolygonRDD;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonRangeTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonRangeTest.java
index dc599759..f526d417 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonRangeTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/PolygonRangeTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.spatialRDD.PolygonRDD;
 import org.apache.spark.SparkConf;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleKnnTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleKnnTest.java
index f7a86ca5..7f5184e2 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleKnnTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleKnnTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.knnJudgement.GeometryDistanceComparator;
 import org.apache.sedona.core.spatialRDD.RectangleRDD;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleRangeTest.java b/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleRangeTest.java
index 794d1436..d5fbe7ac 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleRangeTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialOperator/RectangleRangeTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.spatialOperator;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.rangeJudgement.RangeFilter;
 import org.apache.sedona.core.rangeJudgement.RangeFilterUsingIndex;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialRDD/PolygonRDDTest.java b/core/src/test/java/org/apache/sedona/core/spatialRDD/PolygonRDDTest.java
index dfae6cc5..49b0d397 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialRDD/PolygonRDDTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialRDD/PolygonRDDTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sedona.core.spatialRDD;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.spark.storage.StorageLevel;
 import org.junit.AfterClass;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDTestBase.java b/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDTestBase.java
index c0f5b3a8..a37ae247 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDTestBase.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDTestBase.java
@@ -19,7 +19,7 @@
 package org.apache.sedona.core.spatialRDD;
 
 import org.apache.sedona.core.TestBase;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.GridType;
 import org.apache.sedona.core.enums.IndexType;
 import org.locationtech.jts.geom.Envelope;
diff --git a/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDWriterTest.java b/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDWriterTest.java
index 0e22c3f7..123f9e9f 100644
--- a/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDWriterTest.java
+++ b/core/src/test/java/org/apache/sedona/core/spatialRDD/SpatialRDDWriterTest.java
@@ -22,7 +22,7 @@ package org.apache.sedona.core.spatialRDD;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.NullArgumentException;
 import org.apache.sedona.common.utils.GeomUtils;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.spark.storage.StorageLevel;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
diff --git a/core/src/test/java/org/apache/sedona/core/utils/CRSTransformationTest.java b/core/src/test/java/org/apache/sedona/core/utils/CRSTransformationTest.java
index 6044e35e..398c73aa 100644
--- a/core/src/test/java/org/apache/sedona/core/utils/CRSTransformationTest.java
+++ b/core/src/test/java/org/apache/sedona/core/utils/CRSTransformationTest.java
@@ -20,7 +20,7 @@ package org.apache.sedona.core.utils;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.GridType;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.knnJudgement.GeometryDistanceComparator;
diff --git a/core/src/test/scala/org/apache/sedona/core/scalaTest.scala b/core/src/test/scala/org/apache/sedona/core/scalaTest.scala
index 18206adc..78492bb2 100644
--- a/core/src/test/scala/org/apache/sedona/core/scalaTest.scala
+++ b/core/src/test/scala/org/apache/sedona/core/scalaTest.scala
@@ -19,7 +19,8 @@
 
 package org.apache.sedona.core
 
-import org.apache.sedona.core.enums.{FileDataSplitter, GridType, IndexType, JoinBuildSide}
+import org.apache.sedona.common.enums.FileDataSplitter
+import org.apache.sedona.core.enums.{GridType, IndexType, JoinBuildSide}
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper
 import org.apache.sedona.core.spatialOperator.JoinQuery.JoinParams
 import org.apache.sedona.core.spatialOperator.SpatialPredicate
diff --git a/docs/tutorial/flink/sql.md b/docs/tutorial/flink/sql.md
index 720d1aca..d4fc21fe 100644
--- a/docs/tutorial/flink/sql.md
+++ b/docs/tutorial/flink/sql.md
@@ -396,7 +396,7 @@ The output will be
 * Create a Geometry from a WKT string
 
 ```java
-import org.apache.sedona.core.formatMapper.FormatUtils;
+import org.apache.sedona.common.utils.FormatUtils;
 import org.locationtech.jts.geom.Geometry;
 
 DataStream<Geometry> geometries = text.map(new MapFunction<String, Geometry>() {
@@ -412,7 +412,7 @@ DataStream<Geometry> geometries = text.map(new MapFunction<String, Geometry>() {
 * Create a Point from a String `1.1, 2.2`. Use `,` as the delimiter.
 
 ```java
-import org.apache.sedona.core.formatMapper.FormatUtils;
+import org.apache.sedona.common.utils.FormatUtils;
 import org.locationtech.jts.geom.Geometry;
 
 DataStream<Geometry> geometries = text.map(new MapFunction<String, Geometry>() {
@@ -428,7 +428,7 @@ DataStream<Geometry> geometries = text.map(new MapFunction<String, Geometry>() {
 * Create a Polygon from a String `1.1, 1.1, 10.1, 10.1`. This is a rectangle with (1.1, 1.1) and (10.1, 10.1) as their min/max corners.
 
 ```java
-import org.apache.sedona.core.formatMapper.FormatUtils;
+import org.apache.sedona.common.utils.FormatUtils;
 import org.locationtech.jts.geom.GeometryFactory;
 import org.locationtech.jts.geom.Geometry;
 
@@ -455,7 +455,7 @@ DataStream<Geometry> geometries = text.map(new MapFunction<String, Geometry>() {
 Put a geometry in a Flink Row to a `geomStream`. Note that you can put other attributes in Row as well. This example uses a constant value `myName` for all geometries.
 
 ```java
-import org.apache.sedona.core.formatMapper.FormatUtils;
+import org.apache.sedona.common.utils.FormatUtils;
 import org.locationtech.jts.geom.Geometry;
 import org.apache.flink.types.Row;
 
diff --git a/flink/src/main/java/org/apache/sedona/flink/expressions/Constructors.java b/flink/src/main/java/org/apache/sedona/flink/expressions/Constructors.java
index d6583ed8..08cc0ed9 100644
--- a/flink/src/main/java/org/apache/sedona/flink/expressions/Constructors.java
+++ b/flink/src/main/java/org/apache/sedona/flink/expressions/Constructors.java
@@ -15,9 +15,9 @@ package org.apache.sedona.flink.expressions;
 
 import org.apache.flink.table.annotation.DataTypeHint;
 import org.apache.flink.table.functions.ScalarFunction;
-import org.apache.sedona.core.enums.FileDataSplitter;
-import org.apache.sedona.core.enums.GeometryType;
-import org.apache.sedona.core.formatMapper.FormatUtils;
+import org.apache.sedona.common.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.GeometryType;
+import org.apache.sedona.common.utils.FormatUtils;
 import org.apache.spark.sql.sedona_sql.expressions.geohash.GeoHashDecoder;
 import org.locationtech.jts.geom.Coordinate;
 import org.locationtech.jts.geom.Geometry;
diff --git a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala b/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala
index 3505899f..30c1f447 100644
--- a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala
@@ -18,25 +18,22 @@
  */
 package org.apache.spark.sql.sedona_sql.expressions
 
-import org.apache.sedona.core.enums.{FileDataSplitter, GeometryType}
+import org.apache.sedona.common.Constructors
+import org.apache.sedona.common.enums.{FileDataSplitter, GeometryType}
 import org.apache.sedona.core.formatMapper.FormatMapper
 import org.apache.sedona.sql.utils.GeometrySerializer
 import org.apache.spark.sql.catalyst.InternalRow
-import org.apache.spark.sql.catalyst.expressions.Expression
+import org.apache.spark.sql.catalyst.expressions.{Expression, ImplicitCastInputTypes}
 import org.apache.spark.sql.catalyst.expressions.codegen.CodegenFallback
-import org.apache.spark.sql.catalyst.util.GenericArrayData
 import org.apache.spark.sql.sedona_sql.UDT.GeometryUDT
 import org.apache.spark.sql.sedona_sql.expressions.geohash.GeoHashDecoder
 import org.apache.spark.sql.sedona_sql.expressions.implicits.GeometryEnhancer
-import org.apache.spark.sql.types.{AbstractDataType, DataType, DoubleType, IntegerType, StringType, TypeCollection}
+import org.apache.spark.sql.types._
 import org.apache.spark.unsafe.types.UTF8String
 import org.locationtech.jts.geom.{Coordinate, GeometryFactory}
 import org.locationtech.jts.io.WKBReader
 import org.locationtech.jts.io.gml2.GMLReader
 import org.locationtech.jts.io.kml.KMLReader
-import org.apache.spark.sql.catalyst.expressions.ImplicitCastInputTypes
-import org.apache.sedona.common.Constructors
-import org.apache.spark.sql.types.BinaryType
 
 /**
   * Return a point from a string. The string must be plain string and each coordinate must be separated by a delimiter.
@@ -54,9 +51,7 @@ case class ST_PointFromText(inputExpressions: Seq[Expression])
   override def eval(inputRow: InternalRow): Any = {
     val geomString = inputExpressions(0).eval(inputRow).asInstanceOf[UTF8String].toString
     val geomFormat = inputExpressions(1).eval(inputRow).asInstanceOf[UTF8String].toString
-    var fileDataSplitter = FileDataSplitter.getFileDataSplitter(geomFormat)
-    var formatMapper = new FormatMapper(fileDataSplitter, false, GeometryType.POINT)
-    var geometry = formatMapper.readGeometry(geomString)
+    val geometry = Constructors.geomFromText(geomString, geomFormat, GeometryType.POINT)
     GeometrySerializer.serialize(geometry)
   }
 
@@ -87,9 +82,7 @@ case class ST_PolygonFromText(inputExpressions: Seq[Expression])
     val geomString = inputExpressions(0).eval(inputRow).asInstanceOf[UTF8String].toString
     val geomFormat = inputExpressions(1).eval(inputRow).asInstanceOf[UTF8String].toString
 
-    var fileDataSplitter = FileDataSplitter.getFileDataSplitter(geomFormat)
-    var formatMapper = new FormatMapper(fileDataSplitter, false, GeometryType.POLYGON)
-    var geometry = formatMapper.readGeometry(geomString)
+    var geometry = Constructors.geomFromText(geomString, geomFormat, GeometryType.POLYGON)
     GeometrySerializer.serialize(geometry)
   }
 
@@ -119,9 +112,8 @@ case class ST_LineFromText(inputExpressions: Seq[Expression])
   override def eval(inputRow: InternalRow): Any = {
     val lineString = inputExpressions(0).eval(inputRow).asInstanceOf[UTF8String].toString
 
-    var fileDataSplitter = FileDataSplitter.WKT
-    var formatMapper = new FormatMapper(fileDataSplitter, false)
-    var geometry = formatMapper.readGeometry(lineString)
+    val fileDataSplitter = FileDataSplitter.WKT
+    val geometry = Constructors.geomFromText(lineString, fileDataSplitter)
     if(geometry.getGeometryType.contains("LineString")) {
       GeometrySerializer.serialize(geometry)
     } else {
@@ -156,9 +148,7 @@ case class ST_LineStringFromText(inputExpressions: Seq[Expression])
     val geomString = inputExpressions(0).eval(inputRow).asInstanceOf[UTF8String].toString
     val geomFormat = inputExpressions(1).eval(inputRow).asInstanceOf[UTF8String].toString
 
-    var fileDataSplitter = FileDataSplitter.getFileDataSplitter(geomFormat)
-    var formatMapper = new FormatMapper(fileDataSplitter, false, GeometryType.LINESTRING)
-    var geometry = formatMapper.readGeometry(geomString)
+    val geometry = Constructors.geomFromText(geomString, geomFormat, GeometryType.LINESTRING)
 
     GeometrySerializer.serialize(geometry)
   }
@@ -219,9 +209,7 @@ case class ST_GeomFromWKB(inputExpressions: Seq[Expression])
     (inputExpressions.head.eval(inputRow)) match {
       case (geomString: UTF8String) => {
         // Parse UTF-8 encoded wkb string
-        val fileDataSplitter = FileDataSplitter.WKB
-        val formatMapper = new FormatMapper(fileDataSplitter, false)
-        formatMapper.readGeometry(geomString.toString).toGenericArrayData
+        Constructors.geomFromText(geomString.toString, FileDataSplitter.WKB).toGenericArrayData
       }
       case (wkb: Array[Byte]) => {
         // convert raw wkb byte array to geometry
@@ -257,10 +245,7 @@ case class ST_GeomFromGeoJSON(inputExpressions: Seq[Expression])
 
   override def eval(inputRow: InternalRow): Any = {
     val geomString = inputExpressions.head.eval(inputRow).asInstanceOf[UTF8String].toString
-
-    var fileDataSplitter = FileDataSplitter.GEOJSON
-    var formatMapper = new FormatMapper(fileDataSplitter, false)
-    var geometry = formatMapper.readGeometry(geomString)
+    val geometry = Constructors.geomFromText(geomString, FileDataSplitter.GEOJSON)
     // If the user specify a bunch of attributes to go with each geometry, we need to store all of them in this geometry
     if (inputExpressions.length > 1) {
       geometry.setUserData(generateUserData(minInputLength, inputExpressions, inputRow))
diff --git a/sql/src/test/scala/org/apache/sedona/sql/adapterTestScala.scala b/sql/src/test/scala/org/apache/sedona/sql/adapterTestScala.scala
index 9f236812..2fb58a82 100644
--- a/sql/src/test/scala/org/apache/sedona/sql/adapterTestScala.scala
+++ b/sql/src/test/scala/org/apache/sedona/sql/adapterTestScala.scala
@@ -19,7 +19,8 @@
 
 package org.apache.sedona.sql
 
-import org.apache.sedona.core.enums.{FileDataSplitter, GridType, IndexType}
+import org.apache.sedona.common.enums.FileDataSplitter
+import org.apache.sedona.core.enums.{GridType, IndexType}
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper
 import org.apache.sedona.core.formatMapper.shapefileParser.ShapefileReader
 import org.apache.sedona.core.spatialOperator.JoinQuery
diff --git a/viz/src/main/java/org/apache/sedona/viz/showcase/Example.java b/viz/src/main/java/org/apache/sedona/viz/showcase/Example.java
index a228efb1..990129cc 100644
--- a/viz/src/main/java/org/apache/sedona/viz/showcase/Example.java
+++ b/viz/src/main/java/org/apache/sedona/viz/showcase/Example.java
@@ -20,7 +20,7 @@ package org.apache.sedona.viz.showcase;
 
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.enums.GridType;
 import org.apache.sedona.core.enums.IndexType;
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper;
diff --git a/viz/src/main/scala/org/apache/sedona/viz/showcase/ScalaExample.scala b/viz/src/main/scala/org/apache/sedona/viz/showcase/ScalaExample.scala
index 7365e47f..f159474f 100644
--- a/viz/src/main/scala/org/apache/sedona/viz/showcase/ScalaExample.scala
+++ b/viz/src/main/scala/org/apache/sedona/viz/showcase/ScalaExample.scala
@@ -23,7 +23,8 @@ import java.io.FileInputStream
 import java.util.Properties
 
 import org.apache.log4j.{Level, Logger}
-import org.apache.sedona.core.enums.{FileDataSplitter, GridType, IndexType}
+import org.apache.sedona.common.enums.FileDataSplitter
+import org.apache.sedona.core.enums.{GridType, IndexType}
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper
 import org.apache.sedona.core.spatialOperator.JoinQuery
 import org.apache.sedona.core.spatialRDD.{PointRDD, PolygonRDD, RectangleRDD}
diff --git a/viz/src/test/java/org/apache/sedona/viz/NYCTripTest.java b/viz/src/test/java/org/apache/sedona/viz/NYCTripTest.java
index 46136af7..78e33e37 100644
--- a/viz/src/test/java/org/apache/sedona/viz/NYCTripTest.java
+++ b/viz/src/test/java/org/apache/sedona/viz/NYCTripTest.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sedona.viz;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.core.spatialRDD.PointRDD;
 import org.apache.sedona.viz.core.ImageGenerator;
 import org.apache.sedona.viz.extension.visualizationEffect.HeatMap;
diff --git a/viz/src/test/java/org/apache/sedona/viz/VizTestBase.java b/viz/src/test/java/org/apache/sedona/viz/VizTestBase.java
index d8253a5d..2a96610d 100644
--- a/viz/src/test/java/org/apache/sedona/viz/VizTestBase.java
+++ b/viz/src/test/java/org/apache/sedona/viz/VizTestBase.java
@@ -18,7 +18,7 @@
  */
 package org.apache.sedona.viz;
 
-import org.apache.sedona.core.enums.FileDataSplitter;
+import org.apache.sedona.common.enums.FileDataSplitter;
 import org.apache.sedona.viz.core.Serde.SedonaVizKryoRegistrator;
 import org.locationtech.jts.geom.Envelope;
 import org.apache.log4j.Level;
diff --git a/viz/src/test/scala/org/apache/sedona/viz/rdd/scalaTest.scala b/viz/src/test/scala/org/apache/sedona/viz/rdd/scalaTest.scala
index 3abdf94c..12d248bb 100644
--- a/viz/src/test/scala/org/apache/sedona/viz/rdd/scalaTest.scala
+++ b/viz/src/test/scala/org/apache/sedona/viz/rdd/scalaTest.scala
@@ -24,7 +24,8 @@ import java.util.Properties
 
 import org.locationtech.jts.geom.Envelope
 import org.apache.log4j.{Level, Logger}
-import org.apache.sedona.core.enums.{FileDataSplitter, GridType, IndexType}
+import org.apache.sedona.common.enums.FileDataSplitter
+import org.apache.sedona.core.enums.{GridType, IndexType}
 import org.apache.sedona.core.formatMapper.EarthdataHDFPointMapper
 import org.apache.sedona.core.spatialOperator.JoinQuery
 import org.apache.sedona.core.spatialRDD.{PointRDD, PolygonRDD, RectangleRDD}