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 2022/10/25 16:49:24 UTC
[incubator-sedona] branch master updated: [SEDONA-182] ST_AsText should not return SRID (#703)
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 3533b9f3 [SEDONA-182] ST_AsText should not return SRID (#703)
3533b9f3 is described below
commit 3533b9f38618c4916991ec741ef66f0b64a2462c
Author: Martin Andersson <u....@gmail.com>
AuthorDate: Tue Oct 25 18:49:17 2022 +0200
[SEDONA-182] ST_AsText should not return SRID (#703)
---
common/src/main/java/org/apache/sedona/common/Functions.java | 4 ++++
common/src/main/java/org/apache/sedona/common/utils/GeomUtils.java | 7 +++++++
.../org/apache/spark/sql/sedona_sql/expressions/Functions.scala | 2 +-
sql/src/test/scala/org/apache/sedona/sql/functionTestScala.scala | 2 ++
4 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/common/src/main/java/org/apache/sedona/common/Functions.java b/common/src/main/java/org/apache/sedona/common/Functions.java
index be0eb151..435f60da 100644
--- a/common/src/main/java/org/apache/sedona/common/Functions.java
+++ b/common/src/main/java/org/apache/sedona/common/Functions.java
@@ -227,6 +227,10 @@ public class Functions {
return GeomUtils.getEWKT(geometry);
}
+ public static String asWKT(Geometry geometry) {
+ return GeomUtils.getWKT(geometry);
+ }
+
public static byte[] asEWKB(Geometry geometry) {
return GeomUtils.getEWKB(geometry);
}
diff --git a/common/src/main/java/org/apache/sedona/common/utils/GeomUtils.java b/common/src/main/java/org/apache/sedona/common/utils/GeomUtils.java
index d2f0dde6..b3d3cc7c 100644
--- a/common/src/main/java/org/apache/sedona/common/utils/GeomUtils.java
+++ b/common/src/main/java/org/apache/sedona/common/utils/GeomUtils.java
@@ -142,6 +142,13 @@ public class GeomUtils {
return sridString + new WKTWriter(GeomUtils.getDimension(geometry)).write(geometry);
}
+ public static String getWKT(Geometry geometry) {
+ if (geometry == null) {
+ return null;
+ }
+ return new WKTWriter(GeomUtils.getDimension(geometry)).write(geometry);
+ }
+
public static byte[] getEWKB(Geometry geometry) {
if (geometry == null) {
return null;
diff --git a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Functions.scala b/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Functions.scala
index 1ae659ca..9acdbfc1 100644
--- a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Functions.scala
+++ b/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Functions.scala
@@ -398,7 +398,7 @@ case class ST_PrecisionReduce(inputExpressions: Seq[Expression])
}
case class ST_AsText(inputExpressions: Seq[Expression])
- extends InferredUnaryExpression(Functions.asEWKT) {
+ extends InferredUnaryExpression(Functions.asWKT) {
protected def withNewChildrenInternal(newChildren: IndexedSeq[Expression]) = {
copy(inputExpressions = newChildren)
diff --git a/sql/src/test/scala/org/apache/sedona/sql/functionTestScala.scala b/sql/src/test/scala/org/apache/sedona/sql/functionTestScala.scala
index 89bfb1be..99d68d51 100644
--- a/sql/src/test/scala/org/apache/sedona/sql/functionTestScala.scala
+++ b/sql/src/test/scala/org/apache/sedona/sql/functionTestScala.scala
@@ -325,6 +325,8 @@ class functionTestScala extends TestBaseScala with Matchers with GeometrySample
polygonDf.createOrReplaceTempView("polygondf")
var wktDf = sparkSession.sql("select ST_AsText(countyshape) as wkt from polygondf")
assert(polygonDf.take(1)(0).getAs[Geometry]("countyshape").toText.equals(wktDf.take(1)(0).getAs[String]("wkt")))
+ val wkt = sparkSession.sql("select ST_AsText(ST_SetSRID(ST_Point(1.0,1.0), 3021))").first().getString(0)
+ assert(wkt == "POINT (1 1)", "WKT should not contain SRID")
}
it("Passed ST_AsText 3D") {