拓扑几何输出函数

AsGML

AsGML — 返回拓扑几何的 GML 表示形式。

语法

asgml ::=

two_parameters ::=

three_parameters ::=

four_parameters ::=

five_parameters ::=

six_parameters ::=

seven_parameters ::=

参数

tg

topogeometry 类型。

nsprefix_in

text 类型。

visitedTable

regclass 类型。

nsprefix

topogeometry 类型。

precision

integer 类型。

options

integer 类型。

idprefix

text 类型。

gmlversion

integer 类型。

返回值

返回值为 topogeometry 类型。

示例

-- Output simple puntual features (composed by single topo-element)
SELECT feature_name||'-vanilla', topology.AsGML(feature)
 FROM features.traffic_signs
 WHERE feature_name IN ('S1', 'S2', 'S3', 'S4' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
S1-vanilla             |<gml:TopoPoint><g|
                       |ml:directedNode>|
                       |<gml:Node gml:id|
                       |="N14"><gml:poin|
                       |tProperty><gml:P|
                       |oint srsName="ur|
                       |n:ogc:def:crs:EP|
                       |SG::4326"><gml:p|
                       |os srsDimension=|
                       |"2">21 14</gml:p|
                       |os></gml:Point><|
                       |/gml:pointProper|
                       |ty></gml:Node></|
                       |gml:directedNode|
                       |></gml:TopoPoint|
                       |>                |
----------------------------------------
S2-vanilla             |<gml:TopoPoint><g|
                       |ml:directedNode>|
                       |<gml:Node gml:id|
                       |="N13"><gml:poin|
                       |tProperty><gml:P|
                       |oint srsName="ur|
                       |n:ogc:def:crs:EP|
                       |SG::4326"><gml:p|
                       |os srsDimension=|
                       |"2">35 14</gml:p|
                       |os></gml:Point><|
                       |/gml:pointProper|
                       |ty></gml:Node></|
                       |gml:directedNode|
                       |></gml:TopoPoint|
                       |>                |
----------------------------------------
S3-vanilla             |<gml:TopoPoint><g|
                       |ml:directedNode>|
                       |<gml:Node gml:id|
                       |="N6"><gml:point|
                       |Property><gml:Po|
                       |int srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><gml:po|
                       |s srsDimension="|
                       |2">57 33</gml:po|
                       |s></gml:Point></|
                       |gml:pointPropert|
                       |y></gml:Node></g|
                       |ml:directedNode>|
                       |</gml:TopoPoint> |
----------------------------------------
S4-vanilla             |<gml:TopoPoint><g|
                       |ml:directedNode>|
                       |<gml:Node gml:id|
                       |="N4"><gml:point|
                       |Property><gml:Po|
                       |int srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><gml:po|
                       |s srsDimension="|
                       |2">20 37</gml:po|
                       |s></gml:Point></|
                       |gml:pointPropert|
                       |y></gml:Node></g|
                       |ml:directedNode>|
                       |</gml:TopoPoint> |
总数目:4


-- Output again but with no prefix
SELECT feature_name||'-noprefix', topology.AsGML(feature, '')
 FROM features.traffic_signs
 WHERE feature_name IN ('S1', 'S2', 'S3', 'S4' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
S1-noprefix            |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N14"><pointPro|
                       |perty><Point srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><pos srsDimens|
                       |ion="2">21 14</p|
                       |os></Point></poi|
                       |ntProperty></Nod|
                       |e></directedNode|
                       |></TopoPoint>    |
----------------------------------------
S2-noprefix            |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N13"><pointPro|
                       |perty><Point srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><pos srsDimens|
                       |ion="2">35 14</p|
                       |os></Point></poi|
                       |ntProperty></Nod|
                       |e></directedNode|
                       |></TopoPoint>    |
----------------------------------------
S3-noprefix            |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N6"><pointProp|
                       |erty><Point srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><pos srsDimensi|
                       |on="2">57 33</po|
                       |s></Point></poin|
                       |tProperty></Node|
                       |></directedNode>|
                       |</TopoPoint>     |
----------------------------------------
S4-noprefix            |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N4"><pointProp|
                       |erty><Point srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><pos srsDimensi|
                       |on="2">20 37</po|
                       |s></Point></poin|
                       |tProperty></Node|
                       |></directedNode>|
                       |</TopoPoint>     |
总数目:4


-- Output again with custom prefix
SELECT feature_name||'-customprefix', topology.AsGML(feature, 'cstm')
 FROM features.traffic_signs
 WHERE feature_name IN ('S1', 'S2', 'S3', 'S4' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
S1-customprefix        |<cstm:TopoPoint><|
                       |cstm:directedNod|
                       |e><cstm:Node cst|
                       |m:id="N14"><cstm|
                       |:pointProperty><|
                       |cstm:Point srsNa|
                       |me="urn:ogc:def:|
                       |crs:EPSG::4326">|
                       |<cstm:pos srsDim|
                       |ension="2">21 14|
                       |</cstm:pos></cst|
                       |m:Point></cstm:p|
                       |ointProperty></c|
                       |stm:Node></cstm:|
                       |directedNode></c|
                       |stm:TopoPoint>   |
----------------------------------------
S2-customprefix        |<cstm:TopoPoint><|
                       |cstm:directedNod|
                       |e><cstm:Node cst|
                       |m:id="N13"><cstm|
                       |:pointProperty><|
                       |cstm:Point srsNa|
                       |me="urn:ogc:def:|
                       |crs:EPSG::4326">|
                       |<cstm:pos srsDim|
                       |ension="2">35 14|
                       |</cstm:pos></cst|
                       |m:Point></cstm:p|
                       |ointProperty></c|
                       |stm:Node></cstm:|
                       |directedNode></c|
                       |stm:TopoPoint>   |
----------------------------------------
S3-customprefix        |<cstm:TopoPoint><|
                       |cstm:directedNod|
                       |e><cstm:Node cst|
                       |m:id="N6"><cstm:|
                       |pointProperty><c|
                       |stm:Point srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |cstm:pos srsDime|
                       |nsion="2">57 33<|
                       |/cstm:pos></cstm|
                       |:Point></cstm:po|
                       |intProperty></cs|
                       |tm:Node></cstm:d|
                       |irectedNode></cs|
                       |tm:TopoPoint>    |
----------------------------------------
S4-customprefix        |<cstm:TopoPoint><|
                       |cstm:directedNod|
                       |e><cstm:Node cst|
                       |m:id="N4"><cstm:|
                       |pointProperty><c|
                       |stm:Point srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |cstm:pos srsDime|
                       |nsion="2">20 37<|
                       |/cstm:pos></cstm|
                       |:Point></cstm:po|
                       |intProperty></cs|
                       |tm:Node></cstm:d|
                       |irectedNode></cs|
                       |tm:TopoPoint>    |
总数目:4


-- Again with no prefix, no srsDimension (opt+=2)
-- and swapped lat/lon (opt+=16) and short CRS
SELECT feature_name||'-latlon', topology.AsGML(feature, '', 15, 18)
 FROM features.traffic_signs
 WHERE feature_name IN ('S4');
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
S4-latlon              |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N4"><pointProp|
                       |erty><Point srsN|
                       |ame="EPSG:4326">|
                       |<pos>37 20</pos>|
                       |</Point></pointP|
                       |roperty></Node><|
                       |/directedNode></|
                       |TopoPoint>       |
总数目:1


--- } Puntual single-element

--- Puntual multi element {

SELECT feature_name||'-noprefix', topology.AsGML(feature, '')
 FROM features.traffic_signs
 WHERE feature_name IN ('N1N2N3');
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
N1N2N3-noprefix        |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N1"><pointProp|
                       |erty><Point srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><pos srsDimensi|
                       |on="2">8 30</pos|
                       |></Point></point|
                       |Property></Node>|
                       |</directedNode><|
                       |directedNode><No|
                       |de id="N2"><poin|
                       |tProperty><Point|
                       | srsName="urn:og|
                       |c:def:crs:EPSG::|
                       |4326"><pos srsDi|
                       |mension="2">25 3|
                       |0</pos></Point><|
                       |/pointProperty><|
                       |/Node></directed|
                       |Node><directedNo|
                       |de><Node id="N3"|
                       |><pointProperty>|
                       |<Point srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><pos|
                       | srsDimension="2|
                       |">25 35</pos></P|
                       |oint></pointProp|
                       |erty></Node></di|
                       |rectedNode></Top|
                       |oPoint>          |
总数目:1


--- } Puntual multi-element

--- Lineal single element {

-- Output simple lineal features (composed by single topo element)
SELECT feature_name||'-vanilla', topology.AsGML(feature)
 FROM features.city_streets
 WHERE feature_name IN ('R3', 'R4' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R3-vanilla             |<gml:TopoCurve><g|
                       |ml:directedEdge>|
                       |<gml:Edge gml:id|
                       |="E25"><gml:dire|
                       |ctedNode orienta|
                       |tion="-"><gml:No|
                       |de gml:id="N21"/|
                       |></gml:directedN|
                       |ode><gml:directe|
                       |dNode><gml:Node |
                       |gml:id="N22"/></|
                       |gml:directedNode|
                       |><gml:curvePrope|
                       |rty><gml:Curve s|
                       |rsName="urn:ogc:|
                       |def:crs:EPSG::43|
                       |26"><gml:segment|
                       |s><gml:LineStrin|
                       |gSegment><gml:po|
                       |sList srsDimensi|
                       |on="2">9 35 13 3|
                       |5</gml:posList><|
                       |/gml:LineStringS|
                       |egment></gml:seg|
                       |ments></gml:Curv|
                       |e></gml:curvePro|
                       |perty></gml:Edge|
                       |></gml:directedE|
                       |dge></gml:TopoCu|
                       |rve>             |
----------------------------------------
R4-vanilla             |<gml:TopoCurve><g|
                       |ml:directedEdge>|
                       |<gml:Edge gml:id|
                       |="E3"><gml:direc|
                       |tedNode orientat|
                       |ion="-"><gml:Nod|
                       |e gml:id="N2"/><|
                       |/gml:directedNod|
                       |e><gml:directedN|
                       |ode><gml:Node gm|
                       |l:id="N3"/></gml|
                       |:directedNode><g|
                       |ml:curveProperty|
                       |><gml:Curve srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><gml:segments><|
                       |gml:LineStringSe|
                       |gment><gml:posLi|
                       |st srsDimension=|
                       |"2">25 30 25 35<|
                       |/gml:posList></g|
                       |ml:LineStringSeg|
                       |ment></gml:segme|
                       |nts></gml:Curve>|
                       |</gml:curvePrope|
                       |rty></gml:Edge><|
                       |/gml:directedEdg|
                       |e></gml:TopoCurv|
                       |e>               |
总数目:2


-- Output again but with no prefix
SELECT feature_name||'-noprefix', topology.AsGML(feature, '')
 FROM features.city_streets
 WHERE feature_name IN ('R3', 'R4' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R3-noprefix            |<TopoCurve><direc|
                       |tedEdge><Edge id|
                       |="E25"><directed|
                       |Node orientation|
                       |="-"><Node id="N|
                       |21"/></directedN|
                       |ode><directedNod|
                       |e><Node id="N22"|
                       |/></directedNode|
                       |><curveProperty>|
                       |<Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><seg|
                       |ments><LineStrin|
                       |gSegment><posLis|
                       |t srsDimension="|
                       |2">9 35 13 35</p|
                       |osList></LineStr|
                       |ingSegment></seg|
                       |ments></Curve></|
                       |curveProperty></|
                       |Edge></directedE|
                       |dge></TopoCurve> |
----------------------------------------
R4-noprefix            |<TopoCurve><direc|
                       |tedEdge><Edge id|
                       |="E3"><directedN|
                       |ode orientation=|
                       |"-"><Node id="N2|
                       |"/></directedNod|
                       |e><directedNode>|
                       |<Node id="N3"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><segmen|
                       |ts><LineStringSe|
                       |gment><posList s|
                       |rsDimension="2">|
                       |25 30 25 35</pos|
                       |List></LineStrin|
                       |gSegment></segme|
                       |nts></Curve></cu|
                       |rveProperty></Ed|
                       |ge></directedEdg|
                       |e></TopoCurve>   |
总数目:2


-- Output again with custom prefix
SELECT feature_name||'-customprefix', topology.AsGML(feature, 'cstm')
 FROM features.city_streets
 WHERE feature_name IN ('R3', 'R4' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R3-customprefix        |<cstm:TopoCurve><|
                       |cstm:directedEdg|
                       |e><cstm:Edge cst|
                       |m:id="E25"><cstm|
                       |:directedNode or|
                       |ientation="-"><c|
                       |stm:Node cstm:id|
                       |="N21"/></cstm:d|
                       |irectedNode><cst|
                       |m:directedNode><|
                       |cstm:Node cstm:i|
                       |d="N22"/></cstm:|
                       |directedNode><cs|
                       |tm:curveProperty|
                       |><cstm:Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><cstm:segments|
                       |><cstm:LineStrin|
                       |gSegment><cstm:p|
                       |osList srsDimens|
                       |ion="2">9 35 13 |
                       |35</cstm:posList|
                       |></cstm:LineStri|
                       |ngSegment></cstm|
                       |:segments></cstm|
                       |:Curve></cstm:cu|
                       |rveProperty></cs|
                       |tm:Edge></cstm:d|
                       |irectedEdge></cs|
                       |tm:TopoCurve>    |
----------------------------------------
R4-customprefix        |<cstm:TopoCurve><|
                       |cstm:directedEdg|
                       |e><cstm:Edge cst|
                       |m:id="E3"><cstm:|
                       |directedNode ori|
                       |entation="-"><cs|
                       |tm:Node cstm:id=|
                       |"N2"/></cstm:dir|
                       |ectedNode><cstm:|
                       |directedNode><cs|
                       |tm:Node cstm:id=|
                       |"N3"/></cstm:dir|
                       |ectedNode><cstm:|
                       |curveProperty><c|
                       |stm:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |cstm:segments><c|
                       |stm:LineStringSe|
                       |gment><cstm:posL|
                       |ist srsDimension|
                       |="2">25 30 25 35|
                       |</cstm:posList><|
                       |/cstm:LineString|
                       |Segment></cstm:s|
                       |egments></cstm:C|
                       |urve></cstm:curv|
                       |eProperty></cstm|
                       |:Edge></cstm:dir|
                       |ectedEdge></cstm|
                       |:TopoCurve>      |
总数目:2


--- } Lineal single-element

--- Lineal multi-element  {

-- Output simple lineal features (composed by single topo element)
SELECT feature_name||'-vanilla', topology.AsGML(feature)
 FROM features.city_streets
 WHERE feature_name IN ('R1', 'R2' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R1-vanilla             |<gml:TopoCurve><g|
                       |ml:directedEdge>|
                       |<gml:Edge gml:id|
                       |="E9"><gml:direc|
                       |tedNode orientat|
                       |ion="-"><gml:Nod|
                       |e gml:id="N15"/>|
                       |</gml:directedNo|
                       |de><gml:directed|
                       |Node><gml:Node g|
                       |ml:id="N14"/></g|
                       |ml:directedNode>|
                       |<gml:curveProper|
                       |ty><gml:Curve sr|
                       |sName="urn:ogc:d|
                       |ef:crs:EPSG::432|
                       |6"><gml:segments|
                       |><gml:LineString|
                       |Segment><gml:pos|
                       |List srsDimensio|
                       |n="2">9 14 21 14|
                       |</gml:posList></|
                       |gml:LineStringSe|
                       |gment></gml:segm|
                       |ents></gml:Curve|
                       |></gml:curveProp|
                       |erty></gml:Edge>|
                       |</gml:directedEd|
                       |ge><gml:directed|
                       |Edge orientation|
                       |="-"><gml:Edge g|
                       |ml:id="E10"><gml|
                       |:directedNode or|
                       |ientation="-"><g|
                       |ml:Node gml:id="|
                       |N13"/></gml:dire|
                       |ctedNode><gml:di|
                       |rectedNode><gml:|
                       |Node gml:id="N14|
                       |"/></gml:directe|
                       |dNode><gml:curve|
                       |Property><gml:Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><gml:se|
                       |gments><gml:Line|
                       |StringSegment><g|
                       |ml:posList srsDi|
                       |mension="2">35 1|
                       |4 21 14</gml:pos|
                       |List></gml:LineS|
                       |tringSegment></g|
                       |ml:segments></gm|
                       |l:Curve></gml:cu|
                       |rveProperty></gm|
                       |l:Edge></gml:dir|
                       |ectedEdge></gml:|
                       |TopoCurve>       |
----------------------------------------
R2-vanilla             |<gml:TopoCurve><g|
                       |ml:directedEdge>|
                       |<gml:Edge gml:id|
                       |="E4"><gml:direc|
                       |tedNode orientat|
                       |ion="-"><gml:Nod|
                       |e gml:id="N5"/><|
                       |/gml:directedNod|
                       |e><gml:directedN|
                       |ode><gml:Node gm|
                       |l:id="N6"/></gml|
                       |:directedNode><g|
                       |ml:curveProperty|
                       |><gml:Curve srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><gml:segments><|
                       |gml:LineStringSe|
                       |gment><gml:posLi|
                       |st srsDimension=|
                       |"2">36 38 38 35 |
                       |41 34 42 33 45 3|
                       |2 47 28 50 28 52|
                       | 32 57 33</gml:p|
                       |osList></gml:Lin|
                       |eStringSegment><|
                       |/gml:segments></|
                       |gml:Curve></gml:|
                       |curveProperty></|
                       |gml:Edge></gml:d|
                       |irectedEdge><gml|
                       |:directedEdge or|
                       |ientation="-"><g|
                       |ml:Edge gml:id="|
                       |E5"><gml:directe|
                       |dNode orientatio|
                       |n="-"><gml:Node |
                       |gml:id="N7"/></g|
                       |ml:directedNode>|
                       |<gml:directedNod|
                       |e><gml:Node gml:|
                       |id="N6"/></gml:d|
                       |irectedNode><gml|
                       |:curveProperty><|
                       |gml:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |gml:segments><gm|
                       |l:LineStringSegm|
                       |ent><gml:posList|
                       | srsDimension="2|
                       |">41 40 45 40 47|
                       | 42 62 41 61 38 |
                       |59 39 57 36 57 3|
                       |3</gml:posList><|
                       |/gml:LineStringS|
                       |egment></gml:seg|
                       |ments></gml:Curv|
                       |e></gml:curvePro|
                       |perty></gml:Edge|
                       |></gml:directedE|
                       |dge></gml:TopoCu|
                       |rve>             |
总数目:2


-- Output again but with no prefix
SELECT feature_name||'-noprefix', topology.AsGML(feature, '')
 FROM features.city_streets
 WHERE feature_name IN ('R1', 'R2' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R1-noprefix            |<TopoCurve><direc|
                       |tedEdge><Edge id|
                       |="E9"><directedN|
                       |ode orientation=|
                       |"-"><Node id="N1|
                       |5"/></directedNo|
                       |de><directedNode|
                       |><Node id="N14"/|
                       |></directedNode>|
                       |<curveProperty><|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><segm|
                       |ents><LineString|
                       |Segment><posList|
                       | srsDimension="2|
                       |">9 14 21 14</po|
                       |sList></LineStri|
                       |ngSegment></segm|
                       |ents></Curve></c|
                       |urveProperty></E|
                       |dge></directedEd|
                       |ge><directedEdge|
                       | orientation="-"|
                       |><Edge id="E10">|
                       |<directedNode or|
                       |ientation="-"><N|
                       |ode id="N13"/></|
                       |directedNode><di|
                       |rectedNode><Node|
                       | id="N14"/></dir|
                       |ectedNode><curve|
                       |Property><Curve |
                       |srsName="urn:ogc|
                       |:def:crs:EPSG::4|
                       |326"><segments><|
                       |LineStringSegmen|
                       |t><posList srsDi|
                       |mension="2">35 1|
                       |4 21 14</posList|
                       |></LineStringSeg|
                       |ment></segments>|
                       |</Curve></curveP|
                       |roperty></Edge><|
                       |/directedEdge></|
                       |TopoCurve>       |
----------------------------------------
R2-noprefix            |<TopoCurve><direc|
                       |tedEdge><Edge id|
                       |="E4"><directedN|
                       |ode orientation=|
                       |"-"><Node id="N5|
                       |"/></directedNod|
                       |e><directedNode>|
                       |<Node id="N6"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><segmen|
                       |ts><LineStringSe|
                       |gment><posList s|
                       |rsDimension="2">|
                       |36 38 38 35 41 3|
                       |4 42 33 45 32 47|
                       | 28 50 28 52 32 |
                       |57 33</posList><|
                       |/LineStringSegme|
                       |nt></segments></|
                       |Curve></curvePro|
                       |perty></Edge></d|
                       |irectedEdge><dir|
                       |ectedEdge orient|
                       |ation="-"><Edge |
                       |id="E5"><directe|
                       |dNode orientatio|
                       |n="-"><Node id="|
                       |N7"/></directedN|
                       |ode><directedNod|
                       |e><Node id="N6"/|
                       |></directedNode>|
                       |<curveProperty><|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><segm|
                       |ents><LineString|
                       |Segment><posList|
                       | srsDimension="2|
                       |">41 40 45 40 47|
                       | 42 62 41 61 38 |
                       |59 39 57 36 57 3|
                       |3</posList></Lin|
                       |eStringSegment><|
                       |/segments></Curv|
                       |e></curvePropert|
                       |y></Edge></direc|
                       |tedEdge></TopoCu|
                       |rve>             |
总数目:2


-- Output again with custom prefix
SELECT feature_name||'-customprefix', topology.AsGML(feature, 'cstm')
 FROM features.city_streets
 WHERE feature_name IN ('R1', 'R2' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R1-customprefix        |<cstm:TopoCurve><|
                       |cstm:directedEdg|
                       |e><cstm:Edge cst|
                       |m:id="E9"><cstm:|
                       |directedNode ori|
                       |entation="-"><cs|
                       |tm:Node cstm:id=|
                       |"N15"/></cstm:di|
                       |rectedNode><cstm|
                       |:directedNode><c|
                       |stm:Node cstm:id|
                       |="N14"/></cstm:d|
                       |irectedNode><cst|
                       |m:curveProperty>|
                       |<cstm:Curve srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><cstm:segments>|
                       |<cstm:LineString|
                       |Segment><cstm:po|
                       |sList srsDimensi|
                       |on="2">9 14 21 1|
                       |4</cstm:posList>|
                       |</cstm:LineStrin|
                       |gSegment></cstm:|
                       |segments></cstm:|
                       |Curve></cstm:cur|
                       |veProperty></cst|
                       |m:Edge></cstm:di|
                       |rectedEdge><cstm|
                       |:directedEdge or|
                       |ientation="-"><c|
                       |stm:Edge cstm:id|
                       |="E10"><cstm:dir|
                       |ectedNode orient|
                       |ation="-"><cstm:|
                       |Node cstm:id="N1|
                       |3"/></cstm:direc|
                       |tedNode><cstm:di|
                       |rectedNode><cstm|
                       |:Node cstm:id="N|
                       |14"/></cstm:dire|
                       |ctedNode><cstm:c|
                       |urveProperty><cs|
                       |tm:Curve srsName|
                       |="urn:ogc:def:cr|
                       |s:EPSG::4326"><c|
                       |stm:segments><cs|
                       |tm:LineStringSeg|
                       |ment><cstm:posLi|
                       |st srsDimension=|
                       |"2">35 14 21 14<|
                       |/cstm:posList></|
                       |cstm:LineStringS|
                       |egment></cstm:se|
                       |gments></cstm:Cu|
                       |rve></cstm:curve|
                       |Property></cstm:|
                       |Edge></cstm:dire|
                       |ctedEdge></cstm:|
                       |TopoCurve>       |
----------------------------------------
R2-customprefix        |<cstm:TopoCurve><|
                       |cstm:directedEdg|
                       |e><cstm:Edge cst|
                       |m:id="E4"><cstm:|
                       |directedNode ori|
                       |entation="-"><cs|
                       |tm:Node cstm:id=|
                       |"N5"/></cstm:dir|
                       |ectedNode><cstm:|
                       |directedNode><cs|
                       |tm:Node cstm:id=|
                       |"N6"/></cstm:dir|
                       |ectedNode><cstm:|
                       |curveProperty><c|
                       |stm:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |cstm:segments><c|
                       |stm:LineStringSe|
                       |gment><cstm:posL|
                       |ist srsDimension|
                       |="2">36 38 38 35|
                       | 41 34 42 33 45 |
                       |32 47 28 50 28 5|
                       |2 32 57 33</cstm|
                       |:posList></cstm:|
                       |LineStringSegmen|
                       |t></cstm:segment|
                       |s></cstm:Curve><|
                       |/cstm:curvePrope|
                       |rty></cstm:Edge>|
                       |</cstm:directedE|
                       |dge><cstm:direct|
                       |edEdge orientati|
                       |on="-"><cstm:Edg|
                       |e cstm:id="E5"><|
                       |cstm:directedNod|
                       |e orientation="-|
                       |"><cstm:Node cst|
                       |m:id="N7"/></cst|
                       |m:directedNode><|
                       |cstm:directedNod|
                       |e><cstm:Node cst|
                       |m:id="N6"/></cst|
                       |m:directedNode><|
                       |cstm:curveProper|
                       |ty><cstm:Curve s|
                       |rsName="urn:ogc:|
                       |def:crs:EPSG::43|
                       |26"><cstm:segmen|
                       |ts><cstm:LineStr|
                       |ingSegment><cstm|
                       |:posList srsDime|
                       |nsion="2">41 40 |
                       |45 40 47 42 62 4|
                       |1 61 38 59 39 57|
                       | 36 57 33</cstm:|
                       |posList></cstm:L|
                       |ineStringSegment|
                       |></cstm:segments|
                       |></cstm:Curve></|
                       |cstm:curveProper|
                       |ty></cstm:Edge><|
                       |/cstm:directedEd|
                       |ge></cstm:TopoCu|
                       |rve>             |
总数目:2


--- } Lineal multi-element

--- Areal single-element {

-- Output simple lineal features (composed by single topo element)
SELECT feature_name||'-vanilla', topology.AsGML(feature)
 FROM features.land_parcels
 WHERE feature_name IN ('P4', 'P5' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P4-vanilla             |<gml:TopoSurface>|
                       |<gml:directedFac|
                       |e><gml:Face gml:|
                       |id="F2"><gml:dir|
                       |ectedEdge><gml:E|
                       |dge gml:id="E2">|
                       |<gml:directedNod|
                       |e orientation="-|
                       |"><gml:Node gml:|
                       |id="N2"/></gml:d|
                       |irectedNode><gml|
                       |:directedNode><g|
                       |ml:Node gml:id="|
                       |N2"/></gml:direc|
                       |tedNode><gml:cur|
                       |veProperty><gml:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><gml:|
                       |segments><gml:Li|
                       |neStringSegment>|
                       |<gml:posList srs|
                       |Dimension="2">25|
                       | 30 31 30 31 40 |
                       |17 40 17 30 25 3|
                       |0</gml:posList><|
                       |/gml:LineStringS|
                       |egment></gml:seg|
                       |ments></gml:Curv|
                       |e></gml:curvePro|
                       |perty></gml:Edge|
                       |></gml:directedE|
                       |dge></gml:Face><|
                       |/gml:directedFac|
                       |e></gml:TopoSurf|
                       |ace>             |
----------------------------------------
P5-vanilla             |<gml:TopoSurface>|
                       |<gml:directedFac|
                       |e><gml:Face gml:|
                       |id="F1"><gml:dir|
                       |ectedEdge><gml:E|
                       |dge gml:id="E1">|
                       |<gml:directedNod|
                       |e orientation="-|
                       |"><gml:Node gml:|
                       |id="N1"/></gml:d|
                       |irectedNode><gml|
                       |:directedNode><g|
                       |ml:Node gml:id="|
                       |N1"/></gml:direc|
                       |tedNode><gml:cur|
                       |veProperty><gml:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><gml:|
                       |segments><gml:Li|
                       |neStringSegment>|
                       |<gml:posList srs|
                       |Dimension="2">8 |
                       |30 16 30 16 38 3|
                       | 38 3 30 8 30</g|
                       |ml:posList></gml|
                       |:LineStringSegme|
                       |nt></gml:segment|
                       |s></gml:Curve></|
                       |gml:curvePropert|
                       |y></gml:Edge></g|
                       |ml:directedEdge>|
                       |<gml:directedEdg|
                       |e orientation="-|
                       |"><gml:Edge gml:|
                       |id="E26"><gml:di|
                       |rectedNode orien|
                       |tation="-"><gml:|
                       |Node gml:id="N20|
                       |"/></gml:directe|
                       |dNode><gml:direc|
                       |tedNode><gml:Nod|
                       |e gml:id="N20"/>|
                       |</gml:directedNo|
                       |de><gml:curvePro|
                       |perty><gml:Curve|
                       | srsName="urn:og|
                       |c:def:crs:EPSG::|
                       |4326"><gml:segme|
                       |nts><gml:LineStr|
                       |ingSegment><gml:|
                       |posList srsDimen|
                       |sion="2">4 31 7 |
                       |31 7 34 4 34 4 3|
                       |1</gml:posList><|
                       |/gml:LineStringS|
                       |egment></gml:seg|
                       |ments></gml:Curv|
                       |e></gml:curvePro|
                       |perty></gml:Edge|
                       |></gml:directedE|
                       |dge></gml:Face><|
                       |/gml:directedFac|
                       |e></gml:TopoSurf|
                       |ace>             |
总数目:2


-- Output again but with no prefix
SELECT feature_name||'-noprefix', topology.AsGML(feature, '')
 FROM features.land_parcels WHERE feature_name IN ('P4', 'P5')
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P4-noprefix            |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="F2"><directe|
                       |dEdge><Edge id="|
                       |E2"><directedNod|
                       |e orientation="-|
                       |"><Node id="N2"/|
                       |></directedNode>|
                       |<directedNode><N|
                       |ode id="N2"/></d|
                       |irectedNode><cur|
                       |veProperty><Curv|
                       |e srsName="urn:o|
                       |gc:def:crs:EPSG:|
                       |:4326"><segments|
                       |><LineStringSegm|
                       |ent><posList srs|
                       |Dimension="2">25|
                       | 30 31 30 31 40 |
                       |17 40 17 30 25 3|
                       |0</posList></Lin|
                       |eStringSegment><|
                       |/segments></Curv|
                       |e></curvePropert|
                       |y></Edge></direc|
                       |tedEdge></Face><|
                       |/directedFace></|
                       |TopoSurface>     |
----------------------------------------
P5-noprefix            |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="F1"><directe|
                       |dEdge><Edge id="|
                       |E1"><directedNod|
                       |e orientation="-|
                       |"><Node id="N1"/|
                       |></directedNode>|
                       |<directedNode><N|
                       |ode id="N1"/></d|
                       |irectedNode><cur|
                       |veProperty><Curv|
                       |e srsName="urn:o|
                       |gc:def:crs:EPSG:|
                       |:4326"><segments|
                       |><LineStringSegm|
                       |ent><posList srs|
                       |Dimension="2">8 |
                       |30 16 30 16 38 3|
                       | 38 3 30 8 30</p|
                       |osList></LineStr|
                       |ingSegment></seg|
                       |ments></Curve></|
                       |curveProperty></|
                       |Edge></directedE|
                       |dge><directedEdg|
                       |e orientation="-|
                       |"><Edge id="E26"|
                       |><directedNode o|
                       |rientation="-"><|
                       |Node id="N20"/><|
                       |/directedNode><d|
                       |irectedNode><Nod|
                       |e id="N20"/></di|
                       |rectedNode><curv|
                       |eProperty><Curve|
                       | srsName="urn:og|
                       |c:def:crs:EPSG::|
                       |4326"><segments>|
                       |<LineStringSegme|
                       |nt><posList srsD|
                       |imension="2">4 3|
                       |1 7 31 7 34 4 34|
                       | 4 31</posList><|
                       |/LineStringSegme|
                       |nt></segments></|
                       |Curve></curvePro|
                       |perty></Edge></d|
                       |irectedEdge></Fa|
                       |ce></directedFac|
                       |e></TopoSurface> |
总数目:2


-- Output again with custom prefix
SELECT feature_name||'-customprefix', topology.AsGML(feature, 'cstm')
 FROM features.land_parcels WHERE feature_name IN ('P4', 'P5')
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P4-customprefix        |<cstm:TopoSurface|
                       |><cstm:directedF|
                       |ace><cstm:Face c|
                       |stm:id="F2"><cst|
                       |m:directedEdge><|
                       |cstm:Edge cstm:i|
                       |d="E2"><cstm:dir|
                       |ectedNode orient|
                       |ation="-"><cstm:|
                       |Node cstm:id="N2|
                       |"/></cstm:direct|
                       |edNode><cstm:dir|
                       |ectedNode><cstm:|
                       |Node cstm:id="N2|
                       |"/></cstm:direct|
                       |edNode><cstm:cur|
                       |veProperty><cstm|
                       |:Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><cst|
                       |m:segments><cstm|
                       |:LineStringSegme|
                       |nt><cstm:posList|
                       | srsDimension="2|
                       |">25 30 31 30 31|
                       | 40 17 40 17 30 |
                       |25 30</cstm:posL|
                       |ist></cstm:LineS|
                       |tringSegment></c|
                       |stm:segments></c|
                       |stm:Curve></cstm|
                       |:curveProperty><|
                       |/cstm:Edge></cst|
                       |m:directedEdge><|
                       |/cstm:Face></cst|
                       |m:directedFace><|
                       |/cstm:TopoSurfac|
                       |e>               |
----------------------------------------
P5-customprefix        |<cstm:TopoSurface|
                       |><cstm:directedF|
                       |ace><cstm:Face c|
                       |stm:id="F1"><cst|
                       |m:directedEdge><|
                       |cstm:Edge cstm:i|
                       |d="E1"><cstm:dir|
                       |ectedNode orient|
                       |ation="-"><cstm:|
                       |Node cstm:id="N1|
                       |"/></cstm:direct|
                       |edNode><cstm:dir|
                       |ectedNode><cstm:|
                       |Node cstm:id="N1|
                       |"/></cstm:direct|
                       |edNode><cstm:cur|
                       |veProperty><cstm|
                       |:Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><cst|
                       |m:segments><cstm|
                       |:LineStringSegme|
                       |nt><cstm:posList|
                       | srsDimension="2|
                       |">8 30 16 30 16 |
                       |38 3 38 3 30 8 3|
                       |0</cstm:posList>|
                       |</cstm:LineStrin|
                       |gSegment></cstm:|
                       |segments></cstm:|
                       |Curve></cstm:cur|
                       |veProperty></cst|
                       |m:Edge></cstm:di|
                       |rectedEdge><cstm|
                       |:directedEdge or|
                       |ientation="-"><c|
                       |stm:Edge cstm:id|
                       |="E26"><cstm:dir|
                       |ectedNode orient|
                       |ation="-"><cstm:|
                       |Node cstm:id="N2|
                       |0"/></cstm:direc|
                       |tedNode><cstm:di|
                       |rectedNode><cstm|
                       |:Node cstm:id="N|
                       |20"/></cstm:dire|
                       |ctedNode><cstm:c|
                       |urveProperty><cs|
                       |tm:Curve srsName|
                       |="urn:ogc:def:cr|
                       |s:EPSG::4326"><c|
                       |stm:segments><cs|
                       |tm:LineStringSeg|
                       |ment><cstm:posLi|
                       |st srsDimension=|
                       |"2">4 31 7 31 7 |
                       |34 4 34 4 31</cs|
                       |tm:posList></cst|
                       |m:LineStringSegm|
                       |ent></cstm:segme|
                       |nts></cstm:Curve|
                       |></cstm:curvePro|
                       |perty></cstm:Edg|
                       |e></cstm:directe|
                       |dEdge></cstm:Fac|
                       |e></cstm:directe|
                       |dFace></cstm:Top|
                       |oSurface>        |
总数目:2


--- } Areal single-element

--- Areal multi-element {

-- Output simple lineal features (composed by single topo element)
SELECT feature_name||'-vanilla', topology.AsGML(feature)
 FROM features.land_parcels
 WHERE feature_name IN ('P1', 'P2', 'P3' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P1-vanilla             |<gml:TopoSurface>|
                       |<gml:directedFac|
                       |e><gml:Face gml:|
                       |id="F3"><gml:dir|
                       |ectedEdge orient|
                       |ation="-"><gml:E|
                       |dge gml:id="E6">|
                       |<gml:directedNod|
                       |e orientation="-|
                       |"><gml:Node gml:|
                       |id="N16"/></gml:|
                       |directedNode><gm|
                       |l:directedNode><|
                       |gml:Node gml:id=|
                       |"N17"/></gml:dir|
                       |ectedNode><gml:c|
                       |urveProperty><gm|
                       |l:Curve srsName=|
                       |"urn:ogc:def:crs|
                       |:EPSG::4326"><gm|
                       |l:segments><gml:|
                       |LineStringSegmen|
                       |t><gml:posList s|
                       |rsDimension="2">|
                       |9 22 21 22</gml:|
                       |posList></gml:Li|
                       |neStringSegment>|
                       |</gml:segments><|
                       |/gml:Curve></gml|
                       |:curveProperty><|
                       |/gml:Edge></gml:|
                       |directedEdge><gm|
                       |l:directedEdge><|
                       |gml:Edge gml:id=|
                       |"E19"><gml:direc|
                       |tedNode orientat|
                       |ion="-"><gml:Nod|
                       |e gml:id="N14"/>|
                       |</gml:directedNo|
                       |de><gml:directed|
                       |Node><gml:Node g|
                       |ml:id="N17"/></g|
                       |ml:directedNode>|
                       |<gml:curveProper|
                       |ty><gml:Curve sr|
                       |sName="urn:ogc:d|
                       |ef:crs:EPSG::432|
                       |6"><gml:segments|
                       |><gml:LineString|
                       |Segment><gml:pos|
                       |List srsDimensio|
                       |n="2">21 14 21 2|
                       |2</gml:posList><|
                       |/gml:LineStringS|
                       |egment></gml:seg|
                       |ments></gml:Curv|
                       |e></gml:curvePro|
                       |perty></gml:Edge|
                       |></gml:directedE|
                       |dge><gml:directe|
                       |dEdge><gml:Edge |
                       |gml:id="E9"><gml|
                       |:directedNode or|
                       |ientation="-"><g|
                       |ml:Node gml:id="|
                       |N15"/></gml:dire|
                       |ctedNode><gml:di|
                       |rectedNode><gml:|
                       |Node gml:id="N14|
                       |"/></gml:directe|
                       |dNode><gml:curve|
                       |Property><gml:Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><gml:se|
                       |gments><gml:Line|
                       |StringSegment><g|
                       |ml:posList srsDi|
                       |mension="2">9 14|
                       | 21 14</gml:posL|
                       |ist></gml:LineSt|
                       |ringSegment></gm|
                       |l:segments></gml|
                       |:Curve></gml:cur|
                       |veProperty></gml|
                       |:Edge></gml:dire|
                       |ctedEdge><gml:di|
                       |rectedEdge orien|
                       |tation="-"><gml:|
                       |Edge gml:id="E21|
                       |"><gml:directedN|
                       |ode orientation=|
                       |"-"><gml:Node gm|
                       |l:id="N15"/></gm|
                       |l:directedNode><|
                       |gml:directedNode|
                       |><gml:Node gml:i|
                       |d="N16"/></gml:d|
                       |irectedNode><gml|
                       |:curveProperty><|
                       |gml:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |gml:segments><gm|
                       |l:LineStringSegm|
                       |ent><gml:posList|
                       | srsDimension="2|
                       |">9 14 9 22</gml|
                       |:posList></gml:L|
                       |ineStringSegment|
                       |></gml:segments>|
                       |</gml:Curve></gm|
                       |l:curveProperty>|
                       |</gml:Edge></gml|
                       |:directedEdge></|
                       |gml:Face></gml:d|
                       |irectedFace><gml|
                       |:directedFace><g|
                       |ml:Face gml:id="|
                       |F6"><gml:directe|
                       |dEdge orientatio|
                       |n="-"><gml:Edge |
                       |gml:id="E9"><gml|
                       |:directedNode or|
                       |ientation="-"><g|
                       |ml:Node gml:id="|
                       |N15"/></gml:dire|
                       |ctedNode><gml:di|
                       |rectedNode><gml:|
                       |Node gml:id="N14|
                       |"/></gml:directe|
                       |dNode><gml:curve|
                       |Property><gml:Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><gml:se|
                       |gments><gml:Line|
                       |StringSegment><g|
                       |ml:posList srsDi|
                       |mension="2">9 14|
                       | 21 14</gml:posL|
                       |ist></gml:LineSt|
                       |ringSegment></gm|
                       |l:segments></gml|
                       |:Curve></gml:cur|
                       |veProperty></gml|
                       |:Edge></gml:dire|
                       |ctedEdge><gml:di|
                       |rectedEdge><gml:|
                       |Edge gml:id="E20|
                       |"><gml:directedN|
                       |ode orientation=|
                       |"-"><gml:Node gm|
                       |l:id="N9"/></gml|
                       |:directedNode><g|
                       |ml:directedNode>|
                       |<gml:Node gml:id|
                       |="N14"/></gml:di|
                       |rectedNode><gml:|
                       |curveProperty><g|
                       |ml:Curve srsName|
                       |="urn:ogc:def:cr|
                       |s:EPSG::4326"><g|
                       |ml:segments><gml|
                       |:LineStringSegme|
                       |nt><gml:posList |
                       |srsDimension="2"|
                       |>21 6 21 14</gml|
                       |:posList></gml:L|
                       |ineStringSegment|
                       |></gml:segments>|
                       |</gml:Curve></gm|
                       |l:curveProperty>|
                       |</gml:Edge></gml|
                       |:directedEdge><g|
                       |ml:directedEdge>|
                       |<gml:Edge gml:id|
                       |="E12"><gml:dire|
                       |ctedNode orienta|
                       |tion="-"><gml:No|
                       |de gml:id="N8"/>|
                       |</gml:directedNo|
                       |de><gml:directed|
                       |Node><gml:Node g|
                       |ml:id="N9"/></gm|
                       |l:directedNode><|
                       |gml:curvePropert|
                       |y><gml:Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><gml:segments>|
                       |<gml:LineStringS|
                       |egment><gml:posL|
                       |ist srsDimension|
                       |="2">9 6 21 6</g|
                       |ml:posList></gml|
                       |:LineStringSegme|
                       |nt></gml:segment|
                       |s></gml:Curve></|
                       |gml:curvePropert|
                       |y></gml:Edge></g|
                       |ml:directedEdge>|
                       |<gml:directedEdg|
                       |e orientation="-|
                       |"><gml:Edge gml:|
                       |id="E22"><gml:di|
                       |rectedNode orien|
                       |tation="-"><gml:|
                       |Node gml:id="N8"|
                       |/></gml:directed|
                       |Node><gml:direct|
                       |edNode><gml:Node|
                       | gml:id="N15"/><|
                       |/gml:directedNod|
                       |e><gml:curveProp|
                       |erty><gml:Curve |
                       |srsName="urn:ogc|
                       |:def:crs:EPSG::4|
                       |326"><gml:segmen|
                       |ts><gml:LineStri|
                       |ngSegment><gml:p|
                       |osList srsDimens|
                       |ion="2">9 6 9 14|
                       |</gml:posList></|
                       |gml:LineStringSe|
                       |gment></gml:segm|
                       |ents></gml:Curve|
                       |></gml:curveProp|
                       |erty></gml:Edge>|
                       |</gml:directedEd|
                       |ge></gml:Face></|
                       |gml:directedFace|
                       |></gml:TopoSurfa|
                       |ce>              |
----------------------------------------
P2-vanilla             |<gml:TopoSurface>|
                       |<gml:directedFac|
                       |e><gml:Face gml:|
                       |id="F4"><gml:dir|
                       |ectedEdge orient|
                       |ation="-"><gml:E|
                       |dge gml:id="E7">|
                       |<gml:directedNod|
                       |e orientation="-|
                       |"><gml:Node gml:|
                       |id="N17"/></gml:|
                       |directedNode><gm|
                       |l:directedNode><|
                       |gml:Node gml:id=|
                       |"N18"/></gml:dir|
                       |ectedNode><gml:c|
                       |urveProperty><gm|
                       |l:Curve srsName=|
                       |"urn:ogc:def:crs|
                       |:EPSG::4326"><gm|
                       |l:segments><gml:|
                       |LineStringSegmen|
                       |t><gml:posList s|
                       |rsDimension="2">|
                       |21 22 35 22</gml|
                       |:posList></gml:L|
                       |ineStringSegment|
                       |></gml:segments>|
                       |</gml:Curve></gm|
                       |l:curveProperty>|
                       |</gml:Edge></gml|
                       |:directedEdge><g|
                       |ml:directedEdge>|
                       |<gml:Edge gml:id|
                       |="E17"><gml:dire|
                       |ctedNode orienta|
                       |tion="-"><gml:No|
                       |de gml:id="N13"/|
                       |></gml:directedN|
                       |ode><gml:directe|
                       |dNode><gml:Node |
                       |gml:id="N18"/></|
                       |gml:directedNode|
                       |><gml:curvePrope|
                       |rty><gml:Curve s|
                       |rsName="urn:ogc:|
                       |def:crs:EPSG::43|
                       |26"><gml:segment|
                       |s><gml:LineStrin|
                       |gSegment><gml:po|
                       |sList srsDimensi|
                       |on="2">35 14 35 |
                       |22</gml:posList>|
                       |</gml:LineString|
                       |Segment></gml:se|
                       |gments></gml:Cur|
                       |ve></gml:curvePr|
                       |operty></gml:Edg|
                       |e></gml:directed|
                       |Edge><gml:direct|
                       |edEdge orientati|
                       |on="-"><gml:Edge|
                       | gml:id="E10"><g|
                       |ml:directedNode |
                       |orientation="-">|
                       |<gml:Node gml:id|
                       |="N13"/></gml:di|
                       |rectedNode><gml:|
                       |directedNode><gm|
                       |l:Node gml:id="N|
                       |14"/></gml:direc|
                       |tedNode><gml:cur|
                       |veProperty><gml:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><gml:|
                       |segments><gml:Li|
                       |neStringSegment>|
                       |<gml:posList srs|
                       |Dimension="2">35|
                       | 14 21 14</gml:p|
                       |osList></gml:Lin|
                       |eStringSegment><|
                       |/gml:segments></|
                       |gml:Curve></gml:|
                       |curveProperty></|
                       |gml:Edge></gml:d|
                       |irectedEdge><gml|
                       |:directedEdge or|
                       |ientation="-"><g|
                       |ml:Edge gml:id="|
                       |E19"><gml:direct|
                       |edNode orientati|
                       |on="-"><gml:Node|
                       | gml:id="N14"/><|
                       |/gml:directedNod|
                       |e><gml:directedN|
                       |ode><gml:Node gm|
                       |l:id="N17"/></gm|
                       |l:directedNode><|
                       |gml:curvePropert|
                       |y><gml:Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><gml:segments>|
                       |<gml:LineStringS|
                       |egment><gml:posL|
                       |ist srsDimension|
                       |="2">21 14 21 22|
                       |</gml:posList></|
                       |gml:LineStringSe|
                       |gment></gml:segm|
                       |ents></gml:Curve|
                       |></gml:curveProp|
                       |erty></gml:Edge>|
                       |</gml:directedEd|
                       |ge></gml:Face></|
                       |gml:directedFace|
                       |><gml:directedFa|
                       |ce><gml:Face gml|
                       |:id="F7"><gml:di|
                       |rectedEdge><gml:|
                       |Edge gml:id="E10|
                       |"><gml:directedN|
                       |ode orientation=|
                       |"-"><gml:Node gm|
                       |l:id="N13"/></gm|
                       |l:directedNode><|
                       |gml:directedNode|
                       |><gml:Node gml:i|
                       |d="N14"/></gml:d|
                       |irectedNode><gml|
                       |:curveProperty><|
                       |gml:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |gml:segments><gm|
                       |l:LineStringSegm|
                       |ent><gml:posList|
                       | srsDimension="2|
                       |">35 14 21 14</g|
                       |ml:posList></gml|
                       |:LineStringSegme|
                       |nt></gml:segment|
                       |s></gml:Curve></|
                       |gml:curvePropert|
                       |y></gml:Edge></g|
                       |ml:directedEdge>|
                       |<gml:directedEdg|
                       |e><gml:Edge gml:|
                       |id="E18"><gml:di|
                       |rectedNode orien|
                       |tation="-"><gml:|
                       |Node gml:id="N10|
                       |"/></gml:directe|
                       |dNode><gml:direc|
                       |tedNode><gml:Nod|
                       |e gml:id="N13"/>|
                       |</gml:directedNo|
                       |de><gml:curvePro|
                       |perty><gml:Curve|
                       | srsName="urn:og|
                       |c:def:crs:EPSG::|
                       |4326"><gml:segme|
                       |nts><gml:LineStr|
                       |ingSegment><gml:|
                       |posList srsDimen|
                       |sion="2">35 6 35|
                       | 14</gml:posList|
                       |></gml:LineStrin|
                       |gSegment></gml:s|
                       |egments></gml:Cu|
                       |rve></gml:curveP|
                       |roperty></gml:Ed|
                       |ge></gml:directe|
                       |dEdge><gml:direc|
                       |tedEdge><gml:Edg|
                       |e gml:id="E13"><|
                       |gml:directedNode|
                       | orientation="-"|
                       |><gml:Node gml:i|
                       |d="N9"/></gml:di|
                       |rectedNode><gml:|
                       |directedNode><gm|
                       |l:Node gml:id="N|
                       |10"/></gml:direc|
                       |tedNode><gml:cur|
                       |veProperty><gml:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><gml:|
                       |segments><gml:Li|
                       |neStringSegment>|
                       |<gml:posList srs|
                       |Dimension="2">21|
                       | 6 35 6</gml:pos|
                       |List></gml:LineS|
                       |tringSegment></g|
                       |ml:segments></gm|
                       |l:Curve></gml:cu|
                       |rveProperty></gm|
                       |l:Edge></gml:dir|
                       |ectedEdge><gml:d|
                       |irectedEdge orie|
                       |ntation="-"><gml|
                       |:Edge gml:id="E2|
                       |0"><gml:directed|
                       |Node orientation|
                       |="-"><gml:Node g|
                       |ml:id="N9"/></gm|
                       |l:directedNode><|
                       |gml:directedNode|
                       |><gml:Node gml:i|
                       |d="N14"/></gml:d|
                       |irectedNode><gml|
                       |:curveProperty><|
                       |gml:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |gml:segments><gm|
                       |l:LineStringSegm|
                       |ent><gml:posList|
                       | srsDimension="2|
                       |">21 6 21 14</gm|
                       |l:posList></gml:|
                       |LineStringSegmen|
                       |t></gml:segments|
                       |></gml:Curve></g|
                       |ml:curveProperty|
                       |></gml:Edge></gm|
                       |l:directedEdge><|
                       |/gml:Face></gml:|
                       |directedFace></g|
                       |ml:TopoSurface>  |
----------------------------------------
P3-vanilla             |<gml:TopoSurface>|
                       |<gml:directedFac|
                       |e><gml:Face gml:|
                       |id="F5"><gml:dir|
                       |ectedEdge orient|
                       |ation="-"><gml:E|
                       |dge gml:id="E8">|
                       |<gml:directedNod|
                       |e orientation="-|
                       |"><gml:Node gml:|
                       |id="N18"/></gml:|
                       |directedNode><gm|
                       |l:directedNode><|
                       |gml:Node gml:id=|
                       |"N19"/></gml:dir|
                       |ectedNode><gml:c|
                       |urveProperty><gm|
                       |l:Curve srsName=|
                       |"urn:ogc:def:crs|
                       |:EPSG::4326"><gm|
                       |l:segments><gml:|
                       |LineStringSegmen|
                       |t><gml:posList s|
                       |rsDimension="2">|
                       |35 22 47 22</gml|
                       |:posList></gml:L|
                       |ineStringSegment|
                       |></gml:segments>|
                       |</gml:Curve></gm|
                       |l:curveProperty>|
                       |</gml:Edge></gml|
                       |:directedEdge><g|
                       |ml:directedEdge>|
                       |<gml:Edge gml:id|
                       |="E15"><gml:dire|
                       |ctedNode orienta|
                       |tion="-"><gml:No|
                       |de gml:id="N12"/|
                       |></gml:directedN|
                       |ode><gml:directe|
                       |dNode><gml:Node |
                       |gml:id="N19"/></|
                       |gml:directedNode|
                       |><gml:curvePrope|
                       |rty><gml:Curve s|
                       |rsName="urn:ogc:|
                       |def:crs:EPSG::43|
                       |26"><gml:segment|
                       |s><gml:LineStrin|
                       |gSegment><gml:po|
                       |sList srsDimensi|
                       |on="2">47 14 47 |
                       |22</gml:posList>|
                       |</gml:LineString|
                       |Segment></gml:se|
                       |gments></gml:Cur|
                       |ve></gml:curvePr|
                       |operty></gml:Edg|
                       |e></gml:directed|
                       |Edge><gml:direct|
                       |edEdge><gml:Edge|
                       | gml:id="E11"><g|
                       |ml:directedNode |
                       |orientation="-">|
                       |<gml:Node gml:id|
                       |="N13"/></gml:di|
                       |rectedNode><gml:|
                       |directedNode><gm|
                       |l:Node gml:id="N|
                       |12"/></gml:direc|
                       |tedNode><gml:cur|
                       |veProperty><gml:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><gml:|
                       |segments><gml:Li|
                       |neStringSegment>|
                       |<gml:posList srs|
                       |Dimension="2">35|
                       | 14 47 14</gml:p|
                       |osList></gml:Lin|
                       |eStringSegment><|
                       |/gml:segments></|
                       |gml:Curve></gml:|
                       |curveProperty></|
                       |gml:Edge></gml:d|
                       |irectedEdge><gml|
                       |:directedEdge or|
                       |ientation="-"><g|
                       |ml:Edge gml:id="|
                       |E17"><gml:direct|
                       |edNode orientati|
                       |on="-"><gml:Node|
                       | gml:id="N13"/><|
                       |/gml:directedNod|
                       |e><gml:directedN|
                       |ode><gml:Node gm|
                       |l:id="N18"/></gm|
                       |l:directedNode><|
                       |gml:curvePropert|
                       |y><gml:Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><gml:segments>|
                       |<gml:LineStringS|
                       |egment><gml:posL|
                       |ist srsDimension|
                       |="2">35 14 35 22|
                       |</gml:posList></|
                       |gml:LineStringSe|
                       |gment></gml:segm|
                       |ents></gml:Curve|
                       |></gml:curveProp|
                       |erty></gml:Edge>|
                       |</gml:directedEd|
                       |ge></gml:Face></|
                       |gml:directedFace|
                       |><gml:directedFa|
                       |ce><gml:Face gml|
                       |:id="F8"><gml:di|
                       |rectedEdge orien|
                       |tation="-"><gml:|
                       |Edge gml:id="E11|
                       |"><gml:directedN|
                       |ode orientation=|
                       |"-"><gml:Node gm|
                       |l:id="N13"/></gm|
                       |l:directedNode><|
                       |gml:directedNode|
                       |><gml:Node gml:i|
                       |d="N12"/></gml:d|
                       |irectedNode><gml|
                       |:curveProperty><|
                       |gml:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |gml:segments><gm|
                       |l:LineStringSegm|
                       |ent><gml:posList|
                       | srsDimension="2|
                       |">35 14 47 14</g|
                       |ml:posList></gml|
                       |:LineStringSegme|
                       |nt></gml:segment|
                       |s></gml:Curve></|
                       |gml:curvePropert|
                       |y></gml:Edge></g|
                       |ml:directedEdge>|
                       |<gml:directedEdg|
                       |e><gml:Edge gml:|
                       |id="E16"><gml:di|
                       |rectedNode orien|
                       |tation="-"><gml:|
                       |Node gml:id="N11|
                       |"/></gml:directe|
                       |dNode><gml:direc|
                       |tedNode><gml:Nod|
                       |e gml:id="N12"/>|
                       |</gml:directedNo|
                       |de><gml:curvePro|
                       |perty><gml:Curve|
                       | srsName="urn:og|
                       |c:def:crs:EPSG::|
                       |4326"><gml:segme|
                       |nts><gml:LineStr|
                       |ingSegment><gml:|
                       |posList srsDimen|
                       |sion="2">47 6 47|
                       | 14</gml:posList|
                       |></gml:LineStrin|
                       |gSegment></gml:s|
                       |egments></gml:Cu|
                       |rve></gml:curveP|
                       |roperty></gml:Ed|
                       |ge></gml:directe|
                       |dEdge><gml:direc|
                       |tedEdge><gml:Edg|
                       |e gml:id="E14"><|
                       |gml:directedNode|
                       | orientation="-"|
                       |><gml:Node gml:i|
                       |d="N10"/></gml:d|
                       |irectedNode><gml|
                       |:directedNode><g|
                       |ml:Node gml:id="|
                       |N11"/></gml:dire|
                       |ctedNode><gml:cu|
                       |rveProperty><gml|
                       |:Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><gml|
                       |:segments><gml:L|
                       |ineStringSegment|
                       |><gml:posList sr|
                       |sDimension="2">3|
                       |5 6 47 6</gml:po|
                       |sList></gml:Line|
                       |StringSegment></|
                       |gml:segments></g|
                       |ml:Curve></gml:c|
                       |urveProperty></g|
                       |ml:Edge></gml:di|
                       |rectedEdge><gml:|
                       |directedEdge ori|
                       |entation="-"><gm|
                       |l:Edge gml:id="E|
                       |18"><gml:directe|
                       |dNode orientatio|
                       |n="-"><gml:Node |
                       |gml:id="N10"/></|
                       |gml:directedNode|
                       |><gml:directedNo|
                       |de><gml:Node gml|
                       |:id="N13"/></gml|
                       |:directedNode><g|
                       |ml:curveProperty|
                       |><gml:Curve srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><gml:segments><|
                       |gml:LineStringSe|
                       |gment><gml:posLi|
                       |st srsDimension=|
                       |"2">35 6 35 14</|
                       |gml:posList></gm|
                       |l:LineStringSegm|
                       |ent></gml:segmen|
                       |ts></gml:Curve><|
                       |/gml:curveProper|
                       |ty></gml:Edge></|
                       |gml:directedEdge|
                       |></gml:Face></gm|
                       |l:directedFace><|
                       |/gml:TopoSurface|
                       |>                |
总数目:3


-- Output again but with no prefix
SELECT feature_name||'-noprefix', topology.AsGML(feature, '')
 FROM features.land_parcels
 WHERE feature_name IN ('P1', 'P2', 'P3' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P1-noprefix            |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="F3"><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E6"><directedNod|
                       |e orientation="-|
                       |"><Node id="N16"|
                       |/></directedNode|
                       |><directedNode><|
                       |Node id="N17"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><segmen|
                       |ts><LineStringSe|
                       |gment><posList s|
                       |rsDimension="2">|
                       |9 22 21 22</posL|
                       |ist></LineString|
                       |Segment></segmen|
                       |ts></Curve></cur|
                       |veProperty></Edg|
                       |e></directedEdge|
                       |><directedEdge><|
                       |Edge id="E19"><d|
                       |irectedNode orie|
                       |ntation="-"><Nod|
                       |e id="N14"/></di|
                       |rectedNode><dire|
                       |ctedNode><Node i|
                       |d="N17"/></direc|
                       |tedNode><curvePr|
                       |operty><Curve sr|
                       |sName="urn:ogc:d|
                       |ef:crs:EPSG::432|
                       |6"><segments><Li|
                       |neStringSegment>|
                       |<posList srsDime|
                       |nsion="2">21 14 |
                       |21 22</posList><|
                       |/LineStringSegme|
                       |nt></segments></|
                       |Curve></curvePro|
                       |perty></Edge></d|
                       |irectedEdge><dir|
                       |ectedEdge><Edge |
                       |id="E9"><directe|
                       |dNode orientatio|
                       |n="-"><Node id="|
                       |N15"/></directed|
                       |Node><directedNo|
                       |de><Node id="N14|
                       |"/></directedNod|
                       |e><curveProperty|
                       |><Curve srsName=|
                       |"urn:ogc:def:crs|
                       |:EPSG::4326"><se|
                       |gments><LineStri|
                       |ngSegment><posLi|
                       |st srsDimension=|
                       |"2">9 14 21 14</|
                       |posList></LineSt|
                       |ringSegment></se|
                       |gments></Curve><|
                       |/curveProperty><|
                       |/Edge></directed|
                       |Edge><directedEd|
                       |ge orientation="|
                       |-"><Edge id="E21|
                       |"><directedNode |
                       |orientation="-">|
                       |<Node id="N15"/>|
                       |</directedNode><|
                       |directedNode><No|
                       |de id="N16"/></d|
                       |irectedNode><cur|
                       |veProperty><Curv|
                       |e srsName="urn:o|
                       |gc:def:crs:EPSG:|
                       |:4326"><segments|
                       |><LineStringSegm|
                       |ent><posList srs|
                       |Dimension="2">9 |
                       |14 9 22</posList|
                       |></LineStringSeg|
                       |ment></segments>|
                       |</Curve></curveP|
                       |roperty></Edge><|
                       |/directedEdge></|
                       |Face></directedF|
                       |ace><directedFac|
                       |e><Face id="F6">|
                       |<directedEdge or|
                       |ientation="-"><E|
                       |dge id="E9"><dir|
                       |ectedNode orient|
                       |ation="-"><Node |
                       |id="N15"/></dire|
                       |ctedNode><direct|
                       |edNode><Node id=|
                       |"N14"/></directe|
                       |dNode><curveProp|
                       |erty><Curve srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><segments><Line|
                       |StringSegment><p|
                       |osList srsDimens|
                       |ion="2">9 14 21 |
                       |14</posList></Li|
                       |neStringSegment>|
                       |</segments></Cur|
                       |ve></curveProper|
                       |ty></Edge></dire|
                       |ctedEdge><direct|
                       |edEdge><Edge id=|
                       |"E20"><directedN|
                       |ode orientation=|
                       |"-"><Node id="N9|
                       |"/></directedNod|
                       |e><directedNode>|
                       |<Node id="N14"/>|
                       |</directedNode><|
                       |curveProperty><C|
                       |urve srsName="ur|
                       |n:ogc:def:crs:EP|
                       |SG::4326"><segme|
                       |nts><LineStringS|
                       |egment><posList |
                       |srsDimension="2"|
                       |>21 6 21 14</pos|
                       |List></LineStrin|
                       |gSegment></segme|
                       |nts></Curve></cu|
                       |rveProperty></Ed|
                       |ge></directedEdg|
                       |e><directedEdge>|
                       |<Edge id="E12"><|
                       |directedNode ori|
                       |entation="-"><No|
                       |de id="N8"/></di|
                       |rectedNode><dire|
                       |ctedNode><Node i|
                       |d="N9"/></direct|
                       |edNode><curvePro|
                       |perty><Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><segments><Lin|
                       |eStringSegment><|
                       |posList srsDimen|
                       |sion="2">9 6 21 |
                       |6</posList></Lin|
                       |eStringSegment><|
                       |/segments></Curv|
                       |e></curvePropert|
                       |y></Edge></direc|
                       |tedEdge><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E22"><directedNo|
                       |de orientation="|
                       |-"><Node id="N8"|
                       |/></directedNode|
                       |><directedNode><|
                       |Node id="N15"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><segmen|
                       |ts><LineStringSe|
                       |gment><posList s|
                       |rsDimension="2">|
                       |9 6 9 14</posLis|
                       |t></LineStringSe|
                       |gment></segments|
                       |></Curve></curve|
                       |Property></Edge>|
                       |</directedEdge><|
                       |/Face></directed|
                       |Face></TopoSurfa|
                       |ce>              |
----------------------------------------
P2-noprefix            |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="F4"><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E7"><directedNod|
                       |e orientation="-|
                       |"><Node id="N17"|
                       |/></directedNode|
                       |><directedNode><|
                       |Node id="N18"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><segmen|
                       |ts><LineStringSe|
                       |gment><posList s|
                       |rsDimension="2">|
                       |21 22 35 22</pos|
                       |List></LineStrin|
                       |gSegment></segme|
                       |nts></Curve></cu|
                       |rveProperty></Ed|
                       |ge></directedEdg|
                       |e><directedEdge>|
                       |<Edge id="E17"><|
                       |directedNode ori|
                       |entation="-"><No|
                       |de id="N13"/></d|
                       |irectedNode><dir|
                       |ectedNode><Node |
                       |id="N18"/></dire|
                       |ctedNode><curveP|
                       |roperty><Curve s|
                       |rsName="urn:ogc:|
                       |def:crs:EPSG::43|
                       |26"><segments><L|
                       |ineStringSegment|
                       |><posList srsDim|
                       |ension="2">35 14|
                       | 35 22</posList>|
                       |</LineStringSegm|
                       |ent></segments><|
                       |/Curve></curvePr|
                       |operty></Edge></|
                       |directedEdge><di|
                       |rectedEdge orien|
                       |tation="-"><Edge|
                       | id="E10"><direc|
                       |tedNode orientat|
                       |ion="-"><Node id|
                       |="N13"/></direct|
                       |edNode><directed|
                       |Node><Node id="N|
                       |14"/></directedN|
                       |ode><curveProper|
                       |ty><Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |segments><LineSt|
                       |ringSegment><pos|
                       |List srsDimensio|
                       |n="2">35 14 21 1|
                       |4</posList></Lin|
                       |eStringSegment><|
                       |/segments></Curv|
                       |e></curvePropert|
                       |y></Edge></direc|
                       |tedEdge><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E19"><directedNo|
                       |de orientation="|
                       |-"><Node id="N14|
                       |"/></directedNod|
                       |e><directedNode>|
                       |<Node id="N17"/>|
                       |</directedNode><|
                       |curveProperty><C|
                       |urve srsName="ur|
                       |n:ogc:def:crs:EP|
                       |SG::4326"><segme|
                       |nts><LineStringS|
                       |egment><posList |
                       |srsDimension="2"|
                       |>21 14 21 22</po|
                       |sList></LineStri|
                       |ngSegment></segm|
                       |ents></Curve></c|
                       |urveProperty></E|
                       |dge></directedEd|
                       |ge></Face></dire|
                       |ctedFace><direct|
                       |edFace><Face id=|
                       |"F7"><directedEd|
                       |ge><Edge id="E10|
                       |"><directedNode |
                       |orientation="-">|
                       |<Node id="N13"/>|
                       |</directedNode><|
                       |directedNode><No|
                       |de id="N14"/></d|
                       |irectedNode><cur|
                       |veProperty><Curv|
                       |e srsName="urn:o|
                       |gc:def:crs:EPSG:|
                       |:4326"><segments|
                       |><LineStringSegm|
                       |ent><posList srs|
                       |Dimension="2">35|
                       | 14 21 14</posLi|
                       |st></LineStringS|
                       |egment></segment|
                       |s></Curve></curv|
                       |eProperty></Edge|
                       |></directedEdge>|
                       |<directedEdge><E|
                       |dge id="E18"><di|
                       |rectedNode orien|
                       |tation="-"><Node|
                       | id="N10"/></dir|
                       |ectedNode><direc|
                       |tedNode><Node id|
                       |="N13"/></direct|
                       |edNode><curvePro|
                       |perty><Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><segments><Lin|
                       |eStringSegment><|
                       |posList srsDimen|
                       |sion="2">35 6 35|
                       | 14</posList></L|
                       |ineStringSegment|
                       |></segments></Cu|
                       |rve></curvePrope|
                       |rty></Edge></dir|
                       |ectedEdge><direc|
                       |tedEdge><Edge id|
                       |="E13"><directed|
                       |Node orientation|
                       |="-"><Node id="N|
                       |9"/></directedNo|
                       |de><directedNode|
                       |><Node id="N10"/|
                       |></directedNode>|
                       |<curveProperty><|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><segm|
                       |ents><LineString|
                       |Segment><posList|
                       | srsDimension="2|
                       |">21 6 35 6</pos|
                       |List></LineStrin|
                       |gSegment></segme|
                       |nts></Curve></cu|
                       |rveProperty></Ed|
                       |ge></directedEdg|
                       |e><directedEdge |
                       |orientation="-">|
                       |<Edge id="E20"><|
                       |directedNode ori|
                       |entation="-"><No|
                       |de id="N9"/></di|
                       |rectedNode><dire|
                       |ctedNode><Node i|
                       |d="N14"/></direc|
                       |tedNode><curvePr|
                       |operty><Curve sr|
                       |sName="urn:ogc:d|
                       |ef:crs:EPSG::432|
                       |6"><segments><Li|
                       |neStringSegment>|
                       |<posList srsDime|
                       |nsion="2">21 6 2|
                       |1 14</posList></|
                       |LineStringSegmen|
                       |t></segments></C|
                       |urve></curveProp|
                       |erty></Edge></di|
                       |rectedEdge></Fac|
                       |e></directedFace|
                       |></TopoSurface>  |
----------------------------------------
P3-noprefix            |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="F5"><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E8"><directedNod|
                       |e orientation="-|
                       |"><Node id="N18"|
                       |/></directedNode|
                       |><directedNode><|
                       |Node id="N19"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="urn|
                       |:ogc:def:crs:EPS|
                       |G::4326"><segmen|
                       |ts><LineStringSe|
                       |gment><posList s|
                       |rsDimension="2">|
                       |35 22 47 22</pos|
                       |List></LineStrin|
                       |gSegment></segme|
                       |nts></Curve></cu|
                       |rveProperty></Ed|
                       |ge></directedEdg|
                       |e><directedEdge>|
                       |<Edge id="E15"><|
                       |directedNode ori|
                       |entation="-"><No|
                       |de id="N12"/></d|
                       |irectedNode><dir|
                       |ectedNode><Node |
                       |id="N19"/></dire|
                       |ctedNode><curveP|
                       |roperty><Curve s|
                       |rsName="urn:ogc:|
                       |def:crs:EPSG::43|
                       |26"><segments><L|
                       |ineStringSegment|
                       |><posList srsDim|
                       |ension="2">47 14|
                       | 47 22</posList>|
                       |</LineStringSegm|
                       |ent></segments><|
                       |/Curve></curvePr|
                       |operty></Edge></|
                       |directedEdge><di|
                       |rectedEdge><Edge|
                       | id="E11"><direc|
                       |tedNode orientat|
                       |ion="-"><Node id|
                       |="N13"/></direct|
                       |edNode><directed|
                       |Node><Node id="N|
                       |12"/></directedN|
                       |ode><curveProper|
                       |ty><Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |segments><LineSt|
                       |ringSegment><pos|
                       |List srsDimensio|
                       |n="2">35 14 47 1|
                       |4</posList></Lin|
                       |eStringSegment><|
                       |/segments></Curv|
                       |e></curvePropert|
                       |y></Edge></direc|
                       |tedEdge><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E17"><directedNo|
                       |de orientation="|
                       |-"><Node id="N13|
                       |"/></directedNod|
                       |e><directedNode>|
                       |<Node id="N18"/>|
                       |</directedNode><|
                       |curveProperty><C|
                       |urve srsName="ur|
                       |n:ogc:def:crs:EP|
                       |SG::4326"><segme|
                       |nts><LineStringS|
                       |egment><posList |
                       |srsDimension="2"|
                       |>35 14 35 22</po|
                       |sList></LineStri|
                       |ngSegment></segm|
                       |ents></Curve></c|
                       |urveProperty></E|
                       |dge></directedEd|
                       |ge></Face></dire|
                       |ctedFace><direct|
                       |edFace><Face id=|
                       |"F8"><directedEd|
                       |ge orientation="|
                       |-"><Edge id="E11|
                       |"><directedNode |
                       |orientation="-">|
                       |<Node id="N13"/>|
                       |</directedNode><|
                       |directedNode><No|
                       |de id="N12"/></d|
                       |irectedNode><cur|
                       |veProperty><Curv|
                       |e srsName="urn:o|
                       |gc:def:crs:EPSG:|
                       |:4326"><segments|
                       |><LineStringSegm|
                       |ent><posList srs|
                       |Dimension="2">35|
                       | 14 47 14</posLi|
                       |st></LineStringS|
                       |egment></segment|
                       |s></Curve></curv|
                       |eProperty></Edge|
                       |></directedEdge>|
                       |<directedEdge><E|
                       |dge id="E16"><di|
                       |rectedNode orien|
                       |tation="-"><Node|
                       | id="N11"/></dir|
                       |ectedNode><direc|
                       |tedNode><Node id|
                       |="N12"/></direct|
                       |edNode><curvePro|
                       |perty><Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><segments><Lin|
                       |eStringSegment><|
                       |posList srsDimen|
                       |sion="2">47 6 47|
                       | 14</posList></L|
                       |ineStringSegment|
                       |></segments></Cu|
                       |rve></curvePrope|
                       |rty></Edge></dir|
                       |ectedEdge><direc|
                       |tedEdge><Edge id|
                       |="E14"><directed|
                       |Node orientation|
                       |="-"><Node id="N|
                       |10"/></directedN|
                       |ode><directedNod|
                       |e><Node id="N11"|
                       |/></directedNode|
                       |><curveProperty>|
                       |<Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><seg|
                       |ments><LineStrin|
                       |gSegment><posLis|
                       |t srsDimension="|
                       |2">35 6 47 6</po|
                       |sList></LineStri|
                       |ngSegment></segm|
                       |ents></Curve></c|
                       |urveProperty></E|
                       |dge></directedEd|
                       |ge><directedEdge|
                       | orientation="-"|
                       |><Edge id="E18">|
                       |<directedNode or|
                       |ientation="-"><N|
                       |ode id="N10"/></|
                       |directedNode><di|
                       |rectedNode><Node|
                       | id="N13"/></dir|
                       |ectedNode><curve|
                       |Property><Curve |
                       |srsName="urn:ogc|
                       |:def:crs:EPSG::4|
                       |326"><segments><|
                       |LineStringSegmen|
                       |t><posList srsDi|
                       |mension="2">35 6|
                       | 35 14</posList>|
                       |</LineStringSegm|
                       |ent></segments><|
                       |/Curve></curvePr|
                       |operty></Edge></|
                       |directedEdge></F|
                       |ace></directedFa|
                       |ce></TopoSurface|
                       |>                |
总数目:3


-- Output again with custom prefix
SELECT feature_name||'-customprefix', topology.AsGML(feature, 'cstm')
 FROM features.land_parcels
 WHERE feature_name IN ('P1', 'P2', 'P3' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P1-customprefix        |<cstm:TopoSurface|
                       |><cstm:directedF|
                       |ace><cstm:Face c|
                       |stm:id="F3"><cst|
                       |m:directedEdge o|
                       |rientation="-"><|
                       |cstm:Edge cstm:i|
                       |d="E6"><cstm:dir|
                       |ectedNode orient|
                       |ation="-"><cstm:|
                       |Node cstm:id="N1|
                       |6"/></cstm:direc|
                       |tedNode><cstm:di|
                       |rectedNode><cstm|
                       |:Node cstm:id="N|
                       |17"/></cstm:dire|
                       |ctedNode><cstm:c|
                       |urveProperty><cs|
                       |tm:Curve srsName|
                       |="urn:ogc:def:cr|
                       |s:EPSG::4326"><c|
                       |stm:segments><cs|
                       |tm:LineStringSeg|
                       |ment><cstm:posLi|
                       |st srsDimension=|
                       |"2">9 22 21 22</|
                       |cstm:posList></c|
                       |stm:LineStringSe|
                       |gment></cstm:seg|
                       |ments></cstm:Cur|
                       |ve></cstm:curveP|
                       |roperty></cstm:E|
                       |dge></cstm:direc|
                       |tedEdge><cstm:di|
                       |rectedEdge><cstm|
                       |:Edge cstm:id="E|
                       |19"><cstm:direct|
                       |edNode orientati|
                       |on="-"><cstm:Nod|
                       |e cstm:id="N14"/|
                       |></cstm:directed|
                       |Node><cstm:direc|
                       |tedNode><cstm:No|
                       |de cstm:id="N17"|
                       |/></cstm:directe|
                       |dNode><cstm:curv|
                       |eProperty><cstm:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><cstm|
                       |:segments><cstm:|
                       |LineStringSegmen|
                       |t><cstm:posList |
                       |srsDimension="2"|
                       |>21 14 21 22</cs|
                       |tm:posList></cst|
                       |m:LineStringSegm|
                       |ent></cstm:segme|
                       |nts></cstm:Curve|
                       |></cstm:curvePro|
                       |perty></cstm:Edg|
                       |e></cstm:directe|
                       |dEdge><cstm:dire|
                       |ctedEdge><cstm:E|
                       |dge cstm:id="E9"|
                       |><cstm:directedN|
                       |ode orientation=|
                       |"-"><cstm:Node c|
                       |stm:id="N15"/></|
                       |cstm:directedNod|
                       |e><cstm:directed|
                       |Node><cstm:Node |
                       |cstm:id="N14"/><|
                       |/cstm:directedNo|
                       |de><cstm:curvePr|
                       |operty><cstm:Cur|
                       |ve srsName="urn:|
                       |ogc:def:crs:EPSG|
                       |::4326"><cstm:se|
                       |gments><cstm:Lin|
                       |eStringSegment><|
                       |cstm:posList srs|
                       |Dimension="2">9 |
                       |14 21 14</cstm:p|
                       |osList></cstm:Li|
                       |neStringSegment>|
                       |</cstm:segments>|
                       |</cstm:Curve></c|
                       |stm:curvePropert|
                       |y></cstm:Edge></|
                       |cstm:directedEdg|
                       |e><cstm:directed|
                       |Edge orientation|
                       |="-"><cstm:Edge |
                       |cstm:id="E21"><c|
                       |stm:directedNode|
                       | orientation="-"|
                       |><cstm:Node cstm|
                       |:id="N15"/></cst|
                       |m:directedNode><|
                       |cstm:directedNod|
                       |e><cstm:Node cst|
                       |m:id="N16"/></cs|
                       |tm:directedNode>|
                       |<cstm:curvePrope|
                       |rty><cstm:Curve |
                       |srsName="urn:ogc|
                       |:def:crs:EPSG::4|
                       |326"><cstm:segme|
                       |nts><cstm:LineSt|
                       |ringSegment><cst|
                       |m:posList srsDim|
                       |ension="2">9 14 |
                       |9 22</cstm:posLi|
                       |st></cstm:LineSt|
                       |ringSegment></cs|
                       |tm:segments></cs|
                       |tm:Curve></cstm:|
                       |curveProperty></|
                       |cstm:Edge></cstm|
                       |:directedEdge></|
                       |cstm:Face></cstm|
                       |:directedFace><c|
                       |stm:directedFace|
                       |><cstm:Face cstm|
                       |:id="F6"><cstm:d|
                       |irectedEdge orie|
                       |ntation="-"><cst|
                       |m:Edge cstm:id="|
                       |E9"><cstm:direct|
                       |edNode orientati|
                       |on="-"><cstm:Nod|
                       |e cstm:id="N15"/|
                       |></cstm:directed|
                       |Node><cstm:direc|
                       |tedNode><cstm:No|
                       |de cstm:id="N14"|
                       |/></cstm:directe|
                       |dNode><cstm:curv|
                       |eProperty><cstm:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><cstm|
                       |:segments><cstm:|
                       |LineStringSegmen|
                       |t><cstm:posList |
                       |srsDimension="2"|
                       |>9 14 21 14</cst|
                       |m:posList></cstm|
                       |:LineStringSegme|
                       |nt></cstm:segmen|
                       |ts></cstm:Curve>|
                       |</cstm:curveProp|
                       |erty></cstm:Edge|
                       |></cstm:directed|
                       |Edge><cstm:direc|
                       |tedEdge><cstm:Ed|
                       |ge cstm:id="E20"|
                       |><cstm:directedN|
                       |ode orientation=|
                       |"-"><cstm:Node c|
                       |stm:id="N9"/></c|
                       |stm:directedNode|
                       |><cstm:directedN|
                       |ode><cstm:Node c|
                       |stm:id="N14"/></|
                       |cstm:directedNod|
                       |e><cstm:curvePro|
                       |perty><cstm:Curv|
                       |e srsName="urn:o|
                       |gc:def:crs:EPSG:|
                       |:4326"><cstm:seg|
                       |ments><cstm:Line|
                       |StringSegment><c|
                       |stm:posList srsD|
                       |imension="2">21 |
                       |6 21 14</cstm:po|
                       |sList></cstm:Lin|
                       |eStringSegment><|
                       |/cstm:segments><|
                       |/cstm:Curve></cs|
                       |tm:curveProperty|
                       |></cstm:Edge></c|
                       |stm:directedEdge|
                       |><cstm:directedE|
                       |dge><cstm:Edge c|
                       |stm:id="E12"><cs|
                       |tm:directedNode |
                       |orientation="-">|
                       |<cstm:Node cstm:|
                       |id="N8"/></cstm:|
                       |directedNode><cs|
                       |tm:directedNode>|
                       |<cstm:Node cstm:|
                       |id="N9"/></cstm:|
                       |directedNode><cs|
                       |tm:curveProperty|
                       |><cstm:Curve srs|
                       |Name="urn:ogc:de|
                       |f:crs:EPSG::4326|
                       |"><cstm:segments|
                       |><cstm:LineStrin|
                       |gSegment><cstm:p|
                       |osList srsDimens|
                       |ion="2">9 6 21 6|
                       |</cstm:posList><|
                       |/cstm:LineString|
                       |Segment></cstm:s|
                       |egments></cstm:C|
                       |urve></cstm:curv|
                       |eProperty></cstm|
                       |:Edge></cstm:dir|
                       |ectedEdge><cstm:|
                       |directedEdge ori|
                       |entation="-"><cs|
                       |tm:Edge cstm:id=|
                       |"E22"><cstm:dire|
                       |ctedNode orienta|
                       |tion="-"><cstm:N|
                       |ode cstm:id="N8"|
                       |/></cstm:directe|
                       |dNode><cstm:dire|
                       |ctedNode><cstm:N|
                       |ode cstm:id="N15|
                       |"/></cstm:direct|
                       |edNode><cstm:cur|
                       |veProperty><cstm|
                       |:Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><cst|
                       |m:segments><cstm|
                       |:LineStringSegme|
                       |nt><cstm:posList|
                       | srsDimension="2|
                       |">9 6 9 14</cstm|
                       |:posList></cstm:|
                       |LineStringSegmen|
                       |t></cstm:segment|
                       |s></cstm:Curve><|
                       |/cstm:curvePrope|
                       |rty></cstm:Edge>|
                       |</cstm:directedE|
                       |dge></cstm:Face>|
                       |</cstm:directedF|
                       |ace></cstm:TopoS|
                       |urface>          |
----------------------------------------
P2-customprefix        |<cstm:TopoSurface|
                       |><cstm:directedF|
                       |ace><cstm:Face c|
                       |stm:id="F4"><cst|
                       |m:directedEdge o|
                       |rientation="-"><|
                       |cstm:Edge cstm:i|
                       |d="E7"><cstm:dir|
                       |ectedNode orient|
                       |ation="-"><cstm:|
                       |Node cstm:id="N1|
                       |7"/></cstm:direc|
                       |tedNode><cstm:di|
                       |rectedNode><cstm|
                       |:Node cstm:id="N|
                       |18"/></cstm:dire|
                       |ctedNode><cstm:c|
                       |urveProperty><cs|
                       |tm:Curve srsName|
                       |="urn:ogc:def:cr|
                       |s:EPSG::4326"><c|
                       |stm:segments><cs|
                       |tm:LineStringSeg|
                       |ment><cstm:posLi|
                       |st srsDimension=|
                       |"2">21 22 35 22<|
                       |/cstm:posList></|
                       |cstm:LineStringS|
                       |egment></cstm:se|
                       |gments></cstm:Cu|
                       |rve></cstm:curve|
                       |Property></cstm:|
                       |Edge></cstm:dire|
                       |ctedEdge><cstm:d|
                       |irectedEdge><cst|
                       |m:Edge cstm:id="|
                       |E17"><cstm:direc|
                       |tedNode orientat|
                       |ion="-"><cstm:No|
                       |de cstm:id="N13"|
                       |/></cstm:directe|
                       |dNode><cstm:dire|
                       |ctedNode><cstm:N|
                       |ode cstm:id="N18|
                       |"/></cstm:direct|
                       |edNode><cstm:cur|
                       |veProperty><cstm|
                       |:Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><cst|
                       |m:segments><cstm|
                       |:LineStringSegme|
                       |nt><cstm:posList|
                       | srsDimension="2|
                       |">35 14 35 22</c|
                       |stm:posList></cs|
                       |tm:LineStringSeg|
                       |ment></cstm:segm|
                       |ents></cstm:Curv|
                       |e></cstm:curvePr|
                       |operty></cstm:Ed|
                       |ge></cstm:direct|
                       |edEdge><cstm:dir|
                       |ectedEdge orient|
                       |ation="-"><cstm:|
                       |Edge cstm:id="E1|
                       |0"><cstm:directe|
                       |dNode orientatio|
                       |n="-"><cstm:Node|
                       | cstm:id="N13"/>|
                       |</cstm:directedN|
                       |ode><cstm:direct|
                       |edNode><cstm:Nod|
                       |e cstm:id="N14"/|
                       |></cstm:directed|
                       |Node><cstm:curve|
                       |Property><cstm:C|
                       |urve srsName="ur|
                       |n:ogc:def:crs:EP|
                       |SG::4326"><cstm:|
                       |segments><cstm:L|
                       |ineStringSegment|
                       |><cstm:posList s|
                       |rsDimension="2">|
                       |35 14 21 14</cst|
                       |m:posList></cstm|
                       |:LineStringSegme|
                       |nt></cstm:segmen|
                       |ts></cstm:Curve>|
                       |</cstm:curveProp|
                       |erty></cstm:Edge|
                       |></cstm:directed|
                       |Edge><cstm:direc|
                       |tedEdge orientat|
                       |ion="-"><cstm:Ed|
                       |ge cstm:id="E19"|
                       |><cstm:directedN|
                       |ode orientation=|
                       |"-"><cstm:Node c|
                       |stm:id="N14"/></|
                       |cstm:directedNod|
                       |e><cstm:directed|
                       |Node><cstm:Node |
                       |cstm:id="N17"/><|
                       |/cstm:directedNo|
                       |de><cstm:curvePr|
                       |operty><cstm:Cur|
                       |ve srsName="urn:|
                       |ogc:def:crs:EPSG|
                       |::4326"><cstm:se|
                       |gments><cstm:Lin|
                       |eStringSegment><|
                       |cstm:posList srs|
                       |Dimension="2">21|
                       | 14 21 22</cstm:|
                       |posList></cstm:L|
                       |ineStringSegment|
                       |></cstm:segments|
                       |></cstm:Curve></|
                       |cstm:curveProper|
                       |ty></cstm:Edge><|
                       |/cstm:directedEd|
                       |ge></cstm:Face><|
                       |/cstm:directedFa|
                       |ce><cstm:directe|
                       |dFace><cstm:Face|
                       | cstm:id="F7"><c|
                       |stm:directedEdge|
                       |><cstm:Edge cstm|
                       |:id="E10"><cstm:|
                       |directedNode ori|
                       |entation="-"><cs|
                       |tm:Node cstm:id=|
                       |"N13"/></cstm:di|
                       |rectedNode><cstm|
                       |:directedNode><c|
                       |stm:Node cstm:id|
                       |="N14"/></cstm:d|
                       |irectedNode><cst|
                       |m:curveProperty>|
                       |<cstm:Curve srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><cstm:segments>|
                       |<cstm:LineString|
                       |Segment><cstm:po|
                       |sList srsDimensi|
                       |on="2">35 14 21 |
                       |14</cstm:posList|
                       |></cstm:LineStri|
                       |ngSegment></cstm|
                       |:segments></cstm|
                       |:Curve></cstm:cu|
                       |rveProperty></cs|
                       |tm:Edge></cstm:d|
                       |irectedEdge><cst|
                       |m:directedEdge><|
                       |cstm:Edge cstm:i|
                       |d="E18"><cstm:di|
                       |rectedNode orien|
                       |tation="-"><cstm|
                       |:Node cstm:id="N|
                       |10"/></cstm:dire|
                       |ctedNode><cstm:d|
                       |irectedNode><cst|
                       |m:Node cstm:id="|
                       |N13"/></cstm:dir|
                       |ectedNode><cstm:|
                       |curveProperty><c|
                       |stm:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |cstm:segments><c|
                       |stm:LineStringSe|
                       |gment><cstm:posL|
                       |ist srsDimension|
                       |="2">35 6 35 14<|
                       |/cstm:posList></|
                       |cstm:LineStringS|
                       |egment></cstm:se|
                       |gments></cstm:Cu|
                       |rve></cstm:curve|
                       |Property></cstm:|
                       |Edge></cstm:dire|
                       |ctedEdge><cstm:d|
                       |irectedEdge><cst|
                       |m:Edge cstm:id="|
                       |E13"><cstm:direc|
                       |tedNode orientat|
                       |ion="-"><cstm:No|
                       |de cstm:id="N9"/|
                       |></cstm:directed|
                       |Node><cstm:direc|
                       |tedNode><cstm:No|
                       |de cstm:id="N10"|
                       |/></cstm:directe|
                       |dNode><cstm:curv|
                       |eProperty><cstm:|
                       |Curve srsName="u|
                       |rn:ogc:def:crs:E|
                       |PSG::4326"><cstm|
                       |:segments><cstm:|
                       |LineStringSegmen|
                       |t><cstm:posList |
                       |srsDimension="2"|
                       |>21 6 35 6</cstm|
                       |:posList></cstm:|
                       |LineStringSegmen|
                       |t></cstm:segment|
                       |s></cstm:Curve><|
                       |/cstm:curvePrope|
                       |rty></cstm:Edge>|
                       |</cstm:directedE|
                       |dge><cstm:direct|
                       |edEdge orientati|
                       |on="-"><cstm:Edg|
                       |e cstm:id="E20">|
                       |<cstm:directedNo|
                       |de orientation="|
                       |-"><cstm:Node cs|
                       |tm:id="N9"/></cs|
                       |tm:directedNode>|
                       |<cstm:directedNo|
                       |de><cstm:Node cs|
                       |tm:id="N14"/></c|
                       |stm:directedNode|
                       |><cstm:curveProp|
                       |erty><cstm:Curve|
                       | srsName="urn:og|
                       |c:def:crs:EPSG::|
                       |4326"><cstm:segm|
                       |ents><cstm:LineS|
                       |tringSegment><cs|
                       |tm:posList srsDi|
                       |mension="2">21 6|
                       | 21 14</cstm:pos|
                       |List></cstm:Line|
                       |StringSegment></|
                       |cstm:segments></|
                       |cstm:Curve></cst|
                       |m:curveProperty>|
                       |</cstm:Edge></cs|
                       |tm:directedEdge>|
                       |</cstm:Face></cs|
                       |tm:directedFace>|
                       |</cstm:TopoSurfa|
                       |ce>              |
----------------------------------------
P3-customprefix        |<cstm:TopoSurface|
                       |><cstm:directedF|
                       |ace><cstm:Face c|
                       |stm:id="F5"><cst|
                       |m:directedEdge o|
                       |rientation="-"><|
                       |cstm:Edge cstm:i|
                       |d="E8"><cstm:dir|
                       |ectedNode orient|
                       |ation="-"><cstm:|
                       |Node cstm:id="N1|
                       |8"/></cstm:direc|
                       |tedNode><cstm:di|
                       |rectedNode><cstm|
                       |:Node cstm:id="N|
                       |19"/></cstm:dire|
                       |ctedNode><cstm:c|
                       |urveProperty><cs|
                       |tm:Curve srsName|
                       |="urn:ogc:def:cr|
                       |s:EPSG::4326"><c|
                       |stm:segments><cs|
                       |tm:LineStringSeg|
                       |ment><cstm:posLi|
                       |st srsDimension=|
                       |"2">35 22 47 22<|
                       |/cstm:posList></|
                       |cstm:LineStringS|
                       |egment></cstm:se|
                       |gments></cstm:Cu|
                       |rve></cstm:curve|
                       |Property></cstm:|
                       |Edge></cstm:dire|
                       |ctedEdge><cstm:d|
                       |irectedEdge><cst|
                       |m:Edge cstm:id="|
                       |E15"><cstm:direc|
                       |tedNode orientat|
                       |ion="-"><cstm:No|
                       |de cstm:id="N12"|
                       |/></cstm:directe|
                       |dNode><cstm:dire|
                       |ctedNode><cstm:N|
                       |ode cstm:id="N19|
                       |"/></cstm:direct|
                       |edNode><cstm:cur|
                       |veProperty><cstm|
                       |:Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><cst|
                       |m:segments><cstm|
                       |:LineStringSegme|
                       |nt><cstm:posList|
                       | srsDimension="2|
                       |">47 14 47 22</c|
                       |stm:posList></cs|
                       |tm:LineStringSeg|
                       |ment></cstm:segm|
                       |ents></cstm:Curv|
                       |e></cstm:curvePr|
                       |operty></cstm:Ed|
                       |ge></cstm:direct|
                       |edEdge><cstm:dir|
                       |ectedEdge><cstm:|
                       |Edge cstm:id="E1|
                       |1"><cstm:directe|
                       |dNode orientatio|
                       |n="-"><cstm:Node|
                       | cstm:id="N13"/>|
                       |</cstm:directedN|
                       |ode><cstm:direct|
                       |edNode><cstm:Nod|
                       |e cstm:id="N12"/|
                       |></cstm:directed|
                       |Node><cstm:curve|
                       |Property><cstm:C|
                       |urve srsName="ur|
                       |n:ogc:def:crs:EP|
                       |SG::4326"><cstm:|
                       |segments><cstm:L|
                       |ineStringSegment|
                       |><cstm:posList s|
                       |rsDimension="2">|
                       |35 14 47 14</cst|
                       |m:posList></cstm|
                       |:LineStringSegme|
                       |nt></cstm:segmen|
                       |ts></cstm:Curve>|
                       |</cstm:curveProp|
                       |erty></cstm:Edge|
                       |></cstm:directed|
                       |Edge><cstm:direc|
                       |tedEdge orientat|
                       |ion="-"><cstm:Ed|
                       |ge cstm:id="E17"|
                       |><cstm:directedN|
                       |ode orientation=|
                       |"-"><cstm:Node c|
                       |stm:id="N13"/></|
                       |cstm:directedNod|
                       |e><cstm:directed|
                       |Node><cstm:Node |
                       |cstm:id="N18"/><|
                       |/cstm:directedNo|
                       |de><cstm:curvePr|
                       |operty><cstm:Cur|
                       |ve srsName="urn:|
                       |ogc:def:crs:EPSG|
                       |::4326"><cstm:se|
                       |gments><cstm:Lin|
                       |eStringSegment><|
                       |cstm:posList srs|
                       |Dimension="2">35|
                       | 14 35 22</cstm:|
                       |posList></cstm:L|
                       |ineStringSegment|
                       |></cstm:segments|
                       |></cstm:Curve></|
                       |cstm:curveProper|
                       |ty></cstm:Edge><|
                       |/cstm:directedEd|
                       |ge></cstm:Face><|
                       |/cstm:directedFa|
                       |ce><cstm:directe|
                       |dFace><cstm:Face|
                       | cstm:id="F8"><c|
                       |stm:directedEdge|
                       | orientation="-"|
                       |><cstm:Edge cstm|
                       |:id="E11"><cstm:|
                       |directedNode ori|
                       |entation="-"><cs|
                       |tm:Node cstm:id=|
                       |"N13"/></cstm:di|
                       |rectedNode><cstm|
                       |:directedNode><c|
                       |stm:Node cstm:id|
                       |="N12"/></cstm:d|
                       |irectedNode><cst|
                       |m:curveProperty>|
                       |<cstm:Curve srsN|
                       |ame="urn:ogc:def|
                       |:crs:EPSG::4326"|
                       |><cstm:segments>|
                       |<cstm:LineString|
                       |Segment><cstm:po|
                       |sList srsDimensi|
                       |on="2">35 14 47 |
                       |14</cstm:posList|
                       |></cstm:LineStri|
                       |ngSegment></cstm|
                       |:segments></cstm|
                       |:Curve></cstm:cu|
                       |rveProperty></cs|
                       |tm:Edge></cstm:d|
                       |irectedEdge><cst|
                       |m:directedEdge><|
                       |cstm:Edge cstm:i|
                       |d="E16"><cstm:di|
                       |rectedNode orien|
                       |tation="-"><cstm|
                       |:Node cstm:id="N|
                       |11"/></cstm:dire|
                       |ctedNode><cstm:d|
                       |irectedNode><cst|
                       |m:Node cstm:id="|
                       |N12"/></cstm:dir|
                       |ectedNode><cstm:|
                       |curveProperty><c|
                       |stm:Curve srsNam|
                       |e="urn:ogc:def:c|
                       |rs:EPSG::4326"><|
                       |cstm:segments><c|
                       |stm:LineStringSe|
                       |gment><cstm:posL|
                       |ist srsDimension|
                       |="2">47 6 47 14<|
                       |/cstm:posList></|
                       |cstm:LineStringS|
                       |egment></cstm:se|
                       |gments></cstm:Cu|
                       |rve></cstm:curve|
                       |Property></cstm:|
                       |Edge></cstm:dire|
                       |ctedEdge><cstm:d|
                       |irectedEdge><cst|
                       |m:Edge cstm:id="|
                       |E14"><cstm:direc|
                       |tedNode orientat|
                       |ion="-"><cstm:No|
                       |de cstm:id="N10"|
                       |/></cstm:directe|
                       |dNode><cstm:dire|
                       |ctedNode><cstm:N|
                       |ode cstm:id="N11|
                       |"/></cstm:direct|
                       |edNode><cstm:cur|
                       |veProperty><cstm|
                       |:Curve srsName="|
                       |urn:ogc:def:crs:|
                       |EPSG::4326"><cst|
                       |m:segments><cstm|
                       |:LineStringSegme|
                       |nt><cstm:posList|
                       | srsDimension="2|
                       |">35 6 47 6</cst|
                       |m:posList></cstm|
                       |:LineStringSegme|
                       |nt></cstm:segmen|
                       |ts></cstm:Curve>|
                       |</cstm:curveProp|
                       |erty></cstm:Edge|
                       |></cstm:directed|
                       |Edge><cstm:direc|
                       |tedEdge orientat|
                       |ion="-"><cstm:Ed|
                       |ge cstm:id="E18"|
                       |><cstm:directedN|
                       |ode orientation=|
                       |"-"><cstm:Node c|
                       |stm:id="N10"/></|
                       |cstm:directedNod|
                       |e><cstm:directed|
                       |Node><cstm:Node |
                       |cstm:id="N13"/><|
                       |/cstm:directedNo|
                       |de><cstm:curvePr|
                       |operty><cstm:Cur|
                       |ve srsName="urn:|
                       |ogc:def:crs:EPSG|
                       |::4326"><cstm:se|
                       |gments><cstm:Lin|
                       |eStringSegment><|
                       |cstm:posList srs|
                       |Dimension="2">35|
                       | 6 35 14</cstm:p|
                       |osList></cstm:Li|
                       |neStringSegment>|
                       |</cstm:segments>|
                       |</cstm:Curve></c|
                       |stm:curvePropert|
                       |y></cstm:Edge></|
                       |cstm:directedEdg|
                       |e></cstm:Face></|
                       |cstm:directedFac|
                       |e></cstm:TopoSur|
                       |face>            |
总数目:3

--- } Areal multi-element

--- { Visited table bookkeeping

CREATE TABLE visited (element_type int, element_id int);


-- R2 visits E4,E5
--           N5,N6,N7
SELECT feature_name||'-visited', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass) FROM features.city_streets
       WHERE feature_name IN ('R2')
       ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R2-visited             |<TopoCurve><direc|
                       |tedEdge><Edge id|
                       |="E4"><directedN|
                       |ode orientation=|
                       |"-"><Node id="N5|
                       |"/></directedNod|
                       |e><directedNode>|
                       |<Node id="N6"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="EPS|
                       |G:4326"><segment|
                       |s><LineStringSeg|
                       |ment><posList>36|
                       | 38 38 35 41 34 |
                       |42 33 45 32 47 2|
                       |8 50 28 52 32 57|
                       | 33</posList></L|
                       |ineStringSegment|
                       |></segments></Cu|
                       |rve></curvePrope|
                       |rty></Edge></dir|
                       |ectedEdge><direc|
                       |tedEdge orientat|
                       |ion="-"><Edge id|
                       |="E5"><directedN|
                       |ode orientation=|
                       |"-"><Node id="N7|
                       |"/></directedNod|
                       |e><directedNode |
                       |xlink:href="#N6"|
                       | /><curvePropert|
                       |y><Curve srsName|
                       |="EPSG:4326"><se|
                       |gments><LineStri|
                       |ngSegment><posLi|
                       |st>41 40 45 40 4|
                       |7 42 62 41 61 38|
                       | 59 39 57 36 57 |
                       |33</posList></Li|
                       |neStringSegment>|
                       |</segments></Cur|
                       |ve></curveProper|
                       |ty></Edge></dire|
                       |ctedEdge></TopoC|
                       |urve>            |
总数目:1


-- S1 visits N14
-- S3 visits (N6)
SELECT feature_name||'-visited', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass) FROM features.traffic_signs
       WHERE feature_name IN ('S1', 'S3')
       ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
S1-visited             |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N14"><pointPro|
                       |perty><Point srs|
                       |Name="EPSG:4326"|
                       |><pos>21 14</pos|
                       |></Point></point|
                       |Property></Node>|
                       |</directedNode><|
                       |/TopoPoint>      |
----------------------------------------
S3-visited             |<TopoPoint><direc|
                       |tedNode xlink:hr|
                       |ef="#N6" /></Top|
                       |oPoint>          |
总数目:2


-- R1 visits E9,E10,
--           N13,(N14),N15
SELECT feature_name||'-visited', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass) FROM features.city_streets
       WHERE feature_name IN ('R1');
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
R1-visited             |<TopoCurve><direc|
                       |tedEdge><Edge id|
                       |="E9"><directedN|
                       |ode orientation=|
                       |"-"><Node id="N1|
                       |5"/></directedNo|
                       |de><directedNode|
                       | xlink:href="#N1|
                       |4" /><curvePrope|
                       |rty><Curve srsNa|
                       |me="EPSG:4326"><|
                       |segments><LineSt|
                       |ringSegment><pos|
                       |List>9 14 21 14<|
                       |/posList></LineS|
                       |tringSegment></s|
                       |egments></Curve>|
                       |</curveProperty>|
                       |</Edge></directe|
                       |dEdge><directedE|
                       |dge orientation=|
                       |"-"><Edge id="E1|
                       |0"><directedNode|
                       | orientation="-"|
                       |><Node id="N13"/|
                       |></directedNode>|
                       |<directedNode xl|
                       |ink:href="#N14" |
                       |/><curveProperty|
                       |><Curve srsName=|
                       |"EPSG:4326"><seg|
                       |ments><LineStrin|
                       |gSegment><posLis|
                       |t>35 14 21 14</p|
                       |osList></LineStr|
                       |ingSegment></seg|
                       |ments></Curve></|
                       |curveProperty></|
                       |Edge></directedE|
                       |dge></TopoCurve> |
总数目:1


-- N1N6N14 visits N1,(N6),(N14)
SELECT feature_name||'-visited', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass) FROM features.traffic_signs
       WHERE feature_name IN ('N1N6N14')
       ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
N1N6N14-visited        |<TopoPoint><direc|
                       |tedNode><Node id|
                       |="N1"><pointProp|
                       |erty><Point srsN|
                       |ame="EPSG:4326">|
                       |<pos>8 30</pos><|
                       |/Point></pointPr|
                       |operty></Node></|
                       |directedNode><di|
                       |rectedNode xlink|
                       |:href="#N6" /><d|
                       |irectedNode xlin|
                       |k:href="#N14" />|
                       |</TopoPoint>     |
总数目:1


SELECT feature_name||'-visited', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass) FROM features.land_parcels
        WHERE feature_name IN ('P1', 'P2')
        ORDER BY feature_name;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P1-visited             |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="F3"><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E6"><directedNod|
                       |e orientation="-|
                       |"><Node id="N16"|
                       |/></directedNode|
                       |><directedNode><|
                       |Node id="N17"/><|
                       |/directedNode><c|
                       |urveProperty><Cu|
                       |rve srsName="EPS|
                       |G:4326"><segment|
                       |s><LineStringSeg|
                       |ment><posList>9 |
                       |22 21 22</posLis|
                       |t></LineStringSe|
                       |gment></segments|
                       |></Curve></curve|
                       |Property></Edge>|
                       |</directedEdge><|
                       |directedEdge><Ed|
                       |ge id="E19"><dir|
                       |ectedNode orient|
                       |ation="-" xlink:|
                       |href="#N14" /><d|
                       |irectedNode xlin|
                       |k:href="#N17" />|
                       |<curveProperty><|
                       |Curve srsName="E|
                       |PSG:4326"><segme|
                       |nts><LineStringS|
                       |egment><posList>|
                       |21 14 21 22</pos|
                       |List></LineStrin|
                       |gSegment></segme|
                       |nts></Curve></cu|
                       |rveProperty></Ed|
                       |ge></directedEdg|
                       |e><directedEdge |
                       |xlink:href="#E9"|
                       | /><directedEdge|
                       | orientation="-"|
                       |><Edge id="E21">|
                       |<directedNode or|
                       |ientation="-" xl|
                       |ink:href="#N15" |
                       |/><directedNode |
                       |xlink:href="#N16|
                       |" /><curveProper|
                       |ty><Curve srsNam|
                       |e="EPSG:4326"><s|
                       |egments><LineStr|
                       |ingSegment><posL|
                       |ist>9 14 9 22</p|
                       |osList></LineStr|
                       |ingSegment></seg|
                       |ments></Curve></|
                       |curveProperty></|
                       |Edge></directedE|
                       |dge></Face></dir|
                       |ectedFace><direc|
                       |tedFace><Face id|
                       |="F6"><directedE|
                       |dge orientation=|
                       |"-" xlink:href="|
                       |#E9" /><directed|
                       |Edge><Edge id="E|
                       |20"><directedNod|
                       |e orientation="-|
                       |"><Node id="N9"/|
                       |></directedNode>|
                       |<directedNode xl|
                       |ink:href="#N14" |
                       |/><curveProperty|
                       |><Curve srsName=|
                       |"EPSG:4326"><seg|
                       |ments><LineStrin|
                       |gSegment><posLis|
                       |t>21 6 21 14</po|
                       |sList></LineStri|
                       |ngSegment></segm|
                       |ents></Curve></c|
                       |urveProperty></E|
                       |dge></directedEd|
                       |ge><directedEdge|
                       |><Edge id="E12">|
                       |<directedNode or|
                       |ientation="-"><N|
                       |ode id="N8"/></d|
                       |irectedNode><dir|
                       |ectedNode xlink:|
                       |href="#N9" /><cu|
                       |rveProperty><Cur|
                       |ve srsName="EPSG|
                       |:4326"><segments|
                       |><LineStringSegm|
                       |ent><posList>9 6|
                       | 21 6</posList><|
                       |/LineStringSegme|
                       |nt></segments></|
                       |Curve></curvePro|
                       |perty></Edge></d|
                       |irectedEdge><dir|
                       |ectedEdge orient|
                       |ation="-"><Edge |
                       |id="E22"><direct|
                       |edNode orientati|
                       |on="-" xlink:hre|
                       |f="#N8" /><direc|
                       |tedNode xlink:hr|
                       |ef="#N15" /><cur|
                       |veProperty><Curv|
                       |e srsName="EPSG:|
                       |4326"><segments>|
                       |<LineStringSegme|
                       |nt><posList>9 6 |
                       |9 14</posList></|
                       |LineStringSegmen|
                       |t></segments></C|
                       |urve></curveProp|
                       |erty></Edge></di|
                       |rectedEdge></Fac|
                       |e></directedFace|
                       |></TopoSurface>  |
----------------------------------------
P2-visited             |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="F4"><directe|
                       |dEdge orientatio|
                       |n="-"><Edge id="|
                       |E7"><directedNod|
                       |e orientation="-|
                       |" xlink:href="#N|
                       |17" /><directedN|
                       |ode><Node id="N1|
                       |8"/></directedNo|
                       |de><curvePropert|
                       |y><Curve srsName|
                       |="EPSG:4326"><se|
                       |gments><LineStri|
                       |ngSegment><posLi|
                       |st>21 22 35 22</|
                       |posList></LineSt|
                       |ringSegment></se|
                       |gments></Curve><|
                       |/curveProperty><|
                       |/Edge></directed|
                       |Edge><directedEd|
                       |ge><Edge id="E17|
                       |"><directedNode |
                       |orientation="-" |
                       |xlink:href="#N13|
                       |" /><directedNod|
                       |e xlink:href="#N|
                       |18" /><curveProp|
                       |erty><Curve srsN|
                       |ame="EPSG:4326">|
                       |<segments><LineS|
                       |tringSegment><po|
                       |sList>35 14 35 2|
                       |2</posList></Lin|
                       |eStringSegment><|
                       |/segments></Curv|
                       |e></curvePropert|
                       |y></Edge></direc|
                       |tedEdge><directe|
                       |dEdge orientatio|
                       |n="-" xlink:href|
                       |="#E10" /><direc|
                       |tedEdge orientat|
                       |ion="-" xlink:hr|
                       |ef="#E19" /></Fa|
                       |ce></directedFac|
                       |e><directedFace>|
                       |<Face id="F7"><d|
                       |irectedEdge xlin|
                       |k:href="#E10" />|
                       |<directedEdge><E|
                       |dge id="E18"><di|
                       |rectedNode orien|
                       |tation="-"><Node|
                       | id="N10"/></dir|
                       |ectedNode><direc|
                       |tedNode xlink:hr|
                       |ef="#N13" /><cur|
                       |veProperty><Curv|
                       |e srsName="EPSG:|
                       |4326"><segments>|
                       |<LineStringSegme|
                       |nt><posList>35 6|
                       | 35 14</posList>|
                       |</LineStringSegm|
                       |ent></segments><|
                       |/Curve></curvePr|
                       |operty></Edge></|
                       |directedEdge><di|
                       |rectedEdge><Edge|
                       | id="E13"><direc|
                       |tedNode orientat|
                       |ion="-" xlink:hr|
                       |ef="#N9" /><dire|
                       |ctedNode xlink:h|
                       |ref="#N10" /><cu|
                       |rveProperty><Cur|
                       |ve srsName="EPSG|
                       |:4326"><segments|
                       |><LineStringSegm|
                       |ent><posList>21 |
                       |6 35 6</posList>|
                       |</LineStringSegm|
                       |ent></segments><|
                       |/Curve></curvePr|
                       |operty></Edge></|
                       |directedEdge><di|
                       |rectedEdge orien|
                       |tation="-" xlink|
                       |:href="#E20" /><|
                       |/Face></directed|
                       |Face></TopoSurfa|
                       |ce>              |
总数目:2


-- F3F4 visits (F3),(F4)
SELECT feature_name||'-visited', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass) FROM features.land_parcels
       WHERE feature_name IN ('F3F4')
       ORDER BY feature_name DESC;
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
F3F4-visited           |<TopoSurface><dir|
                       |ectedFace xlink:|
                       |href="#F3" /><di|
                       |rectedFace xlink|
                       |:href="#F4" /></|
                       |TopoSurface>     |
总数目:1


-- E7E8 visits: (E7),E8
--              (N17),(N18),N19
SELECT feature_name||'-visited', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass) FROM features.city_streets
       WHERE feature_name IN ('E7E8');
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
E7E8-visited           |<TopoCurve><direc|
                       |tedEdge xlink:hr|
                       |ef="#E7" /><dire|
                       |ctedEdge><Edge i|
                       |d="E8"><directed|
                       |Node orientation|
                       |="-" xlink:href=|
                       |"#N18" /><direct|
                       |edNode><Node id=|
                       |"N19"/></directe|
                       |dNode><curveProp|
                       |erty><Curve srsN|
                       |ame="EPSG:4326">|
                       |<segments><LineS|
                       |tringSegment><po|
                       |sList>35 22 47 2|
                       |2</posList></Lin|
                       |eStringSegment><|
                       |/segments></Curv|
                       |e></curvePropert|
                       |y></Edge></direc|
                       |tedEdge></TopoCu|
                       |rve>             |
总数目:1


-- Test custom identifier prefix
-- P3 visits (E18),(E17),(E8),E15,E16,E14
--           (N10),(N13),(N18),N19,N12,N11
SELECT feature_name||'-visited-idprefix', topology.AsGML(feature,
       '', 15, 2, 'visited'::regclass, 'cd-') FROM features.land_parcels
       WHERE feature_name IN ('P3');
?COLUMN?(varchar)      |ASGML(text)      |
----------------------------------------
P3-visited-idprefix    |<TopoSurface><dir|
                       |ectedFace><Face |
                       |id="cd-F5"><dire|
                       |ctedEdge orienta|
                       |tion="-" xlink:h|
                       |ref="#cd-E8" /><|
                       |directedEdge><Ed|
                       |ge id="cd-E15"><|
                       |directedNode ori|
                       |entation="-"><No|
                       |de id="cd-N12"/>|
                       |</directedNode><|
                       |directedNode xli|
                       |nk:href="#cd-N19|
                       |" /><curveProper|
                       |ty><Curve srsNam|
                       |e="EPSG:4326"><s|
                       |egments><LineStr|
                       |ingSegment><posL|
                       |ist>47 14 47 22<|
                       |/posList></LineS|
                       |tringSegment></s|
                       |egments></Curve>|
                       |</curveProperty>|
                       |</Edge></directe|
                       |dEdge><directedE|
                       |dge><Edge id="cd|
                       |-E11"><directedN|
                       |ode orientation=|
                       |"-" xlink:href="|
                       |#cd-N13" /><dire|
                       |ctedNode xlink:h|
                       |ref="#cd-N12" />|
                       |<curveProperty><|
                       |Curve srsName="E|
                       |PSG:4326"><segme|
                       |nts><LineStringS|
                       |egment><posList>|
                       |35 14 47 14</pos|
                       |List></LineStrin|
                       |gSegment></segme|
                       |nts></Curve></cu|
                       |rveProperty></Ed|
                       |ge></directedEdg|
                       |e><directedEdge |
                       |orientation="-" |
                       |xlink:href="#cd-|
                       |E17" /></Face></|
                       |directedFace><di|
                       |rectedFace><Face|
                       | id="cd-F8"><dir|
                       |ectedEdge orient|
                       |ation="-" xlink:|
                       |href="#cd-E11" /|
                       |><directedEdge><|
                       |Edge id="cd-E16"|
                       |><directedNode o|
                       |rientation="-"><|
                       |Node id="cd-N11"|
                       |/></directedNode|
                       |><directedNode x|
                       |link:href="#cd-N|
                       |12" /><curveProp|
                       |erty><Curve srsN|
                       |ame="EPSG:4326">|
                       |<segments><LineS|
                       |tringSegment><po|
                       |sList>47 6 47 14|
                       |</posList></Line|
                       |StringSegment></|
                       |segments></Curve|
                       |></curveProperty|
                       |></Edge></direct|
                       |edEdge><directed|
                       |Edge><Edge id="c|
                       |d-E14"><directed|
                       |Node orientation|
                       |="-" xlink:href=|
                       |"#cd-N10" /><dir|
                       |ectedNode xlink:|
                       |href="#cd-N11" /|
                       |><curveProperty>|
                       |<Curve srsName="|
                       |EPSG:4326"><segm|
                       |ents><LineString|
                       |Segment><posList|
                       |>35 6 47 6</posL|
                       |ist></LineString|
                       |Segment></segmen|
                       |ts></Curve></cur|
                       |veProperty></Edg|
                       |e></directedEdge|
                       |><directedEdge o|
                       |rientation="-" x|
                       |link:href="#cd-E|
                       |18" /></Face></d|
                       |irectedFace></To|
                       |poSurface>       |
总数目:1


--- } Visited table bookkeeping

--- { GML2 output

-- Output in GML2
SELECT feature_name||'-gml2' as name, topology.AsGML(feature,'',0,2,NULL,'',2)
 FROM features.city_streets
 WHERE feature_name IN ('R1', 'R2', 'R3', 'R4' )
UNION
SELECT feature_name||'-gml2', topology.AsGML(feature,'',0,2,NULL,'',2)
 FROM features.traffic_signs
 WHERE feature_name IN ('S1', 'S2', 'S3', 'S4' )
ORDER BY name;
NAME(varchar)      |ASGML(text)      |
------------------------------------
R1-gml2            |<TopoCurve><direc|
                   |tedEdge><Edge id|
                   |="E9"><directedN|
                   |ode orientation=|
                   |"-"><Node id="N1|
                   |5"/></directedNo|
                   |de><directedNode|
                   |><Node id="N14"/|
                   |></directedNode>|
                   |<curveProperty><|
                   |LineString srsNa|
                   |me="EPSG:4326"><|
                   |coordinates>9,14|
                   | 21,14</coordina|
                   |tes></LineString|
                   |></curveProperty|
                   |></Edge></direct|
                   |edEdge><directed|
                   |Edge orientation|
                   |="-"><Edge id="E|
                   |10"><directedNod|
                   |e orientation="-|
                   |"><Node id="N13"|
                   |/></directedNode|
                   |><directedNode><|
                   |Node id="N14"/><|
                   |/directedNode><c|
                   |urveProperty><Li|
                   |neString srsName|
                   |="EPSG:4326"><co|
                   |ordinates>35,14 |
                   |21,14</coordinat|
                   |es></LineString>|
                   |</curveProperty>|
                   |</Edge></directe|
                   |dEdge></TopoCurv|
                   |e>               |
------------------------------------
R2-gml2            |<TopoCurve><direc|
                   |tedEdge><Edge id|
                   |="E4"><directedN|
                   |ode orientation=|
                   |"-"><Node id="N5|
                   |"/></directedNod|
                   |e><directedNode>|
                   |<Node id="N6"/><|
                   |/directedNode><c|
                   |urveProperty><Li|
                   |neString srsName|
                   |="EPSG:4326"><co|
                   |ordinates>36,38 |
                   |38,35 41,34 42,3|
                   |3 45,32 47,28 50|
                   |,28 52,32 57,33<|
                   |/coordinates></L|
                   |ineString></curv|
                   |eProperty></Edge|
                   |></directedEdge>|
                   |<directedEdge or|
                   |ientation="-"><E|
                   |dge id="E5"><dir|
                   |ectedNode orient|
                   |ation="-"><Node |
                   |id="N7"/></direc|
                   |tedNode><directe|
                   |dNode><Node id="|
                   |N6"/></directedN|
                   |ode><curveProper|
                   |ty><LineString s|
                   |rsName="EPSG:432|
                   |6"><coordinates>|
                   |41,40 45,40 47,4|
                   |2 62,41 61,38 59|
                   |,39 57,36 57,33<|
                   |/coordinates></L|
                   |ineString></curv|
                   |eProperty></Edge|
                   |></directedEdge>|
                   |</TopoCurve>     |
------------------------------------
R3-gml2            |<TopoCurve><direc|
                   |tedEdge><Edge id|
                   |="E25"><directed|
                   |Node orientation|
                   |="-"><Node id="N|
                   |21"/></directedN|
                   |ode><directedNod|
                   |e><Node id="N22"|
                   |/></directedNode|
                   |><curveProperty>|
                   |<LineString srsN|
                   |ame="EPSG:4326">|
                   |<coordinates>9,3|
                   |5 13,35</coordin|
                   |ates></LineStrin|
                   |g></curvePropert|
                   |y></Edge></direc|
                   |tedEdge></TopoCu|
                   |rve>             |
------------------------------------
R4-gml2            |<TopoCurve><direc|
                   |tedEdge><Edge id|
                   |="E3"><directedN|
                   |ode orientation=|
                   |"-"><Node id="N2|
                   |"/></directedNod|
                   |e><directedNode>|
                   |<Node id="N3"/><|
                   |/directedNode><c|
                   |urveProperty><Li|
                   |neString srsName|
                   |="EPSG:4326"><co|
                   |ordinates>25,30 |
                   |25,35</coordinat|
                   |es></LineString>|
                   |</curveProperty>|
                   |</Edge></directe|
                   |dEdge></TopoCurv|
                   |e>               |
------------------------------------
S1-gml2            |<TopoPoint><direc|
                   |tedNode><Node id|
                   |="N14"><pointPro|
                   |perty><Point srs|
                   |Name="EPSG:4326"|
                   |><coordinates>21|
                   |,14</coordinates|
                   |></Point></point|
                   |Property></Node>|
                   |</directedNode><|
                   |/TopoPoint>      |
------------------------------------
S2-gml2            |<TopoPoint><direc|
                   |tedNode><Node id|
                   |="N13"><pointPro|
                   |perty><Point srs|
                   |Name="EPSG:4326"|
                   |><coordinates>35|
                   |,14</coordinates|
                   |></Point></point|
                   |Property></Node>|
                   |</directedNode><|
                   |/TopoPoint>      |
------------------------------------
S3-gml2            |<TopoPoint><direc|
                   |tedNode><Node id|
                   |="N6"><pointProp|
                   |erty><Point srsN|
                   |ame="EPSG:4326">|
                   |<coordinates>57,|
                   |33</coordinates>|
                   |</Point></pointP|
                   |roperty></Node><|
                   |/directedNode></|
                   |TopoPoint>       |
------------------------------------
S4-gml2            |<TopoPoint><direc|
                   |tedNode><Node id|
                   |="N4"><pointProp|
                   |erty><Point srsN|
                   |ame="EPSG:4326">|
                   |<coordinates>20,|
                   |37</coordinates>|
                   |</Point></pointP|
                   |roperty></Node><|
                   |/directedNode></|
                   |TopoPoint>       |
总数目:8


--- } GML2 output

AsTopoJSON

AsTopoJSON — 返回拓扑几何的 TopoJSON 表示形式。

语法

astopojson ::=

参数

tg

topogeometry 类型。

edgeMapTable

regclass 类型。

返回值

返回值为 topogeometry 类型。

示例

-- Lineal non-hierarchical
SELECT 'L1-vanilla', feature_name, topology.AsTopoJSON(feature, NULL)
 FROM features.city_streets
 WHERE feature_name IN ('R3', 'R4', 'R1', 'R2' )
 ORDER BY feature_name;   
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
L1-vanilla             |R1                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[9,-1|
                       |                           |1]]}                  |
------------------------------------------------------------------------
L1-vanilla             |R2                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[4,-6|
                       |                           |]]}                   |
------------------------------------------------------------------------
L1-vanilla             |R3                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[25]]|
                       |                           |}                     |
