Apakah ada cara efisien untuk mengkonversi Geojson ke WKT?

10

Saya ingin menggunakan ST_GeomFromText () untuk memuat data vektor ke PostGIS. Namun, saya tidak tahu cara mengonversi dari tipe Geojson ke WKT.

NB Saya tahu saya bisa menggunakan OGR2OGR untuk mengunggah geojson secara langsung, tetapi saya hanya ingin mengkonfirmasi apakah ada cara untuk mengubahnya atau tidak. Terima kasih.

Yu Guo
sumber
ogr2ogr bisa menjadi jalan
Di bawah Radar
Efisien dengan cara apa?
RK
1
Jika versi PostGIS Anda> 2, Anda mengimpor GeoJSON secara langsung.
Devdatta Tengshe

Jawaban:

11

mengapa tidak digunakan

  • ST_GeomFromGeoJSON yang mengambil sebagai input representasi geojson dari geometri dan mengeluarkan objek geometri PostGIS.
  • ST_AsGeoJSON , kebalikannya

lihat Membuat Koleksi Fitur GeoJSON dengan fungsi JSON dan PostGIS atau ST_GeomFromGeoJSON dari OpenGeo.

Untuk mengonversi ke WKT, gunakan

  • ST_AsText , kebalikan dari ST_GeomFromText () yang mengembalikan Teks Terkenal (WKT)
  • ST_AsEWKT sama dengan meta data SRID
gen
sumber
Hai, terima kasih banyak. Saya bahkan tidak tahu alat ini. Saya masih belajar dari Anda sebagai siswa.
Yu Guo
7

Jika Python adalah hal Anda maka Anda dapat menggunakan GeoMet . Ini adalah modul Python yang mengubah GeoJSON ke WKT / WKB dan sebaliknya. Anda dapat menginstalnya langsung dari repositori github menggunakan pip

$ pip install git+git://github.com/larsbutler/geomet.git

Berikut ini contoh konversi:

>>> from geomet import wkt
>>> point = {'type': 'Point', 'coordinates': [116.4, 45.2, 11.1]}
>>> wkt.dumps(point, decimals=4)
'POINT (116.4000 45.2000 11.1000)'
RK
sumber