szehon-ho commented on code in PR #54114:
URL: https://github.com/apache/spark/pull/54114#discussion_r2790651363


##########
sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/util/geo/Point.java:
##########
@@ -98,4 +98,32 @@ boolean isEmpty() {
   int getDimensionCount() {
     return coordinates.length;
   }
+
+  @Override
+  protected void appendWktContent(StringBuilder sb) {
+    appendCoordinate(sb, getX());
+    sb.append(" ");
+    appendCoordinate(sb, getY());
+    if (hasZ) {
+      sb.append(" ");
+      appendCoordinate(sb, getZ());
+    }
+    if (hasM) {
+      sb.append(" ");
+      appendCoordinate(sb, getM());
+    }
+  }
+
+  /**
+   * Appends a single coordinate value, formatting integers without decimal 
point.
+   */
+  private static void appendCoordinate(StringBuilder sb, double value) {
+    if (value == Math.floor(value) && !Double.isInfinite(value)) {

Review Comment:
   there may be other ways to construct a geometry that result in NaN?  I think 
if we make the assumption that the code does not handle NaN, we should be 
defensive and throw an exception?  Else we can handle it?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to