한국 좌표계 SHP를 그대로 넣으세요
공공기관에서 받은 SHP가 EPSG:5186이나 EPSG:5179 같은 한국 투영 좌표계여도 그대로 넣으면 됩니다. KML은 WGS84 경위도만 쓰므로 .prj를 읽어 좌표계를 판정하고 모든 좌표를 WGS84로 바꿉니다. .prj에 EPSG 코드가 없어도 투영 매개변수를 비교해 알아보고, 목록에 없는 좌표계면 .prj의 정의를 그대로 써서 변환합니다.
.prj가 없으면 좌표를 봅니다. 모든 좌표가 경위도 범위 안이면 WGS84로 보고, 아니면 좌표 범위에 맞는 한국 좌표계 후보를 추려 지도에 그려 보여 줍니다. 데이터가 제자리(예: 제주도 위)에 놓인 후보를 고르면 됩니다.
CP949 한글 속성도 깨지지 않게
DBF 문자열의 인코딩은 .cpg 파일, 엄격한 UTF-8 검사, DBF 헤더의 언어 표시, 한글 글자 비율 순서로 판정합니다. CP949로 저장된 한글을 다시 읽어 바로잡으면 인코딩 옆에 '고침' 배지가 붙습니다. 판정이 맞지 않으면 인코딩을 직접 바꾸면서 속성값 샘플을 미리 볼 수 있습니다. KML은 UTF-8로 씁니다.
파일 넣는 법과 KML 구성
- zip 하나, 같은 이름의 .shp·.shx·.dbf·.prj·.cpg 낱개 파일, 압축을 푼 폴더를 모두 받습니다. 폴더는 끌어다 놓으면 하위 폴더까지 읽습니다.
- 윈도우 탐색기로 압축한 zip의 한글 파일 이름도 그대로 읽고, .shp.xml·.sbn·.sbx 같은 부가 파일은 무시합니다.
- 낱개 파일이나 폴더로는 SHP를 하나씩만 넣을 수 있습니다. 여러 SHP를 함께 바꾸려면 zip 하나로 묶어 넣으세요. 그러면 KML 안에서 SHP마다 폴더를 나눕니다.
- 이름이 정확히
name인 필드는 Placemark 이름이 되고, 나머지 필드는 ExtendedData에 들어갑니다.