------------------------------------------------------------------------
L1-vanilla             |R4                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[3]]} |
总数目:4


-- Lineal hierarchical
SELECT 'L2-vanilla', feature_name, topology.AsTopoJSON(feature, NULL)
 FROM features.big_streets
 WHERE feature_name IN ('R4', 'R1R2' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
L2-vanilla             |R1R2                       |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[9,-1|
                       |                           |1],[4,-6]]}           |
------------------------------------------------------------------------
L2-vanilla             |R4                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[3]]} |
总数目:2


-- Areal non-hierarchical
SELECT 'A1-vanilla', feature_name, topology.AsTopoJSON(feature, NULL)
 FROM features.land_parcels
 WHERE feature_name IN ('P1', 'P2', 'P3', 'P4', 'P5' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
A1-vanilla             |P1                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[21,20,|
                       |                           |5,-19,-20,-12]]]}     |
------------------------------------------------------------------------
A1-vanilla             |P2                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[19,18,|
                       |                           |6,-17,-18,-13]]]}     |
------------------------------------------------------------------------
A1-vanilla             |P3                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[17,16,|
                       |                           |7,-15,-16,-14]]]}     |
------------------------------------------------------------------------
A1-vanilla             |P4                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[-2]]]} |
------------------------------------------------------------------------
A1-vanilla             |P5                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[-1],[2|
                       |                           |5]]]}                 |
