import osmnx as ox import pandas as pd # 获取深圳市南山区的边界 nanshan = ox.geocode_to_gdf('Nanshan District, Shenzhen, China') # 从南山的多边形中获取公交路网 G = ox.graph_from_polygon(nanshan.geometry.iloc[0], network_type='drive', truncate_by_edge=True) # 从图中获取所有的边缘和它们的数据 edges_data = [(u, v, data) for u, v, data in G.edges(data=True)] rows = [] for u, v, data in edges_data: start_point = G.nodes[u] end_point = G.nodes[v] row = [start_point['x'], start_point['y'], end_point['x'], end_point['y'], data['length']] rows.append(row) # 将数据保存为DataFrame df = pd.DataFrame(rows, columns=['start_lon', 'start_lat', 'end_lon', 'end_lat', 'length']) # 保存为CSV df.to_csv('nanshan_all_routes.csv', index=False)