2012-03-08 102 views
0

这里是我的表中的某些部分插入MULTILINESTRING的任何解决方案?

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

它包含的两个线串也MULTILINESTRINGs

我愿做ST_line_interpolate_point这些数据集所需的

ST_line_interpolate_point只LINESTRING在第一个参数。

那么是否有任何解决方案将MULTILINESTRING转换为单个LINESTRING?

OR

如何检查MULTILINESTRING can be convert

回答

1

是的,有一种方法可以检查多行是否可以转换为行,首先尝试转换它,然后检查几何结构的数量。如果几何的数量等于1,则意味着从多行到行的成功转换:

SELECT * FROM mytable WHERE ST_NumGeometries(ST_LineMerge(the_geom)) = 1