OSMnx를 사용하여 오픈 스트리트 맵에서 도로 네트워크 데이터를 얻으십시오.



도로 네트워크 데이터 정보



도로 네트워크 데이터는 노드(점) 부분과 그 노드와 노드를 연결한 edge(선)로 구성되어 있습니다.
소위 「그래프 이론」이라고 불리는 분야입니다.

GPS 주행 데이터를 전문 용어로 "프로브 데이터"라고 합니다. 그래서이 근처의 영역을 조사 할 때,
"도로 네트워크""프로브 데이터""GPS"등을 조합하여 찾아 봅시다.

OSMnx 정보



남 캘리포니아 대학의 도시계획학부의 교수인 Geoff Boeing씨가 제공해 주는 패키지입니다.


OSMnx: Python for Street Networks

다음 기사에서는 OSMnx를 이용한 도로 네트워크의 시각화를 다루고 있습니다.

Gigazin: 세계 각 도시의 도로가 향하고 있는 방각이 시각화된 그래프를 비교해 보면 무엇을 알 수 있을까?

API를 통해 도로 네트워크 데이터를 검색합니다.



미리 패키지를 설치하십시오.
brew install spatialindex
pip3 install osmnx 
pip3 install pandas
pip3 install csv

makeData.py
import pandas as pd
import osmnx as ox
import csv

def DriveWay(PREFECTURE):
        # 道路ネットワークデータを取得。
        G = ox.graph_from_place(f'{PREFECTURE}, Japan', network_type='drive')

        # グラフデータからDataFrame形式に変更。
        # nodeの情報
        node=pd.DataFrame(ox.save_load.graph_to_gdfs(G, nodes=True, edges=True, node_geometry=True, fill_edge_geometry=True)[0])
        # edgeの情報
        edge=pd.DataFrame(ox.save_load.graph_to_gdfs(G, nodes=True, edges=True, node_geometry=True, fill_edge_geometry=True)[1])
        # csv形式で出力。
        node.to_csv(f'out/DriveWay_Node_{PREFECTURE}.csv')
        edge.to_csv(f'out/DriveWay_Edge_{PREFECTURE}.csv')

        # 道路ネットワークを可視化
        ox.plot_graph(G)

def main():
        PRE_LIST=["TOKYO","CHIBA","KANAGAWA"]
        for PREFECTURE in PRE_LIST:
                print(f'{PREFECTURE} IN PROGRESS')
                DriveWay(PREFECTURE)

if __name__ == "__main__":
  main()


출력 결과(요코하마시)







좋은 느낌으로 요코하마항 지역의 도로 네트워크가 보였습니다.
이것이 무료라고 대단하네요.

꼭 OSMnx 사용해보십시오.

이번 기사에 관심을 가져주신 분은 ↓↓↓도 체크해 보세요!
OSMnx로 취득한 도로 네트워크 데이터로부터 극좌표 그래프를 만들자!

좋은 웹페이지 즐겨찾기