2010-10-22 16 views
5

Il modo usuale per creare una colonna geometrica è AddGeometryColumn, tuttavia devo lavorare con colonne preesistenti, quindi non posso usare quella funzione (per quanto mi riguarda conoscere).PostGIS: registrare una colonna "geometria" senza AddGeometryColumn

Grazie al PostGIS docs, posso già registrare la colonna nel "geometry_columns" tavolo, tuttavia AddGeometryColumn sembra fare più di creare una colonna e aggiungere una riga in geometry_columns, per esempio aggiunge assegni sulla colonna.


Quindi la mia domanda è che cosa: che cosa devo fare per registrare la colonna manualmente, oltre ad aggiungere una riga in geometry_columns * *?

(ad esempio, v'è una versione modificata AddGeometryColumn che funziona con una colonna esistente?)

risposta

3

Il modo più semplice di farlo su colonne esistenti sta usando i Populate_Geometry_Columns funzione:
http://postgis.org/documentation/manual-1.5/Populate_Geometry_Columns.html

In altre parole: La funzione che stai richiedendo è già lì :-)

HTH Nicklas

+0

Buon suggerimento, tuttavia vorrei che si applicasse solo a una colonna specifica anziché a un'intera tabella. Ma è sicuramente più sicuro per quanto riguarda gli aggiornamenti rispetto a fare una versione modificata di AddGeometryColumn, grazie. – wildpeaks

+0

È una funzione di plpgsql quindi forse puoi modificarla in modo semplice. –

0

Come hai detto, AddGeometryColumn è solo una comoda scorciatoia per creare non solo la colonna, ma aggiungere controlli di tipo e indici. Naturalmente, puoi aggiungerli manualmente a una colonna esistente: devi semplicemente fare le stesse cose che lo AddGeometryColumn fa per te in un unico comando.

Se è necessario trasferire una colonna "normale" in una colonna "gis", perché non utilizzare SELECT INTO per il trasferimento dei dati?

Problemi correlati