I have areas (polygon) in the streets (polygons).

enter image description here

I want to enlagre the parallel segment to an other polygon to touch it. And so creating this new polygons.

enter image description here

There is a lot of new alogithms in field calculator. Maybe processing alorithms could be a solution or Python or GRASS. I don't know which way to choose.

At this time, i try this way :

  1. Cut areas by street polygons
  2. Join attributes by location to grab street polygon id in the area
  3. Polygon to lines
  4. Explode lines
  5. Maybe ** IF segment is < 0-45 degrees THEN segment is extended to road polygons ( exploded too ?)**

Polygons to lines

  • The green polygons are always longer in the direction of the streets than they are wide? That way we can know in which direction to enlarge them. Have you tried v.centerline to convert green areas to lines, then v.buffer with flat end caps and then clip the results with dissolved street polygons?
    – BERA
    Oct 13, 2017 at 8:17
  • No they are not always longer in the direction of the streets than they are wide. Not yet tried. goood idea. i try
    – jlSta
    Oct 13, 2017 at 8:20
  • 1
    Ok. Then it might work better if you dissolve the roads, v.centerline them, clip the centerlines with the green areas and then v.buffer these centerlines (instead of the green area centerlines) with flat end cap and then clip the buffers with road polygons
    – BERA
    Oct 13, 2017 at 8:36

1 Answer 1


If I understand correctly, see the source data in Figure 1; enter image description here The solution is as follows: 1) In QGIS, run the Vector tool - "Geometry processing" - "Extract nodes" onto the polygon being processed, the result is shown in figure 2;

enter image description here

2) If you have rectangular polygons, then run in pgAdmin a query for two opposite points belonging to the polygon: create table exper_poi1 as SELECT ST_ClosestPoint (my_line_exper.geom, exper_poi.geom) FROM my_line_exper, exper_poi WHERE exper_poi.gid = 1; and combine them into one layer (table), for example exper_poi_all. (in my experiment there are 4 such points, and not 2, since I do not have a rectangular polygon), the result is shown in Figure 3;

enter image description here

3) In QGIS, on your exper_poi_all table, run the Delaunay Triangulation tool and get the following table, for example: exper_poi_triangl, see figure 4;

enter image description here

4) In QGIS in the "Pencil" editing mode in the exper_poi_triangl table, select all triangles that fall into the area of interest, use the "Vector" tool - "Geoprocessing" - "Merge by feature" (check "selected objects only" "Classification" - for all reasons) result exper_poly see figure 5;

enter image description here

Good luck, with respect

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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