convert Postgres geometry format to WKT

馋奶兔 提交于 2020-08-20 07:02:48

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!