As connectivity becomes increasingly valuable to everyone, access to communication is becoming as important as access to other kinds of basic infrastructure.  As a result there is an increased urgency to make affordable communication infrastructure accessible to ALL citizens.  Yet, mobile network subscriber growth in Africa is slowing, as is revenue growth for mobile network operators. This slowdown is linked to the fact that a significant percentage of newer users come from lower income brackets living in regions that present challenges to operators, ranging from sparser population distributions to lack of effective power infrastructure.  This is compounded by the fact that there is a growing digital urban-rural divide in access.  If something is to be done about this, having an accurate and up-to-date understanding of who has access and who doesn’t is absolutely essential.  This post outlines some work I have done for FHI360 and USAID on a methodology for mapping the unserved.

My goal is twofold:  1) to calculate the number of people not covered by mobile service in a given country; and, 2) to identify communities that could be served if they meet a threshold of population density and radius of coverage.  Radius of coverage is a variable number that intended to be determined by the proposed technology for coverage.  Coverage is affected by a number of variables including tower height, power output, frequencies in use, and antenna type. Typically a single tower coverage radius might range between two and ten kilometres.  A community is identified by having a certain population density within the given coverage radius.  The actual population number for the threshold is also a variable and is determined by the business model i.e. CAPEX and OPEX of the operator which would suggest the minimum population to be covered in order to make a sustainable business. For instance, an operator putting up solar-powered, low-cost base stations may be able to sustainably serve a lower population density in a given area than a traditional mobile networks.  These two variables are meant to be adapted to specific operator solutions.

All of the work was done with Open Source tools including QGIS,Geographic Resources Analysis Support System (GRASS), and the Geospatial Data Abstraction Library (GDAL).


The two key resources required are a map of current mobile network signal coverage and a map of population distribution. In the example used below, mobile network coverage data from the GSMA, an industry association for mobile network operators, are used. Having established the extent of network coverage, it is then necessary to establish the following: how many people are unserved/underserved; where those unserved people live; and, specifically where the densest points of population exist in those unserved areas. There are a number of global data sources that provide GIS-based population density and distribution maps based on national census data.  Each dataset has its own strengths and weaknesses.

JRC’s Global Human Settlement Layer population
WorldPop – University of Southampton
Landscan – Oak Ridge
CIESIN’s Gridded Population of the World (GPW)
CIESIN / Facebook High Resolution Settlement Layer (HRSL) Map

The newest and most significant of the above sources is the CIESIN High Resolution Settlement Layer (HRSL) map which has been produced in collaboration with Facebook. This new population map represents a substantial increase in population distribution resolution which is possible thanks to Facebook’s vast computing power and their use of machine learning algorithms to more accurately detect human settlements. Combined with national census data, this offers an unprecedented level of accuracy in mapping where people live. This in turn allows for better predictions as to where to locate towers for mobile coverage.
Unfortunately the map is currently only available for eight countries: Burkina Faso, Ghana, Haiti, Ivory Coast, Madagascar, Malawi, South Africa, Sri Lanka. This is an increase from the initial release of four countries but still limits the application of the map. In the Liberian example used in this document, WorldPop population data has been used. Liberia was chosen as an example because it there are large areas of the country without any mobile coverage, and as such, is easier to illustrate the methodology.

Mobile Coverage Mapping

Using GIS data supplied by the GSMA, a 2G coverage map is overlaid on the population data map in the form of a shapefile. This map is made available through the GSMA who, in turn, receive coverage maps from their member organisations.  The accuracy of coverage maps supplied by mobile network operators is something that requires further validation.  In the map below, the tower radius coverage appears to be 15 kilometres which is generous for most mobile towers. Eight to ten kilometres is generally considered more realistic although many factors influence coverage including tower height, transmitter power, and terrain features. As such the map probably overstates access. While it is often quite possible for the towers to reach mobile phones over extended distances, the critical limiting factor is the ability of the phones to return a signal to the towers.

2G coverage map of Liberia

2G coverage map of Liberia

For the purpose of this work, the GSMA coverage data is used in the absence of more accurate datasets on the assumption that a) this would establish a minimum value for populations that lack coverage; and b) that this methodology could be substantially improved if access to tower data, including location, technology, height, orientation, and power output, were made available.

