dataframeapache-sparkpysparkgeospatialgeospark

How do I convert a geometry column from binary format to string format in a pyspark dataframe?


Here is my attempt at this:

%sql SELECT df1.*,df1.geometry.STAsText() as geom_text FROM df_geo df1.

This obviously fails because it is not a table, but a dataframe. How can one do this using pyspark or geospark?


Solution

  • If you use GeoSparkSQL,

    SELECT *, ST_AsText(geometry) as geom_text FROM df_geo
    

    In pyspark:

    df_geo.createOrReplaceTempView("df_geo")
    df2 = spark.sql("SELECT *, ST_AsText(geometry) as geom_text FROM df_geo")