拓扑几何输出函数¶
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 表示形式。
返回值¶
返回值为 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