使用Python的scgraph包发现拉脱维亚与波兰往返铁路距离存在差异
scgraph包查询铁路最短路径出现往返距离不一致的异常(疑似Bug)
使用Python的scgraph包查询铁路最短路径时,发现一处异常:拉脱维亚到波兰的铁路网距离远大于波兰到拉脱维亚的返程距离,目前无法解释该问题。
测试代码如下:
import pandas as pd import plotly.express as px from scgraph_data.world_railways import world_railways_geograph from haversine import haversine, Unit # 拉脱维亚 -> 波兰 origin_node = {'latitude': 57.44720526589874, 'longitude': 25.349758294373878} destination_node = {'latitude': 53.19471528057347, 'longitude': 14.658120650544548} # 波兰 -> 拉脱维亚 # destination_node = {'latitude': 57.44720526589874, 'longitude': 25.349758294373878} # origin_node = {'latitude': 53.19471528057347, 'longitude': 14.658120650544548} sp = world_railways_geograph.get_shortest_path(origin_node=origin_node, destination_node=destination_node) network_distance = sp['length'] direct_distance = haversine((origin_node['latitude'], origin_node['longitude']), (destination_node['latitude'], destination_node['longitude']), unit=Unit.KILOMETERS) detour_index = round(network_distance / direct_distance, 4) print('Direct distance:', direct_distance, ', Network distance:', network_distance, ', Detour Index:', detour_index) # 绘制路线 df = pd.DataFrame(sp['coordinate_path'], columns=['latitude', 'longitude']) fig = px.scatter_mapbox(df, lat='latitude', lon='longitude', zoom=3, height=400) fig.update_layout(mapbox_style="open-street-map") fig.show()
往返切换注释的坐标后,两次计算出的铁路网距离差异显著,请问这是什么原因导致的?是否是scgraph包的Bug?
内容的提问来源于stack exchange,提问作者orarne
相关产品推荐
相关产品推荐

