================== Geometry accessors ================== st_asbinary *********** .. function:: st_asbinary(col) Translate a geometry into its Well-known Binary (WKB) representation. :param col: Geometry column :type col: Column: StringType, HexType, JSONType or InternalGeometryType :rtype: Column: BinaryType :example: .. tabs:: .. code-tab:: py df = spark.createDataFrame([{'wkt': 'POINT (30 10)'}]) df.select(st_asbinary('wkt').alias('wkb')).show() +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. code-tab:: scala val df = List(("POINT (30 10)")).toDF("wkt") df.select(st_asbinary($"wkt").alias("wkb")).show() +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. code-tab:: sql SELECT st_asbinary("POINT (30 10)") AS wkb +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. code-tab:: r R df <- createDataFrame(data.frame('wkt'= "POINT (30 10)")) showDF(select(df, alias(st_asbinary(column("wkt")), "wkb"))) +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. note:: Alias for :ref:`st_aswkb`. st_asgeojson ************ .. function:: st_asgeojson(col) Translate a geometry into its GeoJSON representation. :param col: Geometry column :type col: Column: BinaryType, StringType, HexType or InternalGeometryType :rtype: Column: JSONType :example: .. tabs:: .. code-tab:: py df = spark.createDataFrame([{'wkt': 'POINT (30 10)'}]) df.select(st_asgeojson('wkt').cast('string').alias('json')).show(truncate=False) +------------------------------------------------------------------------------------------------+ |json | +------------------------------------------------------------------------------------------------+ |{{"type":"Point","coordinates":[30,10],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}}| +------------------------------------------------------------------------------------------------+ .. code-tab:: scala val df = List(("POINT (30 10)")).toDF("wkt") df.select(st_asgeojson($"wkt").cast("string").alias("json")).show(false) +------------------------------------------------------------------------------------------------+ |json | +------------------------------------------------------------------------------------------------+ |{{"type":"Point","coordinates":[30,10],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}}| +------------------------------------------------------------------------------------------------+ .. code-tab:: sql SELECT cast(st_asgeojson("POINT (30 10)") AS string) AS json +------------------------------------------------------------------------------------------------+ |json | +------------------------------------------------------------------------------------------------+ |{{"type":"Point","coordinates":[30,10],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}}| +------------------------------------------------------------------------------------------------+ .. code-tab:: r R df <- createDataFrame(data.frame('wkt'= "POINT (30 10)")) showDF(select(df, alias(st_asgeojson(column("wkt")), "json")), truncate=F) +------------------------------------------------------------------------------------------------+ |json | +------------------------------------------------------------------------------------------------+ |{{"type":"Point","coordinates":[30,10],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}}| +------------------------------------------------------------------------------------------------+ st_astext ********* .. function:: st_astext(col) Translate a geometry into its Well-known Text (WKT) representation. :param col: Geometry column :type col: Column: BinaryType, HexType, JSONType or InternalGeometryType :rtype: Column: StringType :example: .. tabs:: .. code-tab:: py df = spark.createDataFrame([{'lon': 30., 'lat': 10.}]) df.select(st_astext(st_point('lon', 'lat')).alias('wkt')).show() +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. code-tab:: scala val df = List((30.0, 10.0)).toDF("lon", "lat") df.select(st_astext(st_point($"lon", $"lat")).alias("wkt")).show() +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. code-tab:: sql SELECT st_astext(st_point(30.0D, 10.0D)) AS wkt +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. code-tab:: r R df <- createDataFrame(data.frame(lon = 30.0, lat = 10.0)) showDF(select(df, alias(st_astext(st_point(column("lon"), column("lat"))), "wkt")), truncate=F) +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. note:: Alias for :ref:`st_aswkt`. st_aswkb ******** .. function:: st_aswkb(col) Translate a geometry into its Well-known Binary (WKB) representation. :param col: Geometry column :type col: Column: StringType, HexType, JSONType or InternalGeometryType :rtype: Column: BinaryType :example: .. tabs:: .. code-tab:: py df = spark.createDataFrame([{'wkt': 'POINT (30 10)'}]) df.select(st_aswkb('wkt').alias('wkb')).show() +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. code-tab:: scala val df = List(("POINT (30 10)")).toDF("wkt") df.select(st_aswkb($"wkt").alias("wkb")).show() +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. code-tab:: sql SELECT st_aswkb("POINT (30 10)") AS wkb +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. code-tab:: r R df <- createDataFrame(data.frame('wkt'= "POINT (30 10)")) showDF(select(df, alias(st_aswkb(column("wkt")), "wkb"))) +--------------------+ | wkb| +--------------------+ |[01 01 00 00 00 0...| +--------------------+ .. note:: Alias for :ref:`st_asbinary`. st_aswkt ******** .. function:: st_aswkt(col) Translate a geometry into its Well-known Text (WKT) representation. :param col: Geometry column :type col: Column: BinaryType, HexType, JSONType or InternalGeometryType :rtype: Column: StringType :example: .. tabs:: .. code-tab:: py df = spark.createDataFrame([{'lon': 30., 'lat': 10.}]) df.select(st_aswkt(st_point('lon', 'lat')).alias('wkt')).show() +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. code-tab:: scala val df = List((30.0, 10.0)).toDF("lon", "lat") df.select(st_aswkt(st_point($"lon", $"lat")).alias("wkt")).show() +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. code-tab:: sql SELECT st_aswkt(st_point(30.0D, 10.0D)) AS wkt +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. code-tab:: r R df <- createDataFrame(data.frame(lon = 30.0, lat = 10.0)) showDF(select(df, alias(st_aswkt(st_point(column("lon"), column("lat"))), "wkt")), truncate=F) +-------------+ | wkt| +-------------+ |POINT (30 10)| +-------------+ .. note:: Alias for :ref:`st_astext`.