【发布时间】:2020-02-11 11:03:29
【问题描述】:
您好,我有两个关于 postgis 几何格式的问题:
如何确定这种几何格式(ewkb、hexewkb ...)是什么?
"0101000020110F0000000000003087094100000080B6415741"
如何将 wkt 转换为 EWKB?
【问题讨论】:
标签: postgresql postgis
您好,我有两个关于 postgis 几何格式的问题:
如何确定这种几何格式(ewkb、hexewkb ...)是什么?
"0101000020110F0000000000003087094100000080B6415741"
如何将 wkt 转换为 EWKB?
【问题讨论】:
标签: postgresql postgis
要检查几何是否有效(无论格式如何),您可以使用 ST_IsValid - 或 ST_IsValidReason 以防您想知道它失败的原因。
SELECT ST_IsValid('0101000020110F0000000000003087094100000080B6415741');
st_isvalid
------------
t
(1 Zeile)
如果出于某种原因您想测试几何是否以某种格式编码,请尝试 ST_GeomFrom* 函数并在失败时捕获错误消息,例如
SELECT ST_GeomFromWKB('POINT(1 2)');
FEHLER: Invalid endian flag value encountered.
SELECT ST_GeomFromText('POINT(1 2)');
st_geomfromtext
--------------------------------------------
0101000000000000000000F03F0000000000000040
(1 Zeile)
要将其转换为EWKB,请尝试ST_AsEWKB
SELECT ST_AsEWKB('0101000020110F0000000000003087094100000080B6415741');
st_asewkb
------------------------------------------------------
\x0101000020110f0000000000003087094100000080b6415741
(1 Zeile)
【讨论】: