파이썬에서 노선도를 그려 보았습니다.

5882 단어 JSON파이썬
이 기사는 ISer Advent Calendar 2020의 17 일째 기사로 작성되었습니다.

원본 데이터



이하의 국토 수치 정보 다운로드 사이트로부터 다운로드 가능합니다.
htps : / / lftp. mぃt. . jp / ksj / gml / st / KsjTmplt-05-v1_3. HTML
※비상용에 한해서 데이터를 사용할 수 있습니다.

폴더에있는 N05-19_RailroadSection2.geojson를 사용하여 노선도를 그립니다.

JSON 읽기



파이썬 모듈 json을 사용합니다. 자동으로 퍼스 해줍니다. 매우 편리합니다.
import json
import numpy as np
import matplotlib.pyplot as plt

json_open = open('N05-19_RailroadSection2.geojson', 'r', encoding = 'utf_8_sig')
json_load = json.load(json_open)

노선도 출력



우선 이번에는 도쿄 메트로의 노선만을 대상으로 합니다.
운영 회사가 도쿄 지하철 인 노선 중 coordinates 내의 데이터를 끌어옵니다. 이것은 노선을 꺾은 선으로 나타낸 데이터입니다.
rc = {
    '2号線日比谷線' : '#b5b5ac',
    '3号線銀座線' : '#ff9500',
    '4号線丸ノ内線' : '#f62e36',
    '4号線丸ノ内線分岐線' : '#f62e36',
    '5号線東西線' : '#009bbf',
    '7号線南北線' : '#00ac9b',
    '8号線有楽町線' : '#c1a470',
    '9号線千代田線' : '#00bb85',
    '11号線半蔵門線' : '#8f76d6',
    '13号線副都心線' : '#9c5e31'
}

for railway_data in json_load['features']:
    if  railway_data['properties']['運営会社'] == '東京地下鉄':
        segments = railway_data['geometry']['coordinates']
        x, y = [], []
        for xy in segments:
            x.append(xy[0])
            y.append(xy[1])
        plt.plot(np.array(x), np.array(y), color = rc[railway_data['properties']['路線名']])

이 방법으로 만들어진 노선도가 여기입니다.


참고


  • 파이썬에서 JSON로드
  • 지하철 기호 컬러 메트로 컬러 - Metro Colors
  • 좋은 웹페이지 즐겨찾기