问题
I have a Postgres table which stores polygon geometry in its specific format in one of the column, something like this-
0103000020E61000000100000004000000B8627F336B1554405DD602FFA2733A40B8627FA7601554403851F8EBC7723A40B8627FC38F15544036D539E90B733A40B8627F336B1554405DD602FFA2733A40
I know how to convert this single value to WKT using ST_AsText
which will give me POLYGON((Lat Long)). But I want to convert whole column into WKT format.
How to achieve this?
Thanks!
回答1:
Have you tried this?
SELECT ST_AsText(your_geom_column) FROM your_table
Example:
CREATE TEMPORARY TABLE tmp (geom GEOMETRY);
INSERT INTO tmp VALUES (ST_GeomFromText('POINT (1 2)')),
(ST_GeomFromText('POINT (2 4)'));
Geometries as EWKT:
db=# SELECT geom FROM tmp;
geom
--------------------------------------------
0101000000000000000000F03F0000000000000040
010100000000000000000000400000000000001040
Geometries as WKT:
db=# SELECT ST_AsText(geom) FROM tmp;
st_astext
------------
POINT(1 2)
POINT(2 4)
In case you fancy GeoJSON ..
db=# SELECT ST_AsGeoJSON(geom) FROM tmp;
st_asgeojson
--------------------------------------
{"type":"Point","coordinates":[1,2]}
{"type":"Point","coordinates":[2,4]}
.. or even GML
db=# SELECT ST_AsGML(geom) FROM tmp;
st_asgml
---------------------------------------------------------------
<gml:Point><gml:coordinates>1,2</gml:coordinates></gml:Point>
<gml:Point><gml:coordinates>2,4</gml:coordinates></gml:Point>
来源:https://stackoverflow.com/questions/49905207/convert-postgres-geometry-format-to-wkt