2010-06-10 3 views
21

SRID가있는 다각형의 경우 열 중 하나가 기하학 열 the_geom 인 테이블이 있습니다. the_geom과 동일한 기하학 데이터를 사용하여 동일한 테이블에 새 열을 추가했습니다.기하학 열의 SRID를 변경하는 방법은 무엇입니까?

이 새 열의 SRID를 4258로 설정하려고하기 때문에이 새로운 열의 이름은 the_geom4258입니다. 형상의 SRID를 다른 좌표계로 변경하는 절차는 무엇입니까? 다음 쿼리를 적용하면 충분합니다.

UPDATE table SET the_geom4258=ST_SetSRID(the_geom4258,4258); 

답변

26

ST_Transform 함수를 사용해야합니다. 또한 필요한 모든 제약 조건도 생성하기 위해, 새로운 열을 생성하는 기능 AddGeometryColumn를 사용

SELECT AddGeometryColumn('table','the_geom4258',4258, 'POLYGON', 2); 

UPDATE table SET the_geom4258 = ST_Transform(the_geom,4258); 

ST_SetSRID은 투사 식별자를 설정하지만 실제로 형상을 변환하지 않습니다.

+0

답변이 정확하게 필요합니다. 정말 고마워요. 이제 작은 오류가 있습니다 : "오류 : AddToPROJ4SRSCache : proj4 문자열을 구문 분석 할 수 없습니다 : '+ proj = tmerc + lat_0 = 0 + lon_0 = 16.5 + k = 0.999900 + x_0 = 500000 + y_0 = 0 + ellps = GRS80 + datum = ETRS89 + units = m + no_defs ': 알려지지 않은 타원형 매개 변수 이름 " 지금 당장 무엇을 고쳐야 하나? – Z77

+1

데이터베이스의 spatial_ref_sys 테이블에 srid 4258에 대한 레코드가 있는지 확인하십시오. 레코드가있는 경우 프로젝션 매개 변수가 여기에있는 것과 일치하는지 확인하십시오. http://spatialreference.org/ref/epsg/4258/postgis/ – amercader

+0

OK! 나는 운이 좋은 여자 다, 내가 찾을 수있는 모든 대답 :) – Z77

관련 문제