From 5c52bb3afe3662e67fd8d569c15559e868f42284 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:36:34 +0000 Subject: [PATCH 1/2] Initial plan From 0cc246e8f7a51c3f940c8854b65600c541f8f4fc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:38:52 +0000 Subject: [PATCH 2/2] Fix analyzed roads layer to use relevant_roads with correct filtering - Updated database/setup.sh to align relevant_roads filter logic with analysis.sql - Changed proxy/proxy.js to query relevant_roads instead of planet_osm_roads - Now only shows roads actually analyzed for tempo-30 suitability Co-authored-by: svenklingel <156933514+svenklingel@users.noreply.github.com> --- database/setup.sh | 7 ++++++- proxy/proxy.js | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/database/setup.sh b/database/setup.sh index 8839190..5bcaff1 100644 --- a/database/setup.sh +++ b/database/setup.sh @@ -71,7 +71,12 @@ SELECT FROM planet_osm_line p WHERE p.highway IN ('residential', 'primary', 'secondary', 'tertiary') AND p.highway != 'living_street' - AND NOT ((p.tags->'maxspeed') IN ('30', 'DE:zone:30')); + AND NOT COALESCE( + ((p.tags->'maxspeed') ~ '^\d+$' AND (p.tags->'maxspeed')::integer <= 30) + OR (p.tags->'maxspeed') IN ('DE:zone:30', 'DE:zone:20', 'DE:zone:10') + OR (p.tags->'maxspeed') = 'walk', + false + ); " # Create spatial index diff --git a/proxy/proxy.js b/proxy/proxy.js index 413f995..372ad38 100644 --- a/proxy/proxy.js +++ b/proxy/proxy.js @@ -55,9 +55,9 @@ app.get('/tempo30-wfs', async (req, res) => { } }); -// Forwarding of planet_osm_roads feature layer +// Forwarding of relevant_roads feature layer (analyzed roads without existing tempo 30) app.get('/roads-wfs', async (req, res) => { - const layerName = 'planet_osm_roads'; + const layerName = 'relevant_roads'; try { const data = await fetchWfs(layerName); res.setHeader('Content-Type', OUTPUT_FORMAT);