这是我表格的一部分
the_new_geom
MULTILINESTRING((100.594606800391 13.872016439113...
LINESTRING(100.622342929363 13.9502950094115,100....
LINESTRING(100.618133904403 14.1676090338694,100....
LINESTRING(100.823426479749 14.2959151254166,100....
MULTILINESTRING((100.823426479749 14.295915125416...
它包含两个LINESTRING和MULTILINESTRING
我想对这些数据集执行ST_line_interpolate_point
BUT
ST_line_interpolate_point在第一个参数上仅需要LINESTRING。
那么有什么解决方案可以从MULTILINESTRING转换为单个LINESTRING吗?
OR
如何检查MULTILINESTRING can be convert?
答案 0 :(得分:1)
是的,有一种方法可以检查多行是否可以转换为Line,首先尝试转换它,然后检查geomtries的数量。如果几何数等于1,则表示从多行到行的成功转换:
SELECT * FROM mytable WHERE ST_NumGeometries(ST_LineMerge(the_geom)) = 1