【问题标题】:GEOMETRY ST_GeomFromWKB(binary wkb) on spark using Java Language几何 ST_GeomFromWKB(binary wkb) 在 Spark 上使用 Java 语言
【发布时间】:2020-08-13 18:44:44
【问题描述】:

我有一个 Binary 列类型的数据框:

+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|BinaryGeometry                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|[00 00 00 00 01 03 00 00 00 01 00 00 00 11 00 00 00 04 00 F0 00 DC CC 1A C0 87 14 01 81 1E 1B 41 40 FC FF EF 00 68 AA 1A C0 BF EE 57 20 85 19 41 40 04 00 F0 00 8C 86 1A C0 CC DC 8B DC AE 1A 41 40 FF FF EF 00 44 74 1A C0 CA 9D 5D 61 10 1C 41 40 FF FF EF 00 64 63 1A C0 BF 1F 98 0B 3A 1D 41 40 FF FF EF 00 44 47 1A C0 E4 6B A0 DD CE 1D 41 40 FC FF EF 00 D8 2B 1A C0 54 E4 71 67 6D 1C 41 40 FF FF EF 00 44 1A 1A C0 BF 1F 98 0B 3A 1D 41 40 02 00 F0 00 80 0B 1A C0 0D 80 00 13 2F 23 41 40 02 00 F0 00 B0 35 1A C0 CC F6 23 F8 BD 26 41 40 04 00 F0 00 0C 43 1A C0 73 1A 44 AF 16 26 41 40 02 00 F0 00 40 5A 1A C0 FF 54 9C 7C 2D 27 41 40 02 00 F0 00 50 68 1A C0 87 6E B9 42 44 28 41 40 02 00 F0 00 00 7C 1A C0 78 2B 85 BA F5 26 41 40 FC FF EF 00 18 91 1A C0 49 96 6F 58 C6 28 41 40 02 00 F0 00 B0 BC 1A C0 91 FA 4B 0E 7F 20 41 40 04 00 F0 00 DC CC 1A C0 87 14 01 81 1E 1B 41 40] |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

我想将众所周知的二进制 wkb 转换为几何图形。

从我的研究中我发现ST_GeomFromWKB 函数返回一个ST_Geometry 值,该值是从包含Well Known Binary (WKB) 表示ST_GeometryLONG BINARY 值转换而来的。

我正在尝试将其应用于我的数据框,但 BinaryGeometry 列是 Binary 类型,类似于 Array[Byte]

我的问题是:如何从 spark 的二进制列中获取 LONG BINARY 值?

我试过hex函数。

df.withColumn("BinaryGeometry",hex(col("BinaryGeometry")))
        .withColumn("BinaryGeometry",expr("ST_GeomFromWKB(BinaryGeometry)"))

我得到以下输出女巫不正确:

POINT (0 0)

编辑

|-- BinaryGeometry: binary (nullable = true)

另请参阅 http://www.h2gis.org/docs/dev/ST_GeomFromWKB/

【问题讨论】:

标签: java apache-spark geospark


【解决方案1】:

我解决了以下问题:

问题出在数据库表的加载上,必须使用如下代码:

Dataset <Row> df_zones =        sparkSession.read().format("jdbc").option("url", "").option("driver", "com.mysql.jdbc.Driver").option("dbtable", "(select ST_AsWKT(geom) as BinaryGeometry  from zones) as t").option("user", "root").option("password", "").load();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-14
    • 2018-10-12
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    相关资源
    最近更新 更多