This commit is contained in:
Andras Schmelczer 2026-05-28 21:48:35 +01:00
parent 39ef5c6646
commit c995f12f8b
78 changed files with 4830 additions and 1619 deletions

View file

@ -167,6 +167,10 @@ struct Cli {
#[arg(long)]
tiles: PathBuf,
/// Optional PMTiles raster basemap for satellite imagery.
#[arg(long, env = "SATELLITE_TILES")]
satellite_tiles: Option<PathBuf>,
/// Optional PMTiles raster overlay for high-resolution strategic noise.
#[arg(long, env = "NOISE_OVERLAY_TILES")]
noise_overlay_tiles: Option<PathBuf>,
@ -475,6 +479,8 @@ async fn main() -> anyhow::Result<()> {
tiles_path,
"noise_lden_10m.pmtiles",
);
let satellite_tiles =
configured_or_default_overlay_path(&cli.satellite_tiles, tiles_path, "satellite.pmtiles");
let crime_hotspot_tiles = configured_or_default_overlay_path(
&cli.crime_hotspot_tiles,
tiles_path,
@ -488,6 +494,7 @@ async fn main() -> anyhow::Result<()> {
let noise_overlay_reader =
init_optional_tile_reader("Noise", noise_overlay_tiles.as_ref()).await?;
let satellite_reader = init_optional_tile_reader("Satellite", satellite_tiles.as_ref()).await?;
let crime_hotspot_reader =
init_optional_tile_reader("Crime hotspots", crime_hotspot_tiles.as_ref()).await?;
let tree_overlay_reader =
@ -692,6 +699,7 @@ async fn main() -> anyhow::Result<()> {
let reader_tile = tile_reader.clone();
let reader_style = tile_reader.clone();
let reader_satellite = satellite_reader.clone();
let reader_noise_overlay = noise_overlay_reader.clone();
let reader_crime_hotspot = crime_hotspot_reader.clone();
let reader_tree_overlay = tree_overlay_reader.clone();
@ -858,6 +866,18 @@ async fn main() -> anyhow::Result<()> {
})
.layer(ConcurrencyLimitLayer::new(20)),
)
.route(
"/api/tiles/satellite/{z}/{x}/{y}",
get(move |path| {
routes::get_overlay_tile(
reader_satellite.clone(),
routes::OverlayTileFormat::RasterJpeg,
"satellite",
path,
)
})
.layer(ConcurrencyLimitLayer::new(30)),
)
.route(
"/api/overlays/noise/{z}/{x}/{y}",
get(move |path| {