[ https://issues.apache.org/jira/browse/SEDONA-4?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17446503#comment-17446503 ]
Adam Binford commented on SEDONA-4: ----------------------------------- Yeah this would need a pretty big overhaul to properly fix for all the functions. Ideally would be a similar setup to the Spark codebase I think with a parent class that calls a `nullSafeEval` on the subclasss (or returns null if one of the children are null). Unfortunately would have to do this on our own instead of using the built-in base classes (UnaryExpression, BinaryExpression, etc.) because of the 3.1/3.2 compatibility issue with those classes. > Graceful handling of null geometries in ST_Distance function > ------------------------------------------------------------ > > Key: SEDONA-4 > URL: https://issues.apache.org/jira/browse/SEDONA-4 > Project: Apache Sedona > Issue Type: Improvement > Reporter: Hugh Saalmans > Assignee: Jia Yu > Priority: Minor > > Using the _*ST_Distance*_ function with a null geometry triggers a > *java.lang.NullPointerException* error. > Expected behaviour is for the function to return *null*. > This is a problem in situations when you can't guarantee a geometry isn't > null; such as when using _*lead*_ and _*lag*_ with windowing. The workaround > is to use a case statement to test for null geoms. > Platform tested on: AWS EMR with Pyspark 3.0.0 (Python 3.7.9) and Sedona > 1.3.2 SNAPSHOT. > I suspect this issue exists in other functions as well but haven't tested. -- This message was sent by Atlassian Jira (v8.20.1#820001)