CREATE MATERIALIZED VIEW all_points AS (
SELECT (st_geometryn(points.geom, 1))::geometry(Point,4326) AS geom,
concat('lipas_pisteet-', points."sportsPlaceId") AS id,
points.name,
points."cityName",
points.tarmo_category,
'lipas_pisteet'::text AS table_name,
(row_to_json(points.*))::jsonb AS props
FROM kooste.lipas_pisteet points
WHERE (points.deleted = false)
UNION ALL
SELECT (st_geometryn(points.geom, 1))::geometry(Point,4326) AS geom,
concat('museovirastoarcrest_rkykohteet-', points."OBJECTID") AS id,
points.name,
'Tampere'::text AS "cityName",
points.tarmo_category,
'museovirastoarcrest_rkykohteet'::text AS table_name,
(row_to_json(points.*))::jsonb AS props
FROM kooste.museovirastoarcrest_rkykohteet points
WHERE ((points.deleted = false) AND (points.visibility = true))
UNION ALL
SELECT (st_geometryn(points.geom, 1))::geometry(Point,4326) AS geom,
concat('museovirastoarcrest_muinaisjaannokset-', points.mjtunnus) AS id,
points.name,
points."cityName",
points.tarmo_category,
'museovirastoarcrest_muinaisjaannokset'::text AS table_name,
(row_to_json(points.*))::jsonb AS props
FROM kooste.museovirastoarcrest_muinaisjaannokset points
WHERE ((points.deleted = false) AND (points.visibility = true))
UNION ALL
SELECT (st_geometryn(points.geom, 1))::geometry(Point,4326) AS geom,
concat('tamperewfs_luonnonmuistomerkit-', points.sw_member) AS id,
points.name,
'Tampere'::text AS "cityName",
points.tarmo_category,
'tamperewfs_luonnonmuistomerkit'::text AS table_name,
(row_to_json(points.*))::jsonb AS props
FROM kooste.tamperewfs_luonnonmuistomerkit points
WHERE ((points.deleted = false) AND (points.visibility = true))
UNION ALL
SELECT (st_geometryn(points.geom, 1))::geometry(Point,4326) AS geom,
concat('tamperewfs_luontopolkurastit-', points.mi_prinx) AS id,
points.name,
'Tampere'::text AS "cityName",
points.tarmo_category,
'tamperewfs_luontopolkurastit'::text AS table_name,
(row_to_json(points.*))::jsonb AS props
FROM kooste.tamperewfs_luontopolkurastit points
WHERE ((points.deleted = false) AND (points.visibility = true))
)