这里是我的桌子的某些部分

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

它包含instrings和multilinestrings

我想做这些数据集的st_line_interpolate_point

st_line_interpolate_point只需要在第一个参数上的linestring。 所以有没有任何解决方案可以从多重语程转换为单个碱度?

如何检查multilinestring 可以转换

有帮助吗?

解决方案

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top