잘못된 Geometry를 수정하기

PostGIS의 공간 함수 중 ST_MakeValid는 이미 저장된 올바르지 못한 Geometry를 수정해 준다. 아래의 쿼리는 이에 대한 내용이다.

select ST_IsValid(the_geom) from sify_li;
update sify_li set the_geom = ST_MakeValid(the_geom);

위의 SQL 구문 중 sify_li는 Table 이름이며 the_geom은 Geometry 타입에 대한 필드명에 대한 예시이다.

멀티 폴리곤의 경우 실패하는 경우가 있는데 아래의 SQL문을 사용하면 해결되는 경우가 있음

update sig set the_geom = st_multi(st_collectionextract(st_makevalid(the_geom),3)) where not st_isvalid(the_geom);

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다