PostGIS 테이블의 모든 형상을 재 투영합니까? 4326으로 ​​공간 테이블을 만들었습니다. 이제 총

SRID : 4326으로 ​​공간 테이블을 만들었습니다. 이제 총 투영을 SRID : 32644로 새 테이블로 변경하고 싶습니다. 이전 테이블은 변경되지 않아야합니다.



답변

PostGIS 2.0 이상을 사용하는 경우 다음을 수행 할 수 있습니다.

ALTER TABLE mytable
  ALTER COLUMN geom
  TYPE Geometry(Point, 32644)
  USING ST_Transform(geom, 32644);


답변

CREATE TABLE new_table AS
  SELECT ST_Transform(the_geom,32644) AS the_geom
  FROM original_table;

QGIS에 추가하려면 공간 테이블에 정수 ID 필드가 있어야합니다.


답변

이 방법을 따르십시오 :

  1. CREATE TABLE 'new_table' AS SELECT * FROM 'old_table';
  2. ALTER TABLE new_table DROP CONSTRAINT enforce_srid_the_geom;
  3. ALTER TABLE new_table DROP CONSTRAINT enforce_geotype_the_geom;
  4. UPDATE new_table SET the_geom = ST_SetSRID(the_geom, new_srid);
  5. ALTER TABLE new_table ADD CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = (new_srid));
  6. ALTER TABLE new_table ADD CONSTRAINT enforce_geotype_geom CHECK ((geometrytype(the_geom) = 'POINT'::text OR the_geom IS NULL);
  7. 그게 다야!

첫 번째 줄에 새 테이블을 만들 수 없으면 pls 2와 3을 시도하십시오. 먼저 숫자 1로 테이블을 만드십시오.

도움이 되길 바랍니다.


답변