6

I have a Polygon which I want to convert to centerline linestring.

Polygon IMAGE 1

I used the Vector to convert to Polyline but they are not center line as under:

VECTOR TOOL

enter image description here

IMAGE 2

Polyline created by the above tool is not centerline polyline.

enter image description here IMAGE 3

What I am expecting to get is as under (centerline per road, instead of the lines on the side of the road[Image 3]):

enter image description here

IMAGE 4

5

Answer: You can. Good afternoon, Daffer, I found time for you and hurry to help you :-). My answer is now practical.

The original data and table names are fictitious, do not forget to rename them with reference to your example.

Sit in my car and go together to the stop - the "center line of the road."

The initial geodata are polygons of a road network with a width of about 11 m in the EPSG: 4326 coordinate system, broken into segments, see Fig. 1.

enter image description here

1) In a convenient way for you, create a negative buffer, for example in PGAdmin:

create table buf_negative as SELECT ST_Buffer (geom, -0.000045) as geom FROM buf_dump; or in QGIS tools: "Vector-Geoprocessing-Buffer Zones". Thus, we reduced the width of the roads from 11 m to 1 m, see Fig.2

enter image description here

2) Convert the negative buffer (1 m) into lines, for example with QGIS tools: "Vector-Processing geometry-polygons in a line" result see Fig. 3

enter image description here

3) Extract from the lines of the point, for example with the QGIS tools: "Vector-Processing geometry-Extract nodes", the result see Fig. 4

enter image description here

4) Create point buffers from them, so that they intersect each other, Further combine them with each other using the tool "Vector>Geoprocessing>Merge" and extract centroids from adjacent buffers, the result is shown in Fig. 5 (centroids are red dots)

enter image description here

5) From the centroid points, create the Delaunay Triangulation, for example with the QGIS tools: "Vector-Processing geometry-Delaunay triangulation", and trim the result with your 1 m negative buffer polygons, see the result of Fig. 6

enter image description here

6) Blast the lines into segments, for example, using QGIS Desktop with GRASS tools: "Data Analysis - Lines-Explode Lines", see Fig. 7

enter image description here

7) Run the following script in PGAdmin:

create table buf_centre_ln as SELECT ST_Intersection (a.geom, b.geom) AS geom FROM explode_ln as a JOIN buf_negative as b ON ST_Within (a.geom, b.geom);

see the result in Fig. 8

enter image description here

9) Remove duplicating lines and do with the center lines, whatever,

we arrived, your stop, it's time to say goodbye, respectfully

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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