-
Notifications
You must be signed in to change notification settings - Fork 5
Bug - add_edge_population fails is there are two GHSL tiles overlapping the study area #124
Copy link
Copy link
Open
Labels
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
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
Reactions are currently unavailable