EUC-KR로 인코딩된 속성값이 깨진 SHP, DBF 파일 복구하는 프로그램

국내에서 사용되는 거의 대부분의 SHP 파일의 속성 데이터는 EUC-KR로 인코딩되어 있습니다. 이러한 SHP 파일을 PostgreSQL에 테이블로 Importing 하기 위해 Shapefile Import/Export Manager와 같은 툴을 사용하게 되는데요. 가끔 다음과 같은 에러를 출력하고 Importing이 실패하게 됩니다.

물론 위의 Shape Import/Export Manager 툴에서 SHP 파일을 Importing 할때 문자셋을 EUC-KR로 명확히 지정한 경우입니다. 이 경우 DBF 파일에 저장된 한글 문자열은 분명히 EUC-KR로 인코딩되어 있으나 깨졌거나.. 기타 여러가지 이유가 그 원인이 될 수 있습니다. 대부분의 프로그램에서는 데이터가 조금 깨져 있어도 읽는데 있어 위의 경우처럼 문제를 발생하지 않습니다. 왜냐하면 깨진 문자열이 그다지 중요하지 않은 경우가 많기 때문입니다.

이러한 상황에서 옳바르게 SHP 파일을 Importing 해 줄 수 있는 툴을 소개합니다.

매우 단순한 UI를 갖는 이 툴은 문제가 있는 SHP 파일을 문제가 없도록 만들어 주는 툴입니다. 혹 저와 동일한 문제로 인해 작업 시 어려움을 격는 분이 있다면 이 툴을 사용해 보시기 바랍니다. 아래 실행 파일을 첨부합니다.



이 프로그램은 DuraMap-Xr을 사용합니다. 실행 전에 DuraMap-Xr을 설치하셔야 하는데요. 다음 URL에서 소개하는 설치자를 통해 매우 간단히 설치할 수 있답니다.

DuraMap-Xr 설치자

GeoService-Xr에서 DEM Dataset을 활용한 서비스

GeoService-Xr에서 DEM Dataset을 활용한 서비스는 크게 3가지입니다. 첫번째는 원하는 지점에 대한 높이값을 얻기, 두번째는 지정된 경로에 대한 횡단면도(Cross Section)을 구성하는 연속된 표고값 얻기, 세번째는 지정된 영역에 대한 평균경사도 얻기 입니다.

첫번째 서비스로, 원하는 지점에 대한 높이값을 얻는 예로써.. 다음처럼 간단한 URL 호출을 통해 서비스를 실행하고 그 결과를 XML 형태로 받을 수 있습니다.

http://127.0.0.1:8080/Gp?command=z;dem=DEM;h=117658.41;v=250496.85

두번째 서비스로, 지정된 경로를 WKT 형식으로 Polyline으로 구성하고 해당 경로에 대한 횡단면도에 대한 결과를 얻는 예로써, 역시 아래의 URL 호출을 통해 쉽게 서비스를 실행할 수 있습니다.

http://127.0.0.1:8080/Gp?command=crosssection;dem=DEM;geometry=MULTILINESTRING((154262.32 265274.12, 164262.32 265274.12))

세번째 서비스로, 지정된 영역을 WKT 형식인 Polygon으로 구성하여, 해당 영역에 대한 평균 경사도를 분석하는 예로써, 아래의 URL 호출을 통해 서비스를 실행합니다.

http://127.0.0.1:8080/Gp?command=slope;dem=DEM;geometry=POLYGON((154262.32 265274.12, 164262.32 265274.12, 164262.32 275274.12, 154262.32 275274.12, 154262.32 265274.12))

각각의 서비스 결과는 XML 형식인데요. 최종적으로 사용자에게 서비스 결과를 제공할때는 그래픽적으로 효과적으로 시각화하여 제공하는 것이 좋을 것입니다.