Saya tidak mengerti format data apa yang saya miliki. Nama kolomnya adalah wkb_geom , jadi saya mengira bahwa data itu dalam format WKB, tapi kemudian saya memeriksa sekitar dan saya tidak dapat menemukan contohnya. Data seperti ini:
"0106000020E6100000010000000103000000010000007218000007000060B1D42B4010000060A372454007000060B1D42B40030000009D724540030000E0D5D42B40030000009D724540030000E0D5D42B40050000C08A7245400B000040FAD42B40050000C08A7245400B000040FAD42B40130000807B7245400B000040FAD4 (...)
"
Apakah dalam format WKB atau WKT ?? Pertanyaan kedua, jika itu dalam format WKB, bagaimana saya bisa mengubahnya menjadi format WKT? Saya mencoba mengikuti saran ini
Bagaimana cara mengubah WKB ke WKT?
jadi pertanyaannya adalah
UPDATE "ita_adm1"
SET wkb_geometry = ST_GeomFromWKB("wkb_geometry",4326)
tetapi terus mengatakan bahwa fungsi ST_GeomFromWKB tidak ada.
sumber
Jawaban:
Secara umum, ini disebut WKB hex-encoded. Contoh spesifik ini adalah versi diperpanjang , disebut EWKB, karena memiliki SRID = 4326 seperti yang ditemukan oleh
E6100000
.WKB dapat dilihat dalam beberapa bentuk. Representasi string hex-encoded adalah yang paling umum, yang jika sebenarnya teks dapat dikonversi menggunakan
::geometry
gips sederhana :Hanya gunakan ST_GeomFromWKB jika itu adalah
bytea
aliran biner mentah .Lebih lanjut, ketika data geometri dipilih dari database PostGIS, representasi EWKB yang disandikan-hex ditunjukkan pada hasil permintaan. Untuk mendapatkan representasi WKT atau EWKT, gunakan fungsi ST_AsText atau ST_AsEWKT , seperti yang ditunjukkan di atas.
sumber