답변:
이를 위해 한 줄 기능이 있습니다. 다음 SQL 쿼리를 사용하십시오.
select UpdateGeometrySRID('Schema Name', 'mytable', 'the_geom', newSRID) ;
그러나 당신이 나와 같다면, 당신은 낮은 수준의 미니어처 단계에 관심이있을 것입니다. 논리적으로 말하면, 위의 기능은 다음 4 단계 프로세스와 같습니다.
geometry_columns 테이블에서 SRID를 필요한 값으로 업데이트하십시오.
다음 SQL 문을 사용하여 테이블에 대한 제약 조건을 삭제하십시오.
ALTER TABLE mytable DROP CONSTRAINT enforce_srid_the_geom;
다음 SQL 문을 사용하여 지오메트리의 SRID를 업데이트하십시오.
UPDATE mytable SET the_geom = ST_SetSRID(the_geom, newSRID);
다음 SQL 문을 사용하여 제약 조건을 다시 추가하십시오.
ALTER TABLE mytable
ADD CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = (newSRID));
PostGIS 2.x에서 지오메트리 열은 일반적으로와 같은 typmod를 사용 geometry(Point, 1234)
합니다. 이를 위해 ALTER TABLE 을 사용 하여 한 단계에서 형상 열 유형을 직접 수정할 수 있습니다 .
예를 들어 geom
in 의 SRID mytable
를 WGS84 로 설정 하려면 ST_SetSRID를 사용 하십시오 .
ALTER TABLE mytable
ALTER COLUMN geom
TYPE geometry(Point, 4326)
USING ST_SetSRID(geom, 4326);
이는 SRID 만 변경하지만 좌표 데이터는 변환하지 않습니다.
UpdateGeometrySRID
하지만 지원하지 않습니다.