[ 
https://issues.apache.org/jira/browse/SEDONA-153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17584562#comment-17584562
 ] 

Jia Yu commented on SEDONA-153:
-------------------------------

[~dougdennis] My bad. ST_GeomFromWKT is nullable so if it gets a null input, it 
returns null output. Please feel free to create a PR.

> Python Serialization Fails with Nulls
> -------------------------------------
>
>                 Key: SEDONA-153
>                 URL: https://issues.apache.org/jira/browse/SEDONA-153
>             Project: Apache Sedona
>          Issue Type: Bug
>            Reporter: Doug Dennis
>            Priority: Major
>
> The following currently fail due to Shapely not liking nulls/Nones:
> {code:python}
> def test_null_deserializer(self):
>     result = self.spark.sql("select st_geomfromwkt(null)").collect()[0][0]
>     assert result is None
> def test_null_serializer(self):
>     data = [
>         [1, None]
>     ]
>     schema = t.StructType(
>         [
>             t.StructField("id", IntegerType(), True),
>             t.StructField("geom", GeometryType(), True),
>         ]
>     )
>     self.spark.createDataFrame(
>         data,
>         schema
>     ).createOrReplaceTempView("points")
>     count = self.spark.sql("select count from points").collect()[0][0]
>     assert count == 1
> {code}
> The solution is to add some null guards to methods in the python GeometryType 
> class. I can make a PR for this but I wasn't sure if I needed to wait for 
> this issue to be approved or acknowledged or something :)
> Edit: I adjusted the deserializer test. I accidentally used a previous 
> version that fails on analysis. This version fails when the None is attempted 
> to be iterated in Python.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to