4 votos

Postgis 2: Polígono/Multipolígono en una sola columna

Almacenar características MultiPolygon y Polygon en una sola columna solía ser tan simple como no crear o eliminar la restricción de verificación del tipo de geometría.

¿Existe una solución sencilla similar en PostGIS 2?

6voto

hernan43 Puntos 566

Digamos que tiene my_table con un geom con una columna typmod geometry(Polygon,4326) :

CREATE table my_table(
  gid serial primary key,
  geom geometry(Polygon,4326)
);

Para almacenar cualquier tipo de geometría que desee, basta con redefinir el typmod a geometry(Geometry,4326) o no utilizar typmods. (Lo primero hace cumplir el SRID, y lo segundo no hace cumplir nada):

ALTER TABLE my_table ALTER COLUMN geom TYPE geometry(Geometry,4326);

INSERT INTO my_table(geom)
VALUES
  ('SRID=4326;POLYGON EMPTY'),
  ('SRID=4326;MULTIPOLYGON EMPTY');

Sin embargo, los datos del geometry_columns puede no funcionar con algunas aplicaciones, ya que también dice 'GEOMETRY' .

Por último, siempre se puede utilizar CHECK CONSTRAINTS con cualquier tabla, como era la norma en PostGIS 1.5 y anteriores. Si quieres mantener las definiciones de las tablas como estaban en 1.5, esto todavía es soportado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X