행 하나가 객체 하나로
CSV의 행마다 Feature를 하나씩 만들어 FeatureCollection 하나에 담습니다. 좌표는 위도·경도, x·y, WKT 열을 이름으로 찾고, 나머지 열은 속성이 됩니다. WKT 열에는 점뿐 아니라 선과 면도 담을 수 있습니다. 좌표가 비었거나 잘못된 행도 버리지 않고 geometry를 null로 둔 채 값과 함께 남깁니다.
값의 타입
- 값이 모두 평범한 숫자인 열만 JSON 숫자가 됩니다.
007처럼 앞에 0이 붙은 코드나 19자리 PNU 같은 큰 정수는 값이 바뀌지 않게 문자열로 둡니다.- 빈 칸은 null이 되고, 머리글이 비어 있는 열은
column1처럼 이름을 붙입니다. - CP949로 저장된 CSV의 한글도 판정해 읽고 UTF-8 JSON으로 씁니다.
좌표는 WGS84로
GeoJSON 출력은 항상 WGS84 경위도입니다. 위도·경도 열은 그대로 쓰고, 한국 좌표계 X·Y 값은 지도에서 후보 좌표계를 고른 뒤 WGS84로 변환해 소수점 7자리로 반올림합니다.