add support for new middle table format of osm2pgsql

Functions are adapted according to the format detected from the
osm2pgsql property table.
This commit is contained in:
Sarah Hoffmann
2024-02-15 16:19:56 +01:00
parent a4f2e6a893
commit 36b1660121
5 changed files with 163 additions and 29 deletions

View File

@@ -73,6 +73,26 @@ END;
$$
LANGUAGE plpgsql IMMUTABLE;
CREATE OR REPLACE FUNCTION get_rel_node_members(members JSONB, memberLabels TEXT[])
RETURNS SETOF BIGINT
AS $$
DECLARE
member JSONB;
BEGIN
FOR member IN SELECT * FROM jsonb_array_elements(members)
LOOP
IF member->>'type' = 'N' and member->>'role' = ANY(memberLabels) THEN
RETURN NEXT (member->>'ref')::bigint;
END IF;
END LOOP;
RETURN;
END;
$$
LANGUAGE plpgsql IMMUTABLE;
-- Copy 'name' to or from the default language.
--
-- \param country_code Country code of the object being named.