2010-10-22 14 views
5

La forma habitual para crear una columna de geometría es addGeometryColumn, sin embargo tengo que trabajar con columnas preexistentes, así que no puedo usar esa función (por lo que yo saber).PostGIS: registrar una columna "geometría" sin addGeometryColumn

Gracias a la PostGIS docs, que ya pueden registrar la columna en el "geometry_columns" mesa, sin embargo addGeometryColumn parece hacer más de crear una columna y añadir una fila en geometry_columns, por ejemplo, agrega comprueba en la columna.


Así que mi pregunta es lo que: ¿qué necesito hacer para registrar la columna manualmente, además de añadir una fila en geometry_columns * *?

(por ejemplo, ¿existe una versión modificada addGeometryColumn que funciona con una columna existente?)

Respuesta

3

La forma más fácil de hacerlo en las columnas existentes es el uso de los Populate_Geometry_Columns de función:
http://postgis.org/documentation/manual-1.5/Populate_Geometry_Columns.html

En otras palabras: la función que está solicitando ya está allí :-)

HTH Nicklas

+0

Buena sugerencia, sin embargo, desearía que se aplicara solo a una columna específica en lugar de a una tabla completa. Pero definitivamente es más seguro en cuanto a actualizaciones que hacer una versión modificada de AddGeometryColumn, gracias. – wildpeaks

+0

Es una función plpgsql así que tal vez puedas modificarla de una manera fácil. –

0

Como dijo, AddGeometryColumn es solo un atajo útil para crear no solo la columna, sino también para agregar controles de tipo e índices. Por supuesto, puede agregarlos a mano a una columna existente: simplemente tiene que hacer las mismas cosas que el AddGeometryColumn hace por usted en un solo comando.

Si necesita transferir una columna "normal" a una columna "gis", ¿por qué no utilizar SELECT INTO para transferir los datos?

Cuestiones relacionadas