프로그래밍 언어/Python

행정구역 경계 표시하기

· 코딩마이데이

행정구역 경제 데이터 수집

datakart 패키지의 함수 badm_area()는 매개변수로 행정구역 코드를 의미하는 adm_cd와 하위 통계 정보의 유무를 의미하는 low_search를 받아, 행정구역 데이터를 JSON 형식의 문자열로 반환합니다. 이때 하위 통계 정보가 있으면 시군구 단위로 경계 데이터를 구분합니다. 함수 badm_area()의 매개변수에는 다음과 같은 정보를 입력할 수 있습니다.

adm_cd low_search 의미
None None 전국 경계 데이터(시도 단위로 구분)
"11" "0" 서울특별시 경계 데이터
"11" "1" 서울특별시 경계 데이터(시군구 단위로 구분)
"11" "2" 서울특별시 경계 데이터(읍면동 단위로 구분)
"11010" "0" 서울특별시 종로구 데이터
"11010" "1" 서울특별시 종로구 데이터(읍면동 단위로 구분)

 

비주얼 스튜디오 코드에서 새로운 파일을 생성하고, 파일명을 'step_3_1.py'로 변경합니다. 그리고 나서 다음과 같이 코드를 입력하고, 대화형 창에서 실행합니다. 행정구역 코드, 행정구역 이름, 행정 구역 경계 데이터가 출력됩니다.

 

ch_11/step_3_1.py

import geopandas as gpd # 01
from datakart import Sgis # 02

SGIS_KEY, SGIS_SECRET = "서비스 ID", "보안 Key" # 통계지리정보서비스 API
sgis = Sgis(SGIS_KEY, SGIS_SECRET) # Sgis 객체 # 05
resp: str = sgis.hadm_area(adm_cd="11", low_search="1") # 데이터 조회 # 06
gdf_resp: gpd.GeoDataFrame = gpd.read_file(resp) # 07
gdf_resp

 

실행 결과

 

01 geopandas 패키지를 불러옵니다

02 datakart 패키지의 Sgis 패키지를 불러옵니다. 이 클래스는 통계지리정보서비스가 제공하는 행정구역 경계 데이터를 수집하는 데 사용됩니다.

05 통계지리정보서비스 API를 사용하기 위해 Sgis 객체를 생성히거, 변수 sgis에 저장합니다.

06 서울특별시의 행정구역 경계 데이터를 시군구 단위로 구분해서 불러옵니다.

07 geopandas 패키지의 함수 read_file()을 사용해서 변수 resp에 저장된 행정구역 경계 데이터를 지오데이터프레임으로 변환합니다.