PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

konversi format geometri Postgres ke WKT

Sudahkah Anda mencoba ini?

SELECT ST_AsText(your_geom_column) FROM your_table

Dalam contoh berikut, saya akan menunjukkan beberapa cara untuk membuat serial geometri Anda - sampel data dengan dua titik yang dikodekan sebagai 4326 (WGS84):

CREATE TEMPORARY TABLE tmp (geom GEOMETRY);
INSERT INTO tmp VALUES ('SRID=4326;POINT (1 2)'),
                       ('SRID=4326;POINT (2 4)');

Geometri sebagai WKB (bawaan):

SELECT geom FROM tmp;
                        geom                        
----------------------------------------------------
 0101000020E6100000000000000000F03F0000000000000040
 0101000020E610000000000000000000400000000000001040

Geometri sebagai WKT dan EWKT (EWKT =WKT dengan Sistem Referensi Spasial eksplisit):

SELECT ST_AsText(geom),ST_AsEWKT(geom) FROM tmp;
 st_astext  |      st_asewkt       
------------+----------------------
 POINT(1 2) | SRID=4326;POINT(1 2)
 POINT(2 4) | SRID=4326;POINT(2 4)

Jika Anda suka GeoJSON ..

SELECT ST_AsGeoJSON(geom) FROM tmp;
             st_asgeojson             
--------------------------------------
 {"type":"Point","coordinates":[1,2]}
 {"type":"Point","coordinates":[2,4]}

.. atau bahkan GML

SELECT ST_AsGML(geom) FROM tmp;
                                     st_asgml                                      
-----------------------------------------------------------------------------------
 <gml:Point srsName="EPSG:4326"><gml:coordinates>1,2</gml:coordinates></gml:Point>
 <gml:Point srsName="EPSG:4326"><gml:coordinates>2,4</gml:coordinates></gml:Point>

.. para penggemar Google Earth juga bersenang-senang! Geometri sebagai KML

SELECT ST_AsKML(geom) FROM tmp;
                   st_askml                    
-----------------------------------------------
 <Point><coordinates>1,2</coordinates></Point>
 <Point><coordinates>2,4</coordinates></Point>

Dan daftarnya terus berlanjut..! Dalam PostGIS documentation ada cara menarik lainnya untuk membuat serial geometri.

Demo:db<>fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkah INSERT [...] ON CONFLICT digunakan untuk pelanggaran kunci asing?

  2. Bagaimana cara menggunakan operator PostgreSQL JSON(B) yang berisi tanda tanya? melalui JDBC

  3. Postgres Ubah Integer Kolom ke Boolean

  4. Pyodbc - Nama sumber data tidak ditemukan, dan tidak ada driver default yang ditentukan

  5. Permintaan Postgres untuk memeriksa string adalah angka