BikeNetKit / BikeNetKit/superblockify
bug: `add_edge_population` fails is there are two GHSL tiles overlapping the study area
- 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
Assessment
This issue has not been assessed yet.