본문 바로가기
파이썬/파이썬

[ 파이썬 ] 시군구 geoJson파일 분할 하기

by jeong-f 2021. 12. 23.
반응형

splitgeoJson파일을 실행하면 자동으로 geoJson폴더에 지역별로 jso파일을 저장하는 프로그램입니다.
geojson파일은 아래 링크에서 시군구 업데이트 파일을 이용하였습니다.
파이썬 공부용으로 참고하여 프로그램에 주석 및 내용을 입력하였습니다.

http://www.gisdeveloper.co.kr/?p=2332 

 

대한민국 최신 행정구역(SHP) 다운로드 – GIS Developer

 

www.gisdeveloper.co.kr

 

같은 폴더에 TL_SCCO_SIG.json파일을 위치하고 실행하면 자동 분할되도록 하였습니다.

파일을 분리하면 아래와 같이 지역코드_지역명. json파일이 각각 생성됩니다.

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import json
import os
 
 # 폴더 생성 --------------------------------------------------------------------------
def createFolder(directory):
    try:
        if not os.path.exists(directory):
            os.makedirs(directory)
    except OSError:
        print ('Error: Creating directory. ' +  directory)
 
 
# Json분할 --------------------------------------------------------------------
 
def splitgeoJson(Jsonfilename):
    #json 파일 읽기
    with open(Jsonfilename, 'r', encoding='UTF8'as rf:
        geojson = json.load(rf)
 
    #저장 폴더 생성    
    path = os.path.dirname(os.path.abspath(__file__))
    path +='\\geoJson'
 
    createFolder(path)
 
    #시군구 반복
    for item in geojson['features']:
        code = item['properties']['SIG_CD']     #행정구역코드
        name = item['properties']['SIG_KOR_NM'#행정구역명
        item['id'= code;                      #네이버 지도용 id 설정
    
        #json 파일 저장 경로
        fileName = path +'\\' +code + '_'+ name  +'.json'
        print(fileName +' '+ name)
    
        #json 객체 생성
        geo = dict()
        geo['type'= 'FeatureCollection'
        geo['features'= []            #features는 배열
        geo['features'].append(item)
    
        #json 파일 저장
        with open(fileName, 'w', encoding='UTF8'as wf:
            json.dump(geo, wf, ensure_ascii=False)  #한글 유니코드 저장 방지
 
#-------------------------------------------------------------------------------
if __name__ == '__main__':
    splitgeoJson('TL_SCCO_SIG.json')
    system("pause")

cs

 

https://neopang.tistory.com/entry/네이버-지도-행정구역-표시 shp-geojson

 

[네이버 지도] 행정구역 표시(shp -> geojson)

준비물: 시도 shp, 시군구 shp, 읍면동 shp 프로그램: mapshaper, QGIS, python 3.9.1 국내 행정구역 shp 파일은 용량도 크고 너무 세밀하게 표현된 부분이 많아서 웹에 단순한 행정구역을 표시할 때 용량과

neopang.tistory.com

반응형

댓글