Skip to content

Bug - add_edge_population fails is there are two GHSL tiles overlapping the study area #124

@juanfonsecaLS1

Description

@juanfonsecaLS1

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

Metadata

Metadata

Labels

bugSomething isn't workingmidMid priority

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions