Parallel linestring

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Parallel linestring

Olivier Leprêtre

Hi

 

I would appreciate to get some suggestions to detect and convert semi-parallel linestring. I have Y shaped linestrings composed of two linestrings with a common part. My goal is to detect that there are two lines composing the Y trunk, merging them into a new one (or keeping only one of them) and placing a new node at the Y center, to get a result composed of three linestrings, one trunk and two branches. Lines have the same starting point at the bottom of the Y.

 

I tried to use toTopogeom but this does not help so far as it does not create a topopology when lines are parallels and close (0,03 meters as an example).

 

Any idea to detect the parallel part would be appreciated.

 

Thanks !

 

Olivier


Garanti sans virus. www.avast.com

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Parallel linestring

Peter Devoy
It is difficult to visualise the problem but perhaps some combination
of ST_Difference and ST_Union could help you?

If the lines do not exactly overlap you could perhaps first grow all
geometries using ST_Buffer, then use ST_Union on the result, then
maybe use ST_ApproximateMedialAxis to get a line?

Good luck


Peter
_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Parallel linestring

Olivier Leprêtre
Thanks Peter,

I managed to reach my goal using ST_LineInterpolatePoint. Starting from Start/End points, I add a new point along each linestring couple every meter until I get a significant offset (let's say 50 cm). Storing the resulting point allows to build lines from start to this new point for vizualization purposes. It's also necessary to consider that start/ending point come from digitization, which returns lines in a random way, important to adjust when using ST_LineInterpolatePoint.

Olivier

-----Message d'origine-----
De : postgis-users [mailto:[hidden email]] De la part de Peter Devoy
Envoyé : samedi 15 avril 2017 22:05
À : PostGIS Users Discussion
Objet : Re: [postgis-users] Parallel linestring

It is difficult to visualise the problem but perhaps some combination of ST_Difference and ST_Union could help you?

If the lines do not exactly overlap you could perhaps first grow all geometries using ST_Buffer, then use ST_Union on the result, then maybe use ST_ApproximateMedialAxis to get a line?

Good luck


Peter
_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users

Hi

I would appreciate to get some suggestions to detect and convert semi-parallel linestring. I have Y shaped linestrings composed of two linestrings with a common part. My goal is to detect that there are two lines composing the Y trunk, merging them into a new one (or keeping only one of them) and placing a new node at the Y center, to get a result composed of three linestrings, one trunk and two branches. Lines have the same starting point at the bottom of the Y.

I tried to use toTopogeom but this does not help so far as it does not create a topopology when lines are parallels and close (0,03 meters as an example).

Any idea to detect the parallel part would be appreciated.

Thanks !

Olivier


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

_______________________________________________
postgis-users mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/postgis-users
Loading...