Ketika saya ingin menyimpan hasil kueri spasial sebagai tabel PostGIS lain, apa yang harus saya lakukan? Saya tertarik mengidentifikasi semua bangunan tempat tinggal yang berada dalam satu set paket:
CREATE TABLE residentialBuildings AS
SELECT buildings.the_geom
FROM parcels as p
JOIN buildings as b
ON ST_Contains(p.the_geom, b.the_geom)
WHERE p.residentialarea > 0;
Ini tampaknya berhasil, tetapi tidak mengembalikan hasil spasial - sebaliknya tabel memiliki representasi biner dari geometri. Saya tidak yakin apa yang harus saya lakukan untuk membuat tabel sebagai hasilnya. Apakah saya harus terlebih dahulu membuat tabel, dan kemudian mengubah hasilnya menjadi geometri?
(Saya telah membaca dokumentasi, tetapi saya merasa seperti saya kehilangan istilah pencarian yang tepat karena saya merasa ini harus menjadi hal yang cukup jelas untuk dilakukan).
Saya menyadari bahwa ada banyak perintah untuk membuat geometri
ST_GeogFromText
ST_GeographyFromText
ST_GeogFromWKB
ST_GeomCollFromText
ST_GeomFromEWKB
ST_GeomFromEWKT
ST_GeometryFromText
ST_GeomFromGML
ST_GeomFromKML
ST_GMLToSQL
ST_GeomFromText
ST_GeomFromWKB
tapi saya tidak tahu pilihan mana yang harus dipilih, atau apakah ini pendekatan yang tepat.
ERROR: column "polygon" does not exist SQL state: 42703
Apakah Anda tahu apa yang menyebabkan kesalahan? Tabelnya memang ada, dan saya juga mencoba menggunakanPOLYGON
.Hasilnya adalah tabel spasial dengan hanya satu kolom dalam bentuk geometri. Representasi biner benar. Jika Anda menggunakan ini di luar PostGIS (katakanlah ArcGIS atau QGIS atau apa pun), itu mungkin mencari dua hal:
sumber