오래된 임상도 shp 파일을 QGIS에 올리고 그 위에 최근 드론 정사영상이나 GNSS로 딴 측점을 겹쳐본 적이 있다면, 두 레이어가 묘하게 어긋나 있는 걸 본 적이 있을 것이다. 임도나 계류 선형이 지형도상 실제 위치와 수 미터에서 많게는 수십, 수백 미터까지 벌어지는 경우도 있다. 처음 이런 걸 보면 측량이 잘못됐거나 드론 GCP를 잘못 잡은 건가 의심하게 되는데, 범인은 따로 있는 경우가 많다. 바로 좌표계, 그중에서도 측지계 문제다.
동경측지계로 만들어진 옛 임상도, 요즘 지도와 안 맞는 이유
1990년대부터 2000년대 초반까지 제작된 임상도와 지적도 상당수는 베셀(Bessel 1841) 타원체를 기준으로 한 동경측지계 체계로 만들어졌다. EPSG 코드로는 중부원점이 5174, 서부원점 5173, 동부원점 5176, 제주원점 5175 같은 식으로 지역별 투영이 나뉘어 있다. 이 체계는 원점을 북위 38도, 동경 127도 부근에 두고 횡메르카토르 투영을 쓰는데, 문제는 기준 타원체 자체가 지금 쓰는 세계측지계와 다르다는 점이다.
지금 국토지리정보원이 표준으로 쓰는 체계는 GRS80 타원체 기반의 세계측지계(Korea 2000)다. 중부원점 기준으로 EPSG 5186 같은 코드가 여기 해당한다. 같은 지점이라도 두 측지계로 각각 좌표를 뽑으면 값 자체가 다르게 나오는데, 흔히 알려진 수치로는 남동 방향으로 약 365m, 그중 위도 방향으로 약 315m, 경도 방향으로 약 185m 정도의 편차가 있다고 알려져 있다. 전국적으로 방향과 크기가 어느 정도 일정하게 나타나는 편이라 변환 파라미터로 보정이 가능하지만, 그 보정을 거치지 않고 두 레이어를 그냥 겹치면 딱 그만큼 어긋나 보이는 것이다.
현장에서 실제로 부딪히는 상황
문제는 이 사실을 알아도 실무에서 깔끔하게 해결되지 않는 경우가 많다는 데 있다. 지자체나 산림조합에서 넘겨받은 임상도 shp 파일에 .prj가 빠져 있거나, 속성은 있는데 실제 투영 파라미터가 비표준으로 저장된 경우가 꽤 흔하다. QGIS가 “온더플라이 재투영”으로 알아서 맞춰줄 거라 믿고 작업하다가, towgs84 변환 파라미터가 누락된 레이어라서 재투영이 엉뚱하게 되는 일도 생긴다. 특히 과거 CAD 도면에서 변환해 넘어온 지적선이나, 수기로 좌표를 입력한 임도 설계 도면 같은 경우는 애초에 어떤 측지계를 썼는지 메타데이터 자체가 없어서 역추적이 필요하다.
가을철 임도 보수 설계를 하면서 20년 전 임상도와 그해 가을 드론으로 뜬 정사영상을 겹쳤는데, 도로 폭 전체가 다 들어갈 정도로 선형이 벌어진 적이 있었다. 처음엔 GCP 측량 오류로 보고 기준점을 다시 확인했는데, 알고 보니 임상도가 동경측지계 기반이었고 변환 과정에서 좌표계 정보를 그대로 둔 채 숫자만 복사해서 쓴 게 원인이었다. 교량이나 전봇대처럼 양쪽 자료에 공통으로 나오는 고정 지형지물을 짚어서 대조해보면 이런 오류는 비교적 빨리 잡힌다.
실무 체크리스트
데이터를 받을 때는 좌표계 EPSG 코드를 반드시 문서나 메타데이터로 같이 요청하고, 코드가 없으면 원점 좌표나 false easting/northing 값으로 역산해서 확인한다. QGIS에서는 레이어 속성의 좌표계 정보를 열어 실제 CRS가 Bessel 계열(5173~5177)인지 GRS80 계열(5186 등)인지부터 본다. 애매하면 “레이어를 다른 이름으로 저장”에서 명시적으로 타깃 좌표계를 지정해 재투영하고, 자동 온더플라이 표시만 믿지 않는다. 변환이 끝나면 꼭 고정 기준점 한두 곳으로 대조해서 어긋남이 남아있는지 확인하는 과정을 거른 적이 없는지 돌아본다. 가능하면 사업 단위로 쓰는 모든 산림공간정보 레이어를 Korea 2000 기반 한 가지 좌표계로 통일해서 보관하는 쪽이 나중에 겹쳐 쓸 때 사고를 줄여준다.
좌표계 불일치는 눈에 바로 안 보이다가 레이어를 겹치는 순간에야 드러나는 성격의 문제라 더 까다롭다. 신규 측량이나 드론 촬영을 도입하는 현장일수록 과거 자료와의 정합성 점검을 작업 초반에 끼워 넣는 습관이 필요하다. 수치 몇 개 맞춰보는 데 드는 시간이 현장에서 선형을 다시 그리는 수고보다는 훨씬 적게 든다.