ST_AsGML
Signature
GEOMETRY ST_AsGML(GEOMETRY geom);
Description
Store a geometry (geom
) as a GML representation.
This function supports:
- only GML 2.1.2
- 3D coordinates
- Multi-geometries
Examples
For a Point
SELECT ST_AsGML('POINT(-2.070365 47.643713)');
-- Answer:
-- <gml:Point srsName='EPSG:0'>
-- <gml:coordinates>
-- -2.070365,47.643713
-- </gml:coordinates>
-- </gml:Point>
For a (3D) Linestring
SELECT ST_AsGML('LINESTRING (12 25 10, 100 20 5, 56 65 8)');
-- Answer:
-- <gml:LineString srsName='EPSG:0'>
-- <gml:coordinates>
-- 12.0,25.0,10.0 100.0,20.0,5.0 56.0,65.0,8.0
-- </gml:coordinates>
-- </gml:LineString>
For a Linestring with a srid (here in WGS84)
SELECT ST_AsGML(ST_SetSRID('LINESTRING (-47.8 56.3, -44.2 57.3)', 4326));
-- Answer:
-- <gml:LineString srsName='EPSG:4326'>
-- <gml:coordinates>
-- -47.8,56.3 -44.2,57.3
-- </gml:coordinates>
-- </gml:LineString>
For a Polygon
SELECT ST_AsGML('POLYGON ((20 20, 40 20, 40 10, 20 10, 20 20))');
-- Answer:
-- <gml:Polygon srsName='EPSG:0'>
-- <gml:outerBoundaryIs>
-- <gml:LinearRing>
-- <gml:coordinates>
-- 20.0,20.0 40.0,20.0 40.0,10.0 20.0,10.0 20.0,20.0
-- </gml:coordinates>
-- </gml:LinearRing>
-- </gml:outerBoundaryIs>
-- </gml:Polygon>
For a MultiPolygon
SELECT ST_AsGML('MULTIPOLYGON (((1 1, 1 3, 3 3, 3 1, 1 1)),
((4 2, 4 4, 6 4, 6 2, 4 2)))');
-- Answer:
-- <gml:MultiPolygon srsName='EPSG:0'>
-- <gml:polygonMember>
-- <gml:Polygon>
-- <gml:outerBoundaryIs>
-- <gml:LinearRing>
-- <gml:coordinates>
-- 1.0,1.0 1.0,3.0 3.0,3.0 3.0,1.0 1.0,1.0
-- </gml:coordinates>
-- </gml:LinearRing>
-- </gml:outerBoundaryIs>
-- </gml:Polygon>
-- </gml:polygonMember>
-- <gml:polygonMember>
-- <gml:Polygon>
-- <gml:outerBoundaryIs>
-- <gml:LinearRing>
-- <gml:coordinates>
-- 4.0,2.0 4.0,4.0 6.0,4.0 6.0,2.0 4.0,2.0
-- </gml:coordinates>
-- </gml:LinearRing>
-- </gml:outerBoundaryIs>
-- </gml:Polygon>
-- </gml:polygonMember>
-- </gml:MultiPolygon>