Once the coverage map is overlaid on the population it is immediately possible to visually identify populations that are not currently covered by a mobile signal. The challenge now is to calculate the number of people currently unserved. This can be achieved by first calculating a vector (shapefile) layer on the map that corresponds to the inverse of the mobile coverage map.

This can be calculated in QGIS through the following steps:

  • Add a shapefile for the administrative boundary of the country in question. These can be downloaded from the Global Administrative Areas database (GADM) that has been developed by Robert Hijmans, in collaboration with colleagues at the University of California, Berkeley Museum of Vertebrate Zoology (Julian Kapoor and John Wieczorek), the International Rice Research Institute (Nel Garcia, Aileen Maunahan, Arnel Rala) and the University of California, Davis (Alex Mandel), and with contributions of many others.
  • GRASS - Symmetrical Difference dialog

    GRASS – Symmetrical Difference dialog

    Once the administrative boundary has been loaded in QGIS, you can run the Symmetrical Difference function on the administrative boundary and the GSM coverage map to calculate the inverse map. The Symmetrical Difference SAGA tool from the QGIS Processing Toolbox was used to achieve this . This calculated map should then be saved as an independent shape file for future reference.

  • Once the inverse 2G coverage map is available, it is then possible to run the Zonal Statistics function on the combination of the inverse coverage map and the population map. The Zonal Statistics function will calculate the population data that lies in the population raster that lies under the no coverage shapefile. The result will be added to the properties of the no coverage shape file. This can then be exported to an Excel spreadsheet using the XY Tools Plug-in for QGIS. The resulting data provides a high level picture of the number of people not currently covered by a mobile signal.

This completes the first level of GIS analysis which gives a sense of whether the country appears to have a sufficiently large unserved population to warrant further investigation.

Identifying Population Centers

Population map with r.neighbours function applied

Population map with r.neighbours function applied

In order to make a more accurate estimate of the market viability of the unserved population, it is necessary to make some calculations based on the population demographics in order to identify concentrations of populations in the unserved areas that may be the most likely points for putting up base stations. There is more than one way to address this problem. In this case, the r.neighbors algorithm from the GRASS GIS program is used within QGIS to calculate points of population density. A population raster calculates a population value for each pixel in the map. Each pixel corresponds to a specific range of geographic coverage that depends on the resolution of the map. The CIESIN / Facebook HRSL raster has a resolution of 30 square meters per pixel whereas the WorldPop population map covers 100 square meters per pixel. The r.neighbors algorithm examines the surrounding pixels of any given pixel and performs a chosen function on the pixel values. In this case the surrounding pixel values are summed and the value of that sum is placed in the source location, creating a new raster map. The resulting raster map makes it easier to see the areas of highest population density as compared with surrounding areas. In the map to the left it is possible to see how the points of population density have become more visible. The number of surrounding pixels that are calculated can be varied from as little as a 3×3 grid up to whatever level of neighbouring samples brings out the best population density highlights. In the case of Liberia, a 15×15 grid has been chosen.

Having run the r.neighbors algorithm, it is then possible to filter out population densities that do not meet a given threshold. To do this the Raster Calculator (Raster | Raster Calculator) is used in QGIS to establish a threshold that the r.neighbors map must meet. The calculation to do this within the Raster Calculator is of the format

 "RasterMap" * ("RasterMap" > threshold)
Filtered for a threshold level of population density

Filtered for a threshold level of population density

where RasterMap is the name of the raster that has been calculated with the r.neighbors function and threshold is the number that has been chosen as the minimum population threshold. There is no hard and fast number to use for a threshold. The value will be dependent on the r.neighbors algorithm results. In the case of Liberia, a threshold of 150 was chosen. The result of running the Raster Calculator function is a new raster that is zero for everywhere except the regions that have met the threshold value. The next step is to create a vector shapefile identifying the regions that meet the selected population threshold value. In the map to the right, the areas in black represent the new threshold raster.

With this resulting map we can use a QGIS or GDAL function to “polygonize” the raster map into a vector format. The polygonize function draws lines around the non-zero parts of the raster map and creates a new vector layer corresponding to the raster layer. In the map below the areas in blue represent the new shapefile layer that represents regions meeting the population threshold set in the previous calculations.

