obs-portal/tile-generator/layers/obs_events/layer.sql
2021-11-22 09:50:33 +01:00

17 lines
653 B
PL/PgSQL

CREATE OR REPLACE FUNCTION layer_obs_events(bbox geometry, zoom_level int)
RETURNS TABLE(event_id bigint, geometry geometry, distance_overtaker float, distance_stationary float, direction int, course float, speed float, way_id bigint) AS $$
SELECT
id::bigint as event_id,
ST_Transform(overtaking_event.geometry, 3857) as geometry,
distance_overtaker,
distance_stationary,
(case when direction_reversed then -1 else 1 end)::int as direction,
course,
speed,
way_id::bigint as way_id
FROM overtaking_event
WHERE ST_Transform(overtaking_event.geometry, 3857) && bbox;
$$ LANGUAGE SQL IMMUTABLE;