【发布时间】:2019-01-19 22:06:51
【问题描述】:
我在 MySQL 中有一个 2D POINT 列。我使用 JDBC 将其读入 Java 对象。结果是一个字节[25]。我想知道这是什么格式,所以我可以将其转换为我的观点(例如双值)
点是这样设置的:
UPDATE ... SET point=GeomFromText('POINT(18 63)')
DB 中的结果字节:
0x00000000010100000000000000000032400000000000804F40
【问题讨论】:
-
您能否分享有关
POINT列的表描述以及您目前如何尝试查询该表?GeomFromText('POINT(18 -63)')是您在将数据插入列时使用的东西。 -
列名真的是
point吗?这是一个 MySQL 保留字,因此您应该在查询中使用 back tic (`point`) 对其进行转义,或者最好重命名该列。 -
这只是一个示例名称,我将其命名为“start”。它与 ST_X/ST_Y 函数正常工作。但我需要为所有列使用 * 来选择它
-
字节顺序标记是一个字节,POINT是常量8字节,坐标是两次8字节。似乎有一个可以转换的 WKBReader,使用
ResultSet.getBytes()。 -
感谢 Joop,WKBReader 工作正常。格式是小端,所以直接双转换给出了错误的结果。
标签: java mysql jdbc geometry point