0

这是我桌子的一部分

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...    

它包含 BOTH LINESTRING 和 MULTILINESTRING

我想对这些数据集做 ST_line_interpolate_point

ST_line_interpolate_point 仅需要第一个参数的 LINESTRING。

那么有什么解决方案可以从 MULTILINESTRING 转换为单个 LINESTRING 吗?

或者

如何检查 MULTILINESTRING 是否可以转换

4

1 回答 1

1

是的,有一种方法可以检查多线是否可以转换为线,首先尝试转换它,然后检查几何数。如果几何数等于 1,则表示从多行成功转换为行:

SELECT * FROM mytable WHERE ST_NumGeometries(ST_LineMerge(the_geom)) = 1 
于 2012-03-08T15:53:07.400 回答