J'ai créé une table spatiale avec SRID: 4326. Maintenant, je veux changer la projection totale en SRID: 32644 dans une nouvelle table. L'ancienne table devrait rester inchangée.
J'ai créé une table spatiale avec SRID: 4326. Maintenant, je veux changer la projection totale en SRID: 32644 dans une nouvelle table. L'ancienne table devrait rester inchangée.
Réponses:
Si vous utilisez PostGIS 2.0+, vous pouvez aller:
ALTER TABLE mytable
ALTER COLUMN geom
TYPE Geometry(Point, 32644)
USING ST_Transform(geom, 32644);
Point
par The same geometry type as it was
?
CREATE TABLE new_table AS
SELECT ST_Transform(the_geom,32644) AS the_geom
FROM original_table;
Il devrait y avoir un champ d’identification d’entier dans votre table spatiale afin de l’ajouter à QGIS.
suivez cette voie:
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 vous ne pouvez pas créer de nouvelle table dans les pls de première ligne, essayez les 2. et 3. premièrement, créez ensuite votre table avec le numéro 1.
J'espère que ça t'aide...