Filtered population areas converted to polygons

Filtered population areas converted to polygons

The raster map is converted into this vector format in order to identify the centers of these high population areas. This is done through the Polygon Centroids function in QGIS (Vector | Geometry Tools | Polygon Centroids) or can be calculated on the command line using the tool or through the development of custom programs. The centroid of a polygon is its assumed center of gravity. This can be visualized as the point on which the polygon would balance if it was made of a rigid sheet. This is used to establish a point that approximates the point of maximum population density within any given polygon on the map. Inevitably this is an approximation but one that allows us to calculate an epicenter within each identified coverage area.

Mapping the centroids of each polygon

Mapping the centroids of each polygon

In the map to the right, the calculated centroids can be seen. The resulting calculation is yet another shapefile. The shapefile of points representing the centroids of the polygons representing areas that met the population density threshold serve as possible point for locating towers for new coverage. In calculating this, the first step is to look at centroid points that fall outside existing coverage areas. This can be calculated by using the Clip function (Vector | Geoprocessing Tools | Clip) in QGIS using the centroid points as the Input Layer and the 2G no coverage map as the Clip Layer. This produces a subset of the centroids which fall outside the 2G coverage area. The map below show the centroids will fall into the no coverage areas.

Identifying centroids that fall outside 2G coverage areas

Identifying centroids that fall outside 2G coverage areas

Having established these points as possible locations for base stations, we can calculate a buffer zone around each point to simulate a coverage area. We can choose the radius for the base station based on the technology that is expected to be used in the areas. Operators now have a range of base stations technologies that can offer different coverage options based on power output, frequency, tower height, and antenna type. In this case we have chosen a radius of 4.5 kilometers.
In order to calculate the buffers, we first need to project the centroid points into a GIS projection that supports calculations in meters. The standard QGIS projection is a Mercator projection which measures in radians. By selecting the centroid layer in QGIS, you can Save As and, before saving, select a projection that is appropriate to the region you are working in .

Calculating buffers around the centroids.

Calculating buffers around the centroids.

Once the centroid layer has been re-projected, you can then run the buffer function in QGIS (Vector | Geoprocessing Tools | Fixed Distance Buffer). When selecting the Fixed Distance Buffer, tick the Dissolve Result checkbox in order to have overlapping buffers merged into a single polygon. There are trade-offs in choosing to dissolve the buffers though as it creates large coverage areas which cannot be addressed by a single tower.  The benefit is that it identifies regions where multiple communities or larger communities may be served.  There is probably an improvement that could be made here.

More investigation is yet required to establish the correct unit for the Distance option in the Fixed Distance Buffer. Finding a radius of 4.5 kilometers was done by trial and error. In this case a value of .045 produced that result which suggests the unit was 100 kilometers. In the map to the right the calculated buffers can be seen.

Buffers with overlaps on existing 2G coverage removed

Buffers with overlaps on existing 2G coverage removed

Once the buffers have been calculated, we need to exclude the areas where the buffers overlap with existing coverage areas.  Depending on how accurate you feel the mobile coverage maps are, you may or may not choose to do this.  These are rough estimates at  best now as they do not map actual projections of radio coverage but simple circles as approximations.  To remove the overlapping regions, we can Clip the buffers with the map of unserved areas.

Once that is done, we run Zonal Statistics (Raster | Zonal Statistics) again and calculate the population that would be covered under these possible new areas of coverage. Zonal Statistics will calculate population numbers for each polygon. As before, those statistics then become properties of the buffered polygons themselves.

It is then possible to choose to map the colors of those buffers to reflect the estimated population coverage of each buffer zone. Selecting the color gradation for the buffers can be done through the Properties function which is available by right-clicking on the buffer layer in QGIS. In this case, a graduated scale has been used with equal count quantiles. The resulting map, shown below, provides an indication of possible sites for new coverage based on 4.5km radius coverage. This map could be further refined by setting a lower population bound for the buffers.
It is important to point out that this map requires further refinement of both mobile signal coverage sources and population map sources before it can be relied on as more than simply a tool for opening a conversation about coverage. The results require further interrogation and validation. For instance, the Liberian population map appears to indicate a significant population in the north west that is not coverage by a mobile signal. This is unusual as mobile operators have usually provided services to high density population areas. This could be an error in the GSM mobile coverage maps or an error in the population map. A glance at Google Maps would seem to suggest that the error is in the population map. More work is needed in order to better understand the reliability of this methodology based on current data sources.

