I need to select all the ids of the linestrings that forms a ring, grouped by ring.
For example, the 6 linestrings below
CREATE TABLE lines(id INTEGER);
SELECT AddGeometryColumn('lines', 'geom', 0, 'LINESTRING', 2);
INSERT INTO lines(id, geom) VALUES
(1, ST_GeomFromText('LINESTRING(0 0, 1 0, 1 1)')),
(2, ST_GeomFromText('LINESTRING(1 1, 0 1, 0 0)')),
(3, ST_GeomFromText('LINESTRING(0 2, 1 2, 1 3)')),
(4, ST_GeomFromText('LINESTRING(1 3, 0 3, 0 2)')),
(5, ST_GeomFromText('LINESTRING(2 0, 3 0, 3 1)')),
(6, ST_GeomFromText('LINESTRING(0 0, 1 0)'));
forms 2 ring: linestrings 1 and 2 form a ring (let's call it "ring 1"), 3 and 4 form "ring2".
I need something like this:
line_id | ring_id
--------+--------------
1 | 1
2 | 1
3 | 2
4 | 2