반응형
splitgeoJson파일을 실행하면 자동으로 geoJson폴더에 지역별로 jso파일을 저장하는 프로그램입니다.
geojson파일은 아래 링크에서 시군구 업데이트 파일을 이용하였습니다.
파이썬 공부용으로 참고하여 프로그램에 주석 및 내용을 입력하였습니다.
http://www.gisdeveloper.co.kr/?p=2332
같은 폴더에 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
반응형
'파이썬 > 파이썬' 카테고리의 다른 글
[ 파이썬 ] 계속하려면 아무 키나 누르십시오 . . . (0) | 2022.01.05 |
---|---|
[ 파이썬 ] 특정 시간마다 함수 호출 및 종료 (0) | 2021.12.25 |
[ 파이썬 ] 캠핑장 예약 조회 (0) | 2021.12.24 |
[ 파이썬 ] 텔레그램봇 만들기 (0) | 2021.12.24 |
[ 파이썬 ] ini파일 읽고 쓰기 (0) | 2021.12.23 |
댓글