Map of potential areas for sustainable network deployment.

Map of potential areas for sustainable network deployment.

Future Steps

Essential to the meaningful use of this methodology is an accurate map of existing mobile coverage. Toward that end, access to tower location data would be the next logical step in validating coverage. Knowledge of tower location along with frequencies in use, tower height, and power output would allow for the creation of a detailed coverage map using tools for calculating RF signal propagation and loss based on terrain analysis. The same tool could be applied as an alternative to the buffers calculated around the polygon centroids providing a more accurate estimate of opportunities for new coverage.


As a newcomer to GIS systems, I want to express my appreciation to a number of people who have provided me with guidance along the way. In particular, I would like to thank:

Any errors in the above work are likely a failure on my part to fully appreciate the guidance I was being given. GIS StackExchange deserves a shout-out as well as an invaluable resource.

This work is part of a body of work on Financing Last Mile Connectivity carried out by FHI360 on behalf of USAID.



Posted by Steve Song

@stevesong local telco policy activist. social entrepreneur. founder of @villagetelco
#africa #telecoms #opensource #privacy #wireless #spectrum #data

  • Tome

    News in Burkina Faso.

    Burkina Faso’s minister of development of the digital economy and posts,
    Hadja Fatimata Ouattara Sanon has launched the construction of a
    metropolitan fibre-optic network in the 13 regional capitals of the
    country, according to Burkina 24. The rollout is part of the ‘Government
    Cloud’ (G-Cloud) project set up to improve the provision of
    telecommunications services in the West African state. The total cost of
    the fibre-optic deployment is estimated at around XOF23.6 billion
    (USD39.2 million) and is largely being financed by the Danish Danida
    Business Finance Agency, which will pay approximately XOF19.6 billion
    towards the project with the Burkinabe government adding the remaining
    XOF4 billion. Minister Sanon stated: ‘The G-Cloud project is an
    important project for the government that will significantly improve the
    IT service offering and allow the administration and the private sector
    to focus more on their core business.’

  • Tome

    Little more about Burkina Faso.

    Under the programme, equipment vendor Nokia will lay a
    total of 1,070km of fibre-optic cables, with construction work in
    Ouagadougou, Bobo-Dioulasso, Gaoua, Ziniare, Manga and Banfora set for
    completion by end-2017; fibre-optic deployments in the remaining seven
    capitals are scheduled to be finalised by end-2018

  • Thanks Tome!

  • Tome

    News about Malawi.

    The government of Malawi has launched its USD23 million National Fibre Backbone Project,
    which aims to connect the country’s 28 districts, ITWeb writes. The
    project seeks to integrate government operating systems and increase
    internet access, particularly in rural areas. The fibre-optic cables
    will be deployed by equipment vendor Huawei on power transmission lines owned by the Electricity Supply Corporation of Malawi (ESCOM).
    As previously reported by TeleGeography’s Cable Compendium, in November
    2016 the Chinese government agreed to provide Malawi with a USD21.7
    million loan for its fibre-optic backbone project, following the inking
    of a framework agreement.

    Now checked that ITweb site.

    News from 28.04.2017. about Cameroon and CAB.

    It seems that Chad and Equatorial Guinea connected and active with Cameroon in this project.

    ”At its fifth ordinary session the Committee acknowledged that Cameroon
    has strong fibre optic capacity and has already extended it to
    Equatorial Guinea and Chad, it said it is now ready to add more

    Cameroon is extending its fibre optic capacity to countries in Central
    and West Africa – specifically the Central African Republic, Congo and
    Nigeria, according to the steering committee of the Central African
    Backbone Project.

    Likewise, after the effective interconnection with Chad and Equatorial
    Guinea through fiber optic, efforts are under way to interconnect
    Cameroon with the Central African Republic, Congo and Nigeria. These
    interconnections activities are underpinned by the signing of memorandum
    of understanding with the authorities of these countries.”

  • Thanks Tome. Unclear how the Malawi news differs from the original announcement perhaps more paper has been signed. 🙂
    That CAB project drives me crazy. Impossible to see what has been built, what routes the network has taken, and whether any of it is lit. Even my contacts at the World Bank cannot seem to provide this information.

  • Tome

    Didn’t find nothing except this for Congo part (not on your map).
    Ouesso – Souanké – Ntam (Cameroonian border)
    Ouesso – Pokola – Bomassa (CAR border)

  • Tome

    Little about Orange Liberia. (connected with your post) 🙂
    ” In terms of network expansion, the group constructed 39 new cell sites in 2016, with an additional 65 planned for 2017. ”
    Not sure where they will be constructed

  • Tome

    News in Burkina Faso and SEACOM.

    ”Orange Burkina Faso has begun the deployment of a 580km
    fibre link stretching from the capital Ouagadougou to the border of
    Cote d’Ivoire via Bobo-Dioulasso, following the inauguration of two
    fibre networks last week. The company said that it has deployed a 139km
    metropolitan fibre-optic network in Ouagadougou, with four resilient
    loops serving all twelve districts of the city. In addition, Orange has
    completed the rollout of the 197km Ouagadougou-Dakola fibre-optic
    network, which serves eight large localities en-route and provides
    international voice and internet traffic via Ghana. Once the
    Ouagadougou-Bobo-Dioulasso network is completed, Orange will operate
    916km of fibre in Burkina Faso, for a total investment of USD17 million.”

    It seems that they will go on same way as Onatel fibre link.

    SEACOM plans to rise more capacity.

    ”Submarine cable operator SEACOM has revealed that the second fault on the SEACOM Subsea Cable System
    has now been repaired. Further, SEACOM disclosed that it
    has moved to 100G optical network transport technology, while adding up
    an additional 500Gbps of capacity on its subsea cable that connects
    Africa with Europe. The company also said that it plans to significantly
    increase its network bandwidth in 2017.

    Hope that all these new connections in Burkina Faso will lead to decrease of internet prices.

    What is with 2’nd phase of ACE? No news where are they now and when they will finish.
    Last info from which I read that they started at end of 2015.

  • Tome

    New submarine cable from SA to India via Mauritius.

    Mauritius-based IOX Cable Ltd and Alcatel Submarine Networks (ASN), part of Nokia, have confirmed that they have signed a turnkey agreement for the deployment of the 8,850km IOX Cable System.
    The submarine cable will link South Africa with India, via landings in
    Mauritius and the autonomous outer island of Rodrigues. Providing an
    ultimate design capacity of over 13TBps per fibre pair, the system seeks
    to reinforce Mauritius’s reputation as a communications hub.
    Trans Saharan backbone (Niger)

    The government of Niger has reportedly ratified a loan agreement worth
    XOF15 billion (USD25.7 million) to bankroll the country’s participation
    in the Trans-Saharan Backbone network rollout. The
    project aims to link Niger, Chad, Nigeria and Algeria (stage one) and
    Mali (stage two), while also strengthening interconnection with Benin
    and Burkina Faso. The proposed fibre-optic cable will follow the route
    of the Algeria-Nigeria-Chad Trans-Saharan Road (Route Trans Saharienne, RTS),
    with 1,007km of fibre-optic cabling in Niger – from Assamaka (Algeria)
    to Tinkim (Nigeria) via the Arlit-Agadez-Tanout-Zinder route, with a
    branch from Zinder to N’Guigmi (Niger) via Goure-Maine-Oiffa – and 503km
    in Chad (Daboua-Rigrig-Mao-N’gouri-Massakory-Massaguet).


    Seacom to invest in fibre.
    Pan-African telecom operator SEACOM
    is looking to invest in last-mile fibre assets in Africa that access
    significant populations of end-users, chief development officer Suveer
    Ramdhani has informed ITWeb. The executive commented: ‘We are looking to
    expand regionally by acquiring companies that have made progress in
    this field and that may benefit from being part of a big family.’
    More here:

    Have a nice day.
    Greetings from Croatia

  • Pingback: The Case for Open Data in Telecoms – Many Possibilities()