BikeNetKit / BikeNetKit/superblockify

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

Open
#124 1 comment 0 reactions 1 assignee Claimed by @juanfonsecaLS1 View on GitHub
bug mid
Dominant language
Python
Stars
33
Forks
4
Avg merge
3h 15m
Merged PRs (30d)
1

Description

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

```python
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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.