Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am using postgres with postgis and I have a set of points which I would like to interpolate with a set of lines.

Now my problem is that the set of lines are of type multilinestring.

Is there a way to convert them to linestring?

share|improve this question
    
st_linemerge() convert multilies to lines if possible (postgis 1.5 tested) –  simplexio Feb 5 '13 at 11:43

2 Answers 2

" ST_Dump comes in very handy for expanding a MULTI geometry into single geometries. Below is an example. That expands a set of MULTIPOLYGONs into single POLYGONs

SELECT somefield1, somefield2, (ST_Dump(the_geom)).geom As the_geom FROM sometable "

http://www.bostongis.com/postgis_dump.snippet

share|improve this answer

This answer shows a great way to convert multi-part to single-part.

Example for converting multilinestring to linestring with SRID 3857:

  • Check your table if there is any feature with more than 1 part:

    SELECT COUNT(CASE WHEN ST_NumGeometries(geom) > 1 THEN 1 END) AS multi_geom,
    COUNT(geom) AS total_geom
    FROM my_table;
    

If you see "multi_geom" in the result of the above statement is 0, it's safe to proceed to the next step. Otherwise, when multi_geom is larger than 0, you have features in my_table that can not convert safely to single part, you'll have to resolve those problem by hand before proceeding.

  • Convert:

    ALTER TABLE my_table
    ALTER COLUMN geom TYPE geometry(linestring,3857) USING ST_GeometryN(geom, 1);
    
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.