PostGIS: daftarkan kolom geometri tanpa AddGeometryColumn

Cara yang biasa untuk membuat kolom geometri adalah AddGeometryColumn, namun saya harus bekerja dengan kolom yang sudah ada sebelumnya, jadi saya tidak bisa menggunakan fungsi itu (sejauh yang saya tahu).

Berkat dokumen PostGIS, saya sudah dapat mendaftarkan kolom di tabel "geometry_columns", namun AddGeometryColumn tampaknya melakukan lebih dari membuat kolom dan menambahkan baris di geometri_kolom , misalnya menambahkan centang pada kolom.


Jadi pertanyaan saya adalah apa: apa yang harus saya lakukan untuk mendaftarkan kolom secara manual, selain menambahkan baris di *geometry_columns* ?

(misalnya, apakah ada AddGeometryColumn versi modifikasi yang berfungsi dengan kolom yang ada?)


person wildpeaks    schedule 22.10.2010    source sumber


Jawaban (2)


Cara termudah untuk melakukannya pada kolom yang ada adalah menggunakan fungsi Populate_Geometry_Columns:
http://postgis.org/documentation/manual-1.5/Populate_Geometry_Columns.html

Dengan kata lain: Fungsi yang Anda minta sudah ada :-)

HTH Nicklas

person Nicklas Avén    schedule 22.10.2010
comment
Saran yang bagus, namun saya berharap ini hanya berlaku untuk kolom tertentu, bukan seluruh tabel. Tapi yang pasti lebih aman dalam hal upgrade daripada membuat versi AddGeometryColumn yang dimodifikasi, terima kasih. - person wildpeaks; 25.10.2010
comment
Ini adalah fungsi plpgsql jadi mungkin Anda bisa memodifikasinya dengan cara yang mudah. - person Nicklas Avén; 25.10.2010

Seperti yang Anda katakan, AddGeometryColumn hanyalah pintasan praktis untuk membuat tidak hanya kolom, tetapi juga menambahkan pemeriksaan tipe dan indeks. Tentu saja, Anda dapat menambahkannya secara manual ke kolom yang sudah ada: Anda hanya perlu melakukan hal yang sama seperti yang dilakukan AddGeometryColumn untuk Anda dalam satu perintah.

Jika Anda perlu mentransfer satu kolom "biasa" ke kolom "gis", mengapa tidak menggunakan SELECT INTO untuk mentransfer data?

person DrColossos    schedule 23.10.2010