1 votos

¿Cómo puedo fusionar dos columnas de geometría de tablas diferentes en una sola columna en otra tabla?

Tengo muchas tablas con atributo de geometría que se guarda en la base de datos de Postgis. Estas tablas son básicamente de más de un shapefile que se almacena en Postgis utilizando geotools.

Ahora quiero una tabla común para manejar todos los atributos geom en la tabla, como se muestra en el ejemplo a continuación

Por ejemplo:

entrar descripción de la imagen aquí

¿Hay alguna forma de hacer esto usando PostGIS? Inicialmente la Tabla geom_all con columna geom contiene valor NULL. Intenté actualizar los valores utilizando JOINS con el siguiente ejemplo de consulta.

 UPDATE Geom_all g SET geom = (SELECT geom FROM Table-1 t WHERE g.id = t.id);

Pero esto se sobrescribe con cada nuevo valor que actualizo en la columna geom y también la subconsulta debería devolver solo 1 fila, que en mi caso no sucede. No estoy seguro de si puedo lograr esta tarea usando JOINS, sería útil saber si hay alguna otra forma de resolver esto.

NOTA: Todas las columnas geom contienen geometry_type como MULTIPOLYGON y ST_SRID como 4326.

2voto

Braiam Puntos 120

Si entiendo correctamente, quieres combinar las filas de varias tablas. No necesitas modificar la geometría

Crea la tabla geom_all como
Seleccione ID, geom de tabla1
UNION
seleccionar ID, geom de tabla2
UNION 
seleccionar ID, geom de tabla 3;

o si la tabla ya existe:

Insertar en geom_all (seleccionar ID, geom de tabla1);

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