I have a set of points on a city, representing CELL TOWER locations. Each CELL TOWER has 3 or 4 different CELL RADIOS pointing to diferent directions (Azimuth). What I need is an algorithm to take each CELL TOWER coordinate, and its corresponding CELL RADIO azimuth, an run a polygon growing function to fill the city with the CELL's area of influences.

I imagine the growing function like a diffusion or wave propagation, and would need it to stop whenever two CELL "signals" (polygons) collide with one another, effectually stopping the algorithm on such area.

Its similar to Voronoi polygons, but instead of growing areas "radially" from the CELL TOWER CENTER, I need to it to grow with a certain bearing or direction, from the original point takin into account the azimuths.

[On the left image you can see the points representing the CELL TOWER, each having blue lines projecting out of the center representing the direction of the cell radio. The direction is the azimuth which is given for every cell.

ON the Right you can see a graph of what Im looking for, where each number and color represent a CELL RADIO signal propagated until reach another CELL RADIO SIGNAL.]1

enter image description here

  • Thanky you very much Babel! I was exploring the option you mentioned, but the grid got so big, it became very slow. In the end, found an alternative way to do it with voronois, by creating a point for each bearing just 10 meters away from the center, and doing voronois for all points. Though I find there are some diferences with one option an the other, since with your approach, the lines o sight of the cell are prefered until the distances marked by the line. Oct 7, 2022 at 18:22

1 Answer 1

  1. Create lines (as you have on your screenshot) from each station with all the bearings.

  2. Create a grid and calculate for each cell which line is the nearest one - e.g. using this expression: overlay_nearest('line_layer','id')[0] and replace line_layer and id with the relevant names.

  3. Use Menu Processing > Toolbox > Aggregate to merge the grid cells containing the same number to get one polygon per station.

Screenshot, showing step 2: grid cells with the same value are shown in the same color: enter image description here

Your Answer

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

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