Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

bug: `add_edge_population` fails is there are two GHSL tiles overlapping the study area

Open
#124 1 comment 0 reactions 1 assignee View on GitHub

@juanfonsecaLS1 is already working on this.

Since Apr 1, 2026.

  • #126 by @juanfonsecaLS1 — open

Assessment

This issue has not been assessed yet.

Description

bug mid

Hi @cbueth

When the study area overlaps more than one of the GHSL tiles, the function add_edge_population returns an error.

Here is a reprex for this behaviour

import osmnx as ox
from superblockify.population.approximation import add_edge_population

boundary_lat, boundary_lon = 41.8956456, 12.4655397

graph = ox.graph_from_point(
    (boundary_lat, boundary_lon), 
    dist=500, 
    network_type='drive', 
    simplify=True
)

graph = ox.add_edge_speeds(graph)
graph = ox.add_edge_travel_times(graph)
graph = ox.project_graph(graph)

add_edge_population(graph, overwrite=True)
# 2026-04-01 12:21:54,478 |     INFO | tessellation.py:101 | Calculating edge cells for graph with 165 edges.
# 2026-04-01 12:21:54,609 |     INFO | tessellation.py:155 | Tessellated 132 edge cells in 0:00:00.
# 2026-04-01 12:21:54,672 |     INFO | ghsl.py:129 | Using the GHSL raster tiles for the bounding box (1039130.3128053441, 4999534.908906185, 1040472.7243228266, 5000784.670403941).
# TypeError: invalid path or file: ['/home/juan/create-toy-nets/data/ghsl/GHS_POP_E2025_GLOBE_R2023A_54009_100_V1_0_R4_C20.tif', '/home/juan/create-toy-nets/data/ghsl/GHS_POP_E2025_GLOBE_R2023A_54009_100_V1_0_R5_C20.tif']
# Cell In[56], line 1
# ----> 1 add_edge_population(graph, overwrite=True)

To fix this, we will need to preprocess the tiles beforehand. The changes shouldn't be too long

Dominant language
Python
Stars
33
Forks
4
Avg merge
3h 15m
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from BikeNetKit/superblockify

All issues in BikeNetKit/superblockify

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.