1. QGIS 프로그램 다운로드
- QGIS-OSGeo4W-3.36.2-1.msi 다운로드 및 설치
2. https://www.geoservice.co.kr 에서 해당되는 데이터 다운로드
3. qgis에서 다운로드한 데이터 열기
레이어>레이어추가>벡터레이어추가>
벡터 데이터셋에 다운로드받은거 다 집어넣기>
인코딩 EUC-KR>추가
4. 추가된 레이어 속성 변경
레이어중 하나만 사용할것임
좌측하단 레이어 탭에서 아무거나 하나 잡고 우클릭>속성 테이블 열기
EMD_CD, EMD_ENG_NM, EMD_KOR_NM 속성 이름을 확인
EMD는 읍면동 데이터를 받아서 EMD인것이고 다른것 받으면 다른이름이 있다.
-> 이것을 echart에서 사용하기위해 id, name_eng, name으로 변경해주는것
-> 우클릭>편집모드 켜고끄기 토글 ON
-> 우클릭>속성
-> 이름 컬럼에서 EMD_CD를 id, EMD_ENG_NM를 name_eng, EMD_KOR_NM을 name으로 변경
->우클릭 편집모드 토글 OFF
5. 내보내기
우클릭>객체를 다른이름으로 저장
포멧: GeoJSON, 좌표계 ESPG4326-WGS84 저장->다음-> 사용면적 world선택
다음 규칙에 의해 변경된다 한다.
+proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80
보통 문서에 저장된다.
6. gejson 파일 리사이즈
다른이름으로 저장한 geojson 파일은 무려 용량이 100mb 이상으로 매우 크니 이것을 온라인 리사이즈 찾아서 디테일을 약간 희생하고 용량을 줄인다.
나는 해당 geojson 전체 지역코드를 그대로 사용하는게 좋겠다고 생각한다.
속성에서 지역코드를 추출해서 매핑하면된다.
위에 작성한 규칙대로 변환되었으므로, 구글맵, 네이버api로 추출할 수 있는 WGS84 자료를 지도에 표시하려면
import pyproj
# WGS84 좌표계 정의
wgs84 = 'EPSG:4326'
# UTM-K 좌표계 정의 (한국에서 사용하는 UTM Zone 52N, 동경 127도 기준)
utmK = '+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs'
# 좌표 변환 함수
def convert_coordinates(lat, lon):
# 좌표 변환
transformer = pyproj.Transformer.from_proj(wgs84, utmK)
x, y = transformer.transform(lon, lat)
return x, y
처럼 규칙을 넣고 변환하여 사용한다.
7. 사용하기
https://echarts.apache.org/en/option.html#title
Documentation - Apache ECharts
echarts.apache.org
상단에 샘플을 참고하면 사용하기 좋다.