]> granicus.if.org Git - postgis/commitdiff
Use a <gml:Face> tag for each topological face, allowing proper xrefs. Needs xref...
authorSandro Santilli <strk@keybit.net>
Mon, 31 Jan 2011 17:33:55 +0000 (17:33 +0000)
committerSandro Santilli <strk@keybit.net>
Mon, 31 Jan 2011 17:33:55 +0000 (17:33 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@6768 b70326c6-7e19-0410-871a-916f4a2858ee

topology/sql/gml.sql
topology/test/regress/gml_expected

index 31a72e1a4a978607623c983c21017b1335a3badc..d6784cdabf2016691b8f6083c42acd02d1722796 100644 (file)
@@ -161,6 +161,112 @@ $$
 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
@@ -184,7 +290,7 @@ DECLARE
   sql text;
   rec RECORD;
   rec2 RECORD;
-  bounds geometry;
+  --bounds geometry;
   side int;
 BEGIN
 
@@ -313,82 +419,36 @@ 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;
 
@@ -482,6 +542,21 @@ $$
 $$ 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
index 7ec14c0fde79bbe3dc9f9939705d3ac4f56db180..1a8ae8972136eb38fd953f09783ddf3f927485c4 100644 (file)
@@ -34,28 +34,28 @@ R1-noprefix|<TopoCurve><directedEdge><Edge id="E9"><directedNode orientation="-"
 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>