LANGUAGE 'plpgsql';
--} _AsGMLEdge(id, start_node, end_node, line, visitedTable, nsprefix, precision, options, idprefix, gmlver)
+--{
+--
+-- INTERNAL FUNCTION
+-- text _AsGMLFace(toponame, face_id, visitedTable,
+-- nsprefix, precision, options, idprefix, gmlVersion)
+--
+-- }{
+CREATE OR REPLACE FUNCTION topology._AsGMLFace(toponame text, face_id int,
+ visitedTable regclass, nsprefix_in text,
+ prec int, options int, idprefix text, gmlver int)
+ RETURNS text
+AS
+$$
+DECLARE
+ visited bool;
+ nsprefix text;
+ gml text;
+ rec RECORD;
+ rec2 RECORD;
+ bounds geometry;
+ side int;
+BEGIN
+
+ nsprefix := 'gml:';
+ IF nsprefix_in IS NOT NULL THEN
+ IF nsprefix_in = '' THEN
+ nsprefix = nsprefix_in;
+ ELSE
+ nsprefix = nsprefix_in || ':';
+ END IF;
+ END IF;
+
+ gml := '<' || nsprefix || 'Face ' || nsprefix
+ || 'id="' || idprefix || 'F' || face_id || '">';
+
+ -- Construct the face geometry, then for each polygon:
+ FOR rec IN SELECT (ST_DumpRings((ST_Dump(ST_ForceRHR(
+ topology.ST_GetFaceGeometry(toponame, face_id)))).geom)).*
+ LOOP
+
+ -- Contents of a directed face are the list of edges
+ -- that cover the specific ring
+ bounds = ST_Boundary(rec.geom);
+
+ FOR rec2 IN EXECUTE
+ 'SELECT e.*, ST_Line_Locate_Point('
+ || quote_literal(bounds::text)
+ || ', ST_Line_Interpolate_Point(e.geom, 0.2)) as pos FROM '
+ || quote_ident(toponame)
+ || '.edge e WHERE ST_Covers('
+ || quote_literal(bounds::text)
+ || ', e.geom) ORDER BY pos'
+ -- TODO: add left_face/right_face to the conditional, to reduce load
+ LOOP
+
+ gml = gml || '<' || nsprefix || 'directedEdge';
+
+ -- if this edge goes in same direction to the
+ -- ring bounds, make it with negative orientation
+ SELECT DISTINCT (ST_Dump(
+ ST_SharedPaths(rec2.geom, bounds))
+ ).path[1] into side;
+ IF side = 1 THEN -- edge goes in same direction
+ gml = gml || ' orientation="-"';
+ END IF;
+
+ -- Do visited bookkeeping if visitedTable was given
+ IF visitedTable IS NOT NULL THEN
+
+ EXECUTE 'SELECT true FROM '
+ || visitedTable::text
+ || ' WHERE element_type = 2 AND element_id = '
+ || rec2.edge_id LIMIT 1 INTO visited;
+ IF visited THEN
+ -- Use xlink:href if visited
+ gml = gml || ' xlink:href="#' || idprefix || 'E'
+ || rec2.edge_id || '" />';
+ CONTINUE;
+ ELSE
+ -- Mark as visited otherwise
+ EXECUTE 'INSERT INTO ' || visitedTable::text
+ || '(element_type, element_id) VALUES (2, '
+ || rec2.edge_id || ')';
+ END IF;
+
+ END IF;
+
+ gml = gml || '>';
+
+ gml = gml || topology._AsGMLEdge(rec2.edge_id, rec2.start_node,
+ rec2.end_node, rec2.geom,
+ visitedTable, nsprefix_in,
+ prec, options, idprefix, gmlver);
+ gml = gml || '</' || nsprefix || 'directedEdge>';
+
+ END LOOP;
+ END LOOP;
+
+ gml = gml || '</' || nsprefix || 'Face>';
+
+ RETURN gml;
+END
+$$
+LANGUAGE 'plpgsql';
+--} _AsGMLFace(toponame, id, visitedTable, nsprefix, precision, options, idprefix, gmlver)
+
--{
--
-- API FUNCTION
sql text;
rec RECORD;
rec2 RECORD;
- bounds geometry;
+ --bounds geometry;
side int;
BEGIN
ELSIF tg.type = 3 THEN -- areal
gml = '<' || nsprefix || 'TopoSurface>';
- -- Construct the geometry, then for each polygon:
- FOR rec IN SELECT (ST_DumpRings((ST_Dump(topology.Geometry(tg))).geom)).*
+ -- For each defining face, print a directedFace
+ FOR rec IN EXECUTE 'SELECT f.face_id from '
+ || quote_ident(toponame) || '.relation r LEFT JOIN '
+ || quote_ident(toponame) || '.face f ON (r.element_id = f.face_id)'
+ || ' WHERE r.layer_id = ' || tg.layer_id
+ || ' AND r.topogeo_id = ' || tg.id
LOOP
- -- print a directedFace for each exterior ring
- -- and a negative directedFace for
- -- each interior ring.
- IF rec.path[1] = 0 THEN
- gml = gml || '<' || nsprefix || 'directedFace>';
- ELSE
- gml = gml || '<' || nsprefix || 'directedFace orientation="-">';
- END IF;
-
- -- TODO: make all this block in a specialized _AsGMLRing function ?
-
- -- Contents of a directed face are the list of edges
- -- that cover the specific ring
- bounds = ST_Boundary(rec.geom);
-
- -- TODO: figure out a way to express an id for a face
- -- and use a reference for an already-seen face ?
- gml = gml || '<' || nsprefix || 'Face>';
- FOR rec2 IN EXECUTE
- 'SELECT e.*, ST_Line_Locate_Point('
- || quote_literal(bounds::text)
- || ', ST_Line_Interpolate_Point(e.geom, 0.2)) as pos FROM '
- || quote_ident(toponame)
- || '.edge e WHERE ST_Covers('
- || quote_literal(bounds::text)
- || ', e.geom) ORDER BY pos'
- -- TODO: add left_face/right_face to the conditional, to reduce load ?
- LOOP
-
- gml = gml || '<' || nsprefix || 'directedEdge';
-
- -- if this edge goes in opposite direction to the
- -- ring bounds, make it with negative orientation
- SELECT DISTINCT (ST_Dump(
- ST_SharedPaths(rec2.geom, bounds))
- ).path[1] into side;
- IF side = 2 THEN -- edge goes in opposite direction
- gml = gml || ' orientation="-"';
- END IF;
-
- -- Do visited bookkeeping if visitedTable was given
- IF visitedTable IS NOT NULL THEN
-
- EXECUTE 'SELECT true FROM '
- || visitedTable::text
- || ' WHERE element_type = 2 AND element_id = '
- || rec2.edge_id LIMIT 1 INTO visited;
- IF visited THEN
- -- Use xlink:href if visited
- gml = gml || ' xlink:href="#' || idprefix || 'E' || rec2.edge_id || '" />';
- CONTINUE;
- ELSE
- -- Mark as visited otherwise
- EXECUTE 'INSERT INTO ' || visitedTable::text
- || '(element_type, element_id) VALUES (2, '
- || rec2.edge_id || ')';
- END IF;
-
+ gml = gml || '<' || nsprefix || 'directedFace';
+ -- Do visited bookkeeping if visitedTable was given
+ IF visitedTable IS NOT NULL THEN
+ EXECUTE 'SELECT true FROM '
+ || visitedTable::text
+ || ' WHERE element_type = 3 AND element_id = '
+ || rec.face_id LIMIT 1 INTO visited;
+ IF visited IS NOT NULL THEN
+ gml = gml || ' xlink:href="#' || idprefix || 'F' || rec.face_id || '" />';
+ CONTINUE;
+ ELSE
+ -- Mark as visited
+ EXECUTE 'INSERT INTO ' || visitedTable::text
+ || '(element_type, element_id) VALUES (3, '
+ || rec.face_id || ')';
END IF;
-
- gml = gml || '>';
-
- gml = gml || topology._AsGMLEdge(rec2.edge_id, rec2.start_node,
- rec2.end_node, rec2.geom,
- visitedTable, nsprefix_in,
- precision, options, idprefix, gmlver);
- gml = gml || '</' || nsprefix || 'directedEdge>';
-
- END LOOP;
- gml = gml || '</' || nsprefix || 'Face>';
+ END IF;
+ gml = gml || '>';
+ gml = gml || topology._AsGMLFace(toponame, rec.face_id, visitedTable,
+ nsprefix_in, precision,
+ options, idprefix, gmlver);
gml = gml || '</' || nsprefix || 'directedFace>';
END LOOP;
-
gml = gml || '</' || nsprefix || 'TopoSurface>';
RETURN gml;
$$ LANGUAGE 'sql';
-- } AsGML(TopoGeometry, visited_table)
+--{
+--
+-- API FUNCTION
+--
+-- text AsGML(TopoGeometry, visited_table, nsprefix)
+--
+-- }{
+CREATE OR REPLACE FUNCTION topology.AsGML(tg topology.TopoGeometry, visitedTable regclass, nsprefix text)
+ RETURNS text AS
+$$
+ SELECT topology.AsGML($1, $3, 15, 1, $2);
+$$ LANGUAGE 'sql';
+-- } AsGML(TopoGeometry, visited_table, nsprefix)
+
+
--{
--
-- API FUNCTION
R2-noprefix|<TopoCurve><directedEdge><Edge id="E4"><directedNode orientation="-"><Node id="N5"/></directedNode><directedNode><Node id="N6"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">36 38 38 35 41 34 42 33 45 32 47 28 50 28 52 32 57 33</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E5"><directedNode orientation="-"><Node id="N7"/></directedNode><directedNode><Node id="N6"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">41 40 45 40 47 42 62 41 61 38 59 39 57 36 57 33</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></TopoCurve>
R1-customprefix|<cstm:TopoCurve><cstm:directedEdge><cstm:Edge cstm:id="E9"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N15"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 14 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E10"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:TopoCurve>
R2-customprefix|<cstm:TopoCurve><cstm:directedEdge><cstm:Edge cstm:id="E4"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N5"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N6"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">36 38 38 35 41 34 42 33 45 32 47 28 50 28 52 32 57 33</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E5"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N7"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N6"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">41 40 45 40 47 42 62 41 61 38 59 39 57 36 57 33</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:TopoCurve>
-P4-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face><gml:directedEdge orientation="-"><gml:Edge gml:id="E2"><gml:directedNode orientation="-"><gml:Node gml:id="N2"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N2"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">25 30 31 30 31 40 17 40 17 30 25 30</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
-P5-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face><gml:directedEdge orientation="-"><gml:Edge gml:id="E1"><gml:directedNode orientation="-"><gml:Node gml:id="N1"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N1"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">8 30 16 30 16 38 3 38 3 30 8 30</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace><gml:directedFace orientation="-"><gml:Face><gml:directedEdge><gml:Edge gml:id="E26"><gml:directedNode orientation="-"><gml:Node gml:id="N20"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N20"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">4 31 7 31 7 34 4 34 4 31</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
-P4-noprefix|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="E2"><directedNode orientation="-"><Node id="N2"/></directedNode><directedNode><Node id="N2"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">25 30 31 30 31 40 17 40 17 30 25 30</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
-P5-noprefix|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="E1"><directedNode orientation="-"><Node id="N1"/></directedNode><directedNode><Node id="N1"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">8 30 16 30 16 38 3 38 3 30 8 30</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace><directedFace orientation="-"><Face><directedEdge><Edge id="E26"><directedNode orientation="-"><Node id="N20"/></directedNode><directedNode><Node id="N20"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">4 31 7 31 7 34 4 34 4 31</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
-P4-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E2"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N2"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N2"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">25 30 31 30 31 40 17 40 17 30 25 30</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
-P5-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E1"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N1"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N1"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">8 30 16 30 16 38 3 38 3 30 8 30</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace><cstm:directedFace orientation="-"><cstm:Face><cstm:directedEdge><cstm:Edge cstm:id="E26"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N20"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N20"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">4 31 7 31 7 34 4 34 4 31</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
-P1-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face><gml:directedEdge orientation="-"><gml:Edge gml:id="E20"><gml:directedNode orientation="-"><gml:Node gml:id="N9"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 6 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E12"><gml:directedNode orientation="-"><gml:Node gml:id="N8"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N9"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 6 21 6</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E22"><gml:directedNode orientation="-"><gml:Node gml:id="N8"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N15"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 6 9 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E21"><gml:directedNode orientation="-"><gml:Node gml:id="N15"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N16"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 14 9 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E6"><gml:directedNode orientation="-"><gml:Node gml:id="N16"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N17"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 22 21 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E19"><gml:directedNode orientation="-"><gml:Node gml:id="N14"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N17"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 14 21 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
-P2-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face><gml:directedEdge orientation="-"><gml:Edge gml:id="E18"><gml:directedNode orientation="-"><gml:Node gml:id="N10"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N13"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 6 35 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E13"><gml:directedNode orientation="-"><gml:Node gml:id="N9"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N10"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 6 35 6</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E20"><gml:directedNode orientation="-"><gml:Node gml:id="N9"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 6 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E19"><gml:directedNode orientation="-"><gml:Node gml:id="N14"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N17"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 14 21 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E7"><gml:directedNode orientation="-"><gml:Node gml:id="N17"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N18"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 22 35 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E17"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N18"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 35 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
-P3-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face><gml:directedEdge orientation="-"><gml:Edge gml:id="E16"><gml:directedNode orientation="-"><gml:Node gml:id="N11"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N12"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">47 6 47 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E14"><gml:directedNode orientation="-"><gml:Node gml:id="N10"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N11"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 6 47 6</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E18"><gml:directedNode orientation="-"><gml:Node gml:id="N10"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N13"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 6 35 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E17"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N18"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 35 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E8"><gml:directedNode orientation="-"><gml:Node gml:id="N18"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N19"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 22 47 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E15"><gml:directedNode orientation="-"><gml:Node gml:id="N12"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N19"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">47 14 47 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
-P1-noprefix|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="E20"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 6 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E12"><directedNode orientation="-"><Node id="N8"/></directedNode><directedNode><Node id="N9"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 6 21 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E22"><directedNode orientation="-"><Node id="N8"/></directedNode><directedNode><Node id="N15"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 6 9 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E21"><directedNode orientation="-"><Node id="N15"/></directedNode><directedNode><Node id="N16"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 14 9 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E6"><directedNode orientation="-"><Node id="N16"/></directedNode><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 22 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E19"><directedNode orientation="-"><Node id="N14"/></directedNode><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 14 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
-P2-noprefix|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="E18"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode><Node id="N13"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 6 35 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E13"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode><Node id="N10"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 6 35 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E20"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 6 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E19"><directedNode orientation="-"><Node id="N14"/></directedNode><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 14 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E7"><directedNode orientation="-"><Node id="N17"/></directedNode><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 22 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E17"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
-P3-noprefix|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="E16"><directedNode orientation="-"><Node id="N11"/></directedNode><directedNode><Node id="N12"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">47 6 47 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E14"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode><Node id="N11"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 6 47 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E18"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode><Node id="N13"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 6 35 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E17"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E8"><directedNode orientation="-"><Node id="N18"/></directedNode><directedNode><Node id="N19"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 22 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E15"><directedNode orientation="-"><Node id="N12"/></directedNode><directedNode><Node id="N19"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">47 14 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
-P1-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E20"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 6 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E12"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N8"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 6 21 6</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E22"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N8"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N15"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 6 9 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E21"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N15"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N16"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 14 9 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E6"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N16"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 22 21 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E19"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 14 21 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
-P2-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E18"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 6 35 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E13"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 6 35 6</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E20"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 6 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E19"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 14 21 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E7"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 22 35 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E17"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 35 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
-P3-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E16"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N11"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N12"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">47 6 47 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E14"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N11"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 6 47 6</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E18"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 6 35 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E17"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 35 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E8"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N19"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 22 47 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E15"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N12"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N19"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">47 14 47 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
+P4-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face gml:id="F2"><gml:directedEdge><gml:Edge gml:id="E2"><gml:directedNode orientation="-"><gml:Node gml:id="N2"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N2"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">25 30 31 30 31 40 17 40 17 30 25 30</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
+P5-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face gml:id="F1"><gml:directedEdge><gml:Edge gml:id="E1"><gml:directedNode orientation="-"><gml:Node gml:id="N1"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N1"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">8 30 16 30 16 38 3 38 3 30 8 30</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E26"><gml:directedNode orientation="-"><gml:Node gml:id="N20"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N20"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">4 31 7 31 7 34 4 34 4 31</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
+P4-noprefix|<TopoSurface><directedFace><Face id="F2"><directedEdge><Edge id="E2"><directedNode orientation="-"><Node id="N2"/></directedNode><directedNode><Node id="N2"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">25 30 31 30 31 40 17 40 17 30 25 30</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
+P5-noprefix|<TopoSurface><directedFace><Face id="F1"><directedEdge><Edge id="E1"><directedNode orientation="-"><Node id="N1"/></directedNode><directedNode><Node id="N1"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">8 30 16 30 16 38 3 38 3 30 8 30</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E26"><directedNode orientation="-"><Node id="N20"/></directedNode><directedNode><Node id="N20"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">4 31 7 31 7 34 4 34 4 31</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
+P4-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face cstm:id="F2"><cstm:directedEdge><cstm:Edge cstm:id="E2"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N2"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N2"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">25 30 31 30 31 40 17 40 17 30 25 30</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
+P5-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face cstm:id="F1"><cstm:directedEdge><cstm:Edge cstm:id="E1"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N1"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N1"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">8 30 16 30 16 38 3 38 3 30 8 30</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E26"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N20"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N20"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">4 31 7 31 7 34 4 34 4 31</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
+P1-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face gml:id="F3"><gml:directedEdge orientation="-"><gml:Edge gml:id="E6"><gml:directedNode orientation="-"><gml:Node gml:id="N16"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N17"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 22 21 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E19"><gml:directedNode orientation="-"><gml:Node gml:id="N14"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N17"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 14 21 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E9"><gml:directedNode orientation="-"><gml:Node gml:id="N15"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 14 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E21"><gml:directedNode orientation="-"><gml:Node gml:id="N15"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N16"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 14 9 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace><gml:directedFace><gml:Face gml:id="F6"><gml:directedEdge orientation="-"><gml:Edge gml:id="E9"><gml:directedNode orientation="-"><gml:Node gml:id="N15"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 14 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E20"><gml:directedNode orientation="-"><gml:Node gml:id="N9"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 6 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E12"><gml:directedNode orientation="-"><gml:Node gml:id="N8"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N9"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 6 21 6</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E22"><gml:directedNode orientation="-"><gml:Node gml:id="N8"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N15"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">9 6 9 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
+P2-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face gml:id="F4"><gml:directedEdge orientation="-"><gml:Edge gml:id="E7"><gml:directedNode orientation="-"><gml:Node gml:id="N17"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N18"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 22 35 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E17"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N18"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 35 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E10"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E19"><gml:directedNode orientation="-"><gml:Node gml:id="N14"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N17"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 14 21 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace><gml:directedFace><gml:Face gml:id="F7"><gml:directedEdge><gml:Edge gml:id="E10"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E18"><gml:directedNode orientation="-"><gml:Node gml:id="N10"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N13"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 6 35 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E13"><gml:directedNode orientation="-"><gml:Node gml:id="N9"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N10"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 6 35 6</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E20"><gml:directedNode orientation="-"><gml:Node gml:id="N9"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N14"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">21 6 21 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
+P3-vanilla|<gml:TopoSurface><gml:directedFace><gml:Face gml:id="F5"><gml:directedEdge orientation="-"><gml:Edge gml:id="E8"><gml:directedNode orientation="-"><gml:Node gml:id="N18"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N19"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 22 47 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E15"><gml:directedNode orientation="-"><gml:Node gml:id="N12"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N19"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">47 14 47 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E11"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N12"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 47 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E17"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N18"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 35 22</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace><gml:directedFace><gml:Face gml:id="F8"><gml:directedEdge orientation="-"><gml:Edge gml:id="E11"><gml:directedNode orientation="-"><gml:Node gml:id="N13"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N12"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 14 47 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E16"><gml:directedNode orientation="-"><gml:Node gml:id="N11"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N12"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">47 6 47 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge><gml:Edge gml:id="E14"><gml:directedNode orientation="-"><gml:Node gml:id="N10"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N11"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 6 47 6</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge><gml:directedEdge orientation="-"><gml:Edge gml:id="E18"><gml:directedNode orientation="-"><gml:Node gml:id="N10"/></gml:directedNode><gml:directedNode><gml:Node gml:id="N13"/></gml:directedNode><gml:curveProperty><gml:Curve srsName="urn:ogc:def:crs:EPSG::4326"><gml:segments><gml:LineStringSegment><gml:posList srsDimension="2">35 6 35 14</gml:posList></gml:LineStringSegment></gml:segments></gml:Curve></gml:curveProperty></gml:Edge></gml:directedEdge></gml:Face></gml:directedFace></gml:TopoSurface>
+P1-noprefix|<TopoSurface><directedFace><Face id="F3"><directedEdge orientation="-"><Edge id="E6"><directedNode orientation="-"><Node id="N16"/></directedNode><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 22 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E19"><directedNode orientation="-"><Node id="N14"/></directedNode><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 14 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E9"><directedNode orientation="-"><Node id="N15"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 14 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E21"><directedNode orientation="-"><Node id="N15"/></directedNode><directedNode><Node id="N16"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 14 9 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace><directedFace><Face id="F6"><directedEdge orientation="-"><Edge id="E9"><directedNode orientation="-"><Node id="N15"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 14 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E20"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 6 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E12"><directedNode orientation="-"><Node id="N8"/></directedNode><directedNode><Node id="N9"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 6 21 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E22"><directedNode orientation="-"><Node id="N8"/></directedNode><directedNode><Node id="N15"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">9 6 9 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
+P2-noprefix|<TopoSurface><directedFace><Face id="F4"><directedEdge orientation="-"><Edge id="E7"><directedNode orientation="-"><Node id="N17"/></directedNode><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 22 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E17"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E10"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E19"><directedNode orientation="-"><Node id="N14"/></directedNode><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 14 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace><directedFace><Face id="F7"><directedEdge><Edge id="E10"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E18"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode><Node id="N13"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 6 35 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E13"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode><Node id="N10"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 6 35 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E20"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">21 6 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
+P3-noprefix|<TopoSurface><directedFace><Face id="F5"><directedEdge orientation="-"><Edge id="E8"><directedNode orientation="-"><Node id="N18"/></directedNode><directedNode><Node id="N19"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 22 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E15"><directedNode orientation="-"><Node id="N12"/></directedNode><directedNode><Node id="N19"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">47 14 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E11"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N12"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 47 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E17"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace><directedFace><Face id="F8"><directedEdge orientation="-"><Edge id="E11"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N12"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 14 47 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E16"><directedNode orientation="-"><Node id="N11"/></directedNode><directedNode><Node id="N12"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">47 6 47 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E14"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode><Node id="N11"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 6 47 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E18"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode><Node id="N13"/></directedNode><curveProperty><Curve srsName="urn:ogc:def:crs:EPSG::4326"><segments><LineStringSegment><posList srsDimension="2">35 6 35 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
+P1-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face cstm:id="F3"><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E6"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N16"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 22 21 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E19"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 14 21 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E9"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N15"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 14 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E21"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N15"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N16"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 14 9 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace><cstm:directedFace><cstm:Face cstm:id="F6"><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E9"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N15"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 14 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E20"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 6 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E12"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N8"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 6 21 6</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E22"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N8"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N15"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">9 6 9 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
+P2-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face cstm:id="F4"><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E7"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 22 35 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E17"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 35 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E10"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E19"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N17"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 14 21 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace><cstm:directedFace><cstm:Face cstm:id="F7"><cstm:directedEdge><cstm:Edge cstm:id="E10"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E18"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 6 35 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E13"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 6 35 6</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E20"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N9"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N14"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">21 6 21 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
+P3-customprefix|<cstm:TopoSurface><cstm:directedFace><cstm:Face cstm:id="F5"><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E8"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N19"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 22 47 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E15"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N12"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N19"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">47 14 47 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E11"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N12"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 47 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E17"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N18"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 35 22</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace><cstm:directedFace><cstm:Face cstm:id="F8"><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E11"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N12"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 14 47 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E16"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N11"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N12"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">47 6 47 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge><cstm:Edge cstm:id="E14"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N11"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 6 47 6</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge><cstm:directedEdge orientation="-"><cstm:Edge cstm:id="E18"><cstm:directedNode orientation="-"><cstm:Node cstm:id="N10"/></cstm:directedNode><cstm:directedNode><cstm:Node cstm:id="N13"/></cstm:directedNode><cstm:curveProperty><cstm:Curve srsName="urn:ogc:def:crs:EPSG::4326"><cstm:segments><cstm:LineStringSegment><cstm:posList srsDimension="2">35 6 35 14</cstm:posList></cstm:LineStringSegment></cstm:segments></cstm:Curve></cstm:curveProperty></cstm:Edge></cstm:directedEdge></cstm:Face></cstm:directedFace></cstm:TopoSurface>
R2-visited|<TopoCurve><directedEdge><Edge id="E4"><directedNode orientation="-"><Node id="N5"/></directedNode><directedNode><Node id="N6"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>36 38 38 35 41 34 42 33 45 32 47 28 50 28 52 32 57 33</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E5"><directedNode orientation="-"><Node id="N7"/></directedNode><directedNode xlink:href="#N6" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>41 40 45 40 47 42 62 41 61 38 59 39 57 36 57 33</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></TopoCurve>
S1-visited|<TopoPoint><directedNode><Node id="N14"><pointProperty><Point srsName="EPSG:4326"><pos>21 14</pos></Point></pointProperty></Node></directedNode></TopoPoint>
S3-visited|<TopoPoint><directedNode xlink:href="#N6" /></TopoPoint>
R1-visited|<TopoCurve><directedEdge><Edge id="E9"><directedNode orientation="-"><Node id="N15"/></directedNode><directedNode xlink:href="#N14" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 14 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E10"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode xlink:href="#N14" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 14 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></TopoCurve>
-P2-visited|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="E18"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode xlink:href="#N13" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 6 35 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E13"><directedNode orientation="-" xlink:href="#N9" /><directedNode xlink:href="#N10" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 6 35 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge xlink:href="#E20" /><directedEdge xlink:href="#E19" /><directedEdge><Edge id="E7"><directedNode orientation="-" xlink:href="#N17" /><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 22 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E17"><directedNode orientation="-" xlink:href="#N13" /><directedNode xlink:href="#N18" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 14 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
-P1-visited|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="E20"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode xlink:href="#N14" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 6 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E12"><directedNode orientation="-"><Node id="N8"/></directedNode><directedNode xlink:href="#N9" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 6 21 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E22"><directedNode orientation="-" xlink:href="#N8" /><directedNode xlink:href="#N15" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 6 9 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E21"><directedNode orientation="-" xlink:href="#N15" /><directedNode><Node id="N16"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 14 9 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E6"><directedNode orientation="-" xlink:href="#N16" /><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 22 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E19"><directedNode orientation="-" xlink:href="#N14" /><directedNode xlink:href="#N17" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 14 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
-P3-visited-idprefix|<TopoSurface><directedFace><Face><directedEdge orientation="-"><Edge id="cd-E16"><directedNode orientation="-"><Node id="cd-N11"/></directedNode><directedNode><Node id="cd-N12"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>47 6 47 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="cd-E14"><directedNode orientation="-" xlink:href="#cd-N10" /><directedNode xlink:href="#cd-N11" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 6 47 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge xlink:href="#cd-E18" /><directedEdge xlink:href="#cd-E17" /><directedEdge><Edge id="cd-E8"><directedNode orientation="-" xlink:href="#cd-N18" /><directedNode><Node id="cd-N19"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 22 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="cd-E15"><directedNode orientation="-" xlink:href="#cd-N12" /><directedNode xlink:href="#cd-N19" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>47 14 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
+P2-visited|<TopoSurface><directedFace><Face id="F4"><directedEdge orientation="-"><Edge id="E7"><directedNode orientation="-" xlink:href="#N17" /><directedNode><Node id="N18"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 22 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E17"><directedNode orientation="-" xlink:href="#N13" /><directedNode xlink:href="#N18" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 14 35 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-" xlink:href="#E10" /><directedEdge orientation="-" xlink:href="#E19" /></Face></directedFace><directedFace><Face id="F7"><directedEdge xlink:href="#E10" /><directedEdge><Edge id="E18"><directedNode orientation="-"><Node id="N10"/></directedNode><directedNode xlink:href="#N13" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 6 35 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E13"><directedNode orientation="-" xlink:href="#N9" /><directedNode xlink:href="#N10" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 6 35 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-" xlink:href="#E20" /></Face></directedFace></TopoSurface>
+P1-visited|<TopoSurface><directedFace><Face id="F3"><directedEdge orientation="-"><Edge id="E6"><directedNode orientation="-"><Node id="N16"/></directedNode><directedNode><Node id="N17"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 22 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E19"><directedNode orientation="-" xlink:href="#N14" /><directedNode xlink:href="#N17" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 14 21 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge xlink:href="#E9" /><directedEdge orientation="-"><Edge id="E21"><directedNode orientation="-" xlink:href="#N15" /><directedNode xlink:href="#N16" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 14 9 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace><directedFace><Face id="F6"><directedEdge orientation="-" xlink:href="#E9" /><directedEdge><Edge id="E20"><directedNode orientation="-"><Node id="N9"/></directedNode><directedNode xlink:href="#N14" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>21 6 21 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="E12"><directedNode orientation="-"><Node id="N8"/></directedNode><directedNode xlink:href="#N9" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 6 21 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E22"><directedNode orientation="-" xlink:href="#N8" /><directedNode xlink:href="#N15" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>9 6 9 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge></Face></directedFace></TopoSurface>
+P3-visited-idprefix|<TopoSurface><directedFace><Face id="cd-F5"><directedEdge orientation="-"><Edge id="cd-E8"><directedNode orientation="-" xlink:href="#cd-N18" /><directedNode><Node id="cd-N19"/></directedNode><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 22 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="cd-E15"><directedNode orientation="-"><Node id="cd-N12"/></directedNode><directedNode xlink:href="#cd-N19" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>47 14 47 22</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="cd-E11"><directedNode orientation="-" xlink:href="#cd-N13" /><directedNode xlink:href="#cd-N12" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 14 47 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-" xlink:href="#cd-E17" /></Face></directedFace><directedFace><Face id="cd-F8"><directedEdge orientation="-" xlink:href="#cd-E11" /><directedEdge><Edge id="cd-E16"><directedNode orientation="-"><Node id="cd-N11"/></directedNode><directedNode xlink:href="#cd-N12" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>47 6 47 14</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge><Edge id="cd-E14"><directedNode orientation="-" xlink:href="#cd-N10" /><directedNode xlink:href="#cd-N11" /><curveProperty><Curve srsName="EPSG:4326"><segments><LineStringSegment><posList>35 6 47 6</posList></LineStringSegment></segments></Curve></curveProperty></Edge></directedEdge><directedEdge orientation="-" xlink:href="#cd-E18" /></Face></directedFace></TopoSurface>
R1-gml2|<TopoCurve><directedEdge><Edge id="E9"><directedNode orientation="-"><Node id="N15"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><LineString srsName="EPSG:4326"><coordinates>9,14 21,14</coordinates></LineString></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E10"><directedNode orientation="-"><Node id="N13"/></directedNode><directedNode><Node id="N14"/></directedNode><curveProperty><LineString srsName="EPSG:4326"><coordinates>35,14 21,14</coordinates></LineString></curveProperty></Edge></directedEdge></TopoCurve>
R2-gml2|<TopoCurve><directedEdge><Edge id="E4"><directedNode orientation="-"><Node id="N5"/></directedNode><directedNode><Node id="N6"/></directedNode><curveProperty><LineString srsName="EPSG:4326"><coordinates>36,38 38,35 41,34 42,33 45,32 47,28 50,28 52,32 57,33</coordinates></LineString></curveProperty></Edge></directedEdge><directedEdge orientation="-"><Edge id="E5"><directedNode orientation="-"><Node id="N7"/></directedNode><directedNode><Node id="N6"/></directedNode><curveProperty><LineString srsName="EPSG:4326"><coordinates>41,40 45,40 47,42 62,41 61,38 59,39 57,36 57,33</coordinates></LineString></curveProperty></Edge></directedEdge></TopoCurve>
R3-gml2|<TopoCurve><directedEdge><Edge id="E25"><directedNode orientation="-"><Node id="N21"/></directedNode><directedNode><Node id="N22"/></directedNode><curveProperty><LineString srsName="EPSG:4326"><coordinates>9,35 13,35</coordinates></LineString></curveProperty></Edge></directedEdge></TopoCurve>