ST_GeomFromGML
Signature
GEOMETRY ST_GeomFromGML(VARCHAR gml);
GEOMETRY ST_GeomFromGML(VARCHAR gml, INT srid);
Description
Converts an input gml
representation into a Geometry, optionally with spatial reference id srid
.
This function supports:
- only GML 2.1.2
- 3D coordinates
- Multi-geometries
Examples
For a Point, with a srid
SELECT ST_GeomFromGML('
<gml:Point>
<gml:coordinates>
50.2,38.7
</gml:coordinates>
</gml:Point>', 4326);
-- Answer: POINT (50.2 38.7)
For a 3D Point
SELECT ST_GeomFromGML('
<gml:Point>
<gml:coordinates>
50.2,38.7,20
</gml:coordinates>
</gml:Point>');
-- Answer: POINT (50.2 38.7 20)
For a Linestring
SELECT ST_GeomFromGML('
<gml:LineString srsName="EPSG:4326">
<gml:coordinates>
-60.5,35.2 -62.3,47.4 -65.6,48.4
</gml:coordinates>
</gml:LineString>');
-- Answer: LINESTRING (-60.5 35.2, -62.3 47.4, -65.6 48.4)
For a MultiLinestring
SELECT ST_GeomFromGML('
<MultiLineString srsName="EPSG:4326">
<lineStringMember>
<LineString>
<coordinates>56.1,0.45 67.23,0.67</coordinates>
</LineString>
</lineStringMember>
<lineStringMember>
<LineString>
<coordinates>46.71,9.25 56.88,10.44</coordinates>
</LineString>
</lineStringMember>
<lineStringMember>
<LineString>
<coordinates>324.1,219.7 0.45,0.56</coordinates>
</LineString>
</lineStringMember>
</MultiLineString>');
-- Answer: MULTILINESTRING ((56.1 0.45, 67.23 0.67),
-- (46.71 9.25, 56.88 10.44),
-- (324.1 219.7, 0.45 0.56))
For a Polygon
SELECT ST_GeomFromGML('
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>
0,0 50,0 50,50 0,50 0,0
</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>');
-- Answer: POLYGON ((0 0, 50 0, 50 50, 0 50, 0 0))