Skip to content

Instantly share code, notes, and snippets.

@pnorman
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pnorman/ebd41f5a1759916a48b5 to your computer and use it in GitHub Desktop.
Save pnorman/ebd41f5a1759916a48b5 to your computer and use it in GitHub Desktop.
SQL queries used for determining old-style multipolygon member information
SELECT count(*), n_tags
FROM (SELECT count(DISTINCT w.tags) AS n_tags
FROM relations r
JOIN relation_members rm ON (r.id=rm.relation_id)
JOIN ways w ON (rm.member_type='W' AND rm.member_role='outer' AND rm.member_id=w.id)
WHERE r.tags=hstore('type','multipolygon')
GROUP BY r.id) AS s
GROUP BY n_tags
ORDER BY n_tags;
COPY (SELECT count(DISTINCT w.tags) AS n_tags, r.id, ST_AsText(ST_MakeLine(w.linestring))
FROM relations r
JOIN relation_members rm ON (r.id=rm.relation_id)
JOIN ways w ON (rm.member_type='W' AND rm.member_role='outer' AND rm.member_id=w.id)
WHERE r.tags=hstore('type','multipolygon')
GROUP BY r.id
HAVING count(DISTINCT w.tags) >= 2
ORDER BY n_tags DESC) TO STDOUT;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment