Любые решения для интерполяции 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...    

Он содержит ОБА LINESTRING, а также MULTILINESTRING.

Я хотел бы сделать ST_line_interpolate_point для этого набора данных

НО

ST_line_interpolate_point требует только LINESTRING для 1-го аргумента.

Итак, есть ли решения для преобразования MULTILINESTRING в один LINESTRING?

OR

Как проверить, что MULTILINESTRING может быть преобразовано?


person Korr Iamnot    schedule 08.03.2012    source источник


Ответы (1)


Да, есть способ проверить, может ли мультилиния быть преобразована в Линию, сначала вы пытаетесь преобразовать ее, а затем проверяете количество попыток геометрии. Если количество геометрий равно 1, это означает успешное преобразование из мультилинии в линейку:

SELECT * FROM mytable WHERE ST_NumGeometries(ST_LineMerge(the_geom)) = 1 
person Francisco Valdez    schedule 08.03.2012