总数目:5


-- Areal hierarchical
SELECT 'A2-vanilla', feature_name, topology.AsTopoJSON(feature, NULL)
 FROM features.big_parcels
 WHERE feature_name IN ('P1P2', 'P3P4')
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
A2-vanilla             |P1P2                       |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[21,20,|
                       |                           |5,6,-17,-18,-13,-12]]|
                       |                           |]}                    |
------------------------------------------------------------------------
A2-vanilla             |P3P4                       |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[-2]],[|
                       |                           |[17,16,7,-15,-16,-14]|
                       |                           |]]}                   |
总数目:2

-- Now again with edge mapping {
CREATE TEMP TABLE edgemap (arc_id serial, edge_id int unique);


-- Lineal non-hierarchical
SELECT 'L1-edgemap', feature_name, topology.AsTopoJSON(feature, 'edgemap')
 FROM features.city_streets
 WHERE feature_name IN ('R3', 'R4', 'R1', 'R2' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
L1-edgemap             |R1                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[0,-2|
                       |                           |]]}                   |
------------------------------------------------------------------------
L1-edgemap             |R2                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[2,-4|
                       |                           |]]}                   |
------------------------------------------------------------------------
L1-edgemap             |R3                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[4]]} |
------------------------------------------------------------------------
L1-edgemap             |R4                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[5]]} |
总数目:4

-- Lineal hierarchical
TRUNCATE edgemap; SELECT NULLIF(setval('edgemap_arc_id_seq', 1, false), 1);

NULLIF(bigint)      |
--------------------
null                |
总数目:1

SELECT 'L2-edgemap', feature_name, topology.AsTopoJSON(feature, 'edgemap')
 FROM features.big_streets
 WHERE feature_name IN ('R4', 'R1R2' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
L2-edgemap             |R1R2                       |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[0,-2|
                       |                           |],[2,-4]]}            |
------------------------------------------------------------------------
L2-edgemap             |R4                         |{ "type": "MultiLineSt|
                       |                           |ring", "arcs": [[4]]} |
总数目:2

-- Areal non-hierarchical
TRUNCATE edgemap; SELECT NULLIF(setval('edgemap_arc_id_seq', 1, false), 1);

NULLIF(bigint)      |
--------------------
null                |
总数目:1

SELECT 'A1-edgemap', feature_name, topology.AsTopoJSON(feature, 'edgemap')
 FROM features.land_parcels
 WHERE feature_name IN ('P1', 'P2', 'P3', 'P4', 'P5' )
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
A1-edgemap             |P1                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[5,4,3,|
                       |                           |-3,-2,-1]]]}          |
------------------------------------------------------------------------
A1-edgemap             |P2                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[1,2,9,|
                       |                           |-9,-8,-7]]]}          |
------------------------------------------------------------------------
A1-edgemap             |P3                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[7,8,13|
                       |                           |,-13,-12,-11]]]}      |
------------------------------------------------------------------------
A1-edgemap             |P4                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[-15]]]|
                       |                           |}                     |
------------------------------------------------------------------------
A1-edgemap             |P5                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[-16],[|
                       |                           |16]]]}                |
总数目:5

-- Areal hierarchical
TRUNCATE edgemap; SELECT NULLIF(setval('edgemap_arc_id_seq', 1, false), 1);

NULLIF(bigint)      |
--------------------
null                |
总数目:1

SELECT 'A2-edgemap', feature_name, topology.AsTopoJSON(feature, 'edgemap')
 FROM features.big_parcels
 WHERE feature_name IN ('P1P2', 'P3P4')
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
A2-edgemap             |P1P2                       |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[7,6,5,|
                       |                           |4,-4,-3,-2,-1]]]}     |
------------------------------------------------------------------------
A2-edgemap             |P3P4                       |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[-9]],[|
                       |                           |[2,3,12,-12,-11,-10]]|
                       |                           |]}                    |
总数目:2

DROP TABLE edgemap;

-- End edge mapping }

-- This edge splits an hole in two faces
SELECT 'E' || topology.TopoGeo_addLinestring('city_data', 'LINESTRING(4 31, 7 34)');
?COLUMN?(text)      |
--------------------
E32                 |
总数目:1


-- This edge wraps a couple of faces, to test holes at 2 level distance from parent
SELECT 'E' || topology.TopoGeo_addLinestring('city_data', 'LINESTRING(0 25, 33 25, 33 44, 0 44, 0 25)');
?COLUMN?(text)      |
--------------------
E33                 |
总数目:1


-- Now add a new polygon
SELECT 'E' || topology.TopoGeo_addLinestring('city_data', 'LINESTRING(3 47, 33 47, 33 52, 3 52, 3 47)');
?COLUMN?(text)      |
--------------------
E34                 |
总数目:1

SELECT 'E' || topology.TopoGeo_addLinestring('city_data', 'LINESTRING(10 48, 16 48, 16 50, 10 50, 10 48)');
?COLUMN?(text)      |
--------------------
E35                 |
总数目:1

-- And this defines a new feature including both face 1and the new
-- wrapping face 11 plus the new (holed) face 12
INSERT INTO features.land_parcels(feature_name, feature) VALUES ('P6',
  topology.CreateTopoGeom(
    'city_data', -- Topology name

    3, -- Topology geometry type (polygon/multipolygon)
    1, -- TG_LAYER_ID for this topology (from topology.layer)
    '{{1,3},{11,3},{12,3}}'));

SELECT 'A3-vanilla', feature_name, topology.AsTopoJSON(feature, null)
 FROM features.land_parcels
 WHERE feature_name IN ('P6')
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
A3-vanilla             |P6                         |{ "type": "MultiPolygo|
                       |                           |n", "arcs": [[[-33],[|
                       |                           |30,25],[1]],[[-34],[3|
                       |                           |4]]]}                 |
总数目:1


SELECT 'P1-vanilla', feature_name, topology.AsTopoJSON(feature, null)
 FROM features.traffic_signs
 WHERE feature_name IN ('S2')
 ORDER BY feature_name;
?COLUMN?(varchar)      |FEATURE_NAME(varchar)      |ASTOPOJSON(text)      |
------------------------------------------------------------------------
P1-vanilla             |S2                         |{"type":"MultiPoint","|
                       |                           |coordinates":[[35,14]|
                       |                           |]}                    |
总数目:1