You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 09:04:54