5

I am using QGIS to map the existing buildings on the map, we want to build more houses but on a distance not less than 5 km from the existing ones, it means that a place where there is no building in 5 km at least should be marked on the map so that we can know where to put the new infrastructures.

Is there any feature/way that can help me to do it easily in QGIS?

Taras
  • 32,823
  • 4
  • 66
  • 137

3 Answers3

2

Use the following expression either with Geometry generator (for visualization purpose only) or Geometry by expression (to creare actual geometries) (see here for the difference) to create a polygon with areas more than 5 km away from all points:

difference (
    buffer ( bounds (collect($geometry)), 5000),
    buffer (collect (buffer ($geometry, 5000)), 0)
)
  • change 5000 in line 2 to change the size of the red rectangle
  • change 5000 in line 3 to change the size of the buffers (circles around the points)

Blue dots: input point layer. Red polygon: area created with the expression above = all points more then 5 km away from the points: enter image description here

Babel
  • 71,072
  • 14
  • 78
  • 208
1

I have used the buffer and it is working pretty good. You might be interested in the areas that are in x km far from your buildings or any other point of reference. Therefore selecting x km of radius from each point of reference will set apart all the areas that are in x km or more on you map. This means the unselected area is your region of interest. So how will you select this area in x km of radius from your points of reference :

in QGIS 3.4 Select the data that contains your references, from the upper menu bar select vector, under vector select geoprocessing tool under geoprocessing tool select buffer in the input layer bar check if the data selected is your reference data, then down set the distance (radius) remember that this radius is expressed in degrees so you can set the degrees according to how many km you want to use (3km ==> 0.027 degrees), set the segment to a bigger number maybe 50 for you circle to be perfect, check disolve if you want to disolve the selected area, otherwise it's optional, if you want to save that buffer go on the three dots under buffered and click save to file and the click run and you will get the selected area on x km form each point then the remaining areas will be your area of interest.

1

This can be done using an overlay analysis. If you are only interested in a Yes/No answer, then this can be done on vector layers using tools like buffer, dissolve, difference, etc. However, this is not so appropriate for a more detailed answer like in the form of “Very suitable”, “Suitable”, “Less Suitable”, etc. This can be more efficiently done by performing the analysis on raster layers created by your vector layers (using Rasterize (vector to raster) tool). In this method, you can easily add other criteria as well to judge your suitability like closeness to main roads, nearby schools, near other facilities, etc. and get a single output with these all criteria added.

For detailed steps, please see this link. Shortly this analysis involves the following steps.

  1. Convert your vector layer to raster. Using the Rasterize (vector to raster) tool
  2. Generate proximity raster. Using Proximity (raster distance) tool
  3. Use the raster calculator and classify the areas based on their proximity distances. (Say 100 for most suitable, 75 for suitable, 50 or below are less suitable)
  4. Repeat steps 1 to 3 for as many criteria as you choose. For example, one criterion is closeness to the road; another is nearby a hospital, etc.
  5. Overlay (i.e., add) all the raster layers, produced in step 4 using the raster calculator.
  6. Go to Properties → Symbology of this final combined raster. Use a suitable color ramp to visualize the map with different levels (classes) of suitability.
datakeen
  • 473
  • 3
  • 13