He creado una tabla espacial con SRID:4326. Ahora quiero cambiar la proyección total a SRID:32644 en una nueva tabla. La tabla antigua debe permanecer sin cambios.
Por supuesto, debe sustituir "Punto" por el tipo de geometría real de su geometría.
He creado una tabla espacial con SRID:4326. Ahora quiero cambiar la proyección total a SRID:32644 en una nueva tabla. La tabla antigua debe permanecer sin cambios.
Lo he intentado y lo he conseguido, pero no puedo exportar la tabla resultante a qgis/udig aunque aparezca en la base de datos.
Seguir este camino:
CREATE TABLE 'new_table' AS SELECT * FROM 'old_table';
ALTER TABLE new_table DROP CONSTRAINT enforce_srid_the_geom;
ALTER TABLE new_table DROP CONSTRAINT enforce_geotype_the_geom;
UPDATE new_table SET the_geom = ST_SetSRID(the_geom, new_srid);
ALTER TABLE new_table ADD CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = (new_srid));
ALTER TABLE new_table ADD CONSTRAINT enforce_geotype_geom CHECK ((geometrytype(the_geom) = 'POINT'::text OR the_geom IS NULL);
Si no puede crear una nueva tabla en la primera línea, intente primero con la 2. y la 3. y luego cree su tabla con el número 1.
espero que te ayude...
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.
0 votos
Lo añado como comentario en lugar de como respuesta porque debería haber un método más elegante. Pero podrías copiar la tabla y luego ejecutar UPDATE <tabla> SET the_geom=ST_Transform(the_geom,32644); (Asumiendo que tienes la entrada completa en tu spatial_ref_sys para 32644).
0 votos
Lo he intentado pero me ha dado este error update abc SET geom=ST_Transform(geom,32644); la nueva fila de la relación "abc" viola la restricción de verificación "enforce_srid_geom"
1 votos
Dejar de lado esa restricción. y su fijo