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

Windows环境下pyrosm与r5py安装后无法导入问题求助及替代包咨询

问题解决与替代方案

一、解决pyrosm/r5py导入失败问题

1. 绑定conda环境与Jupyter内核

Windows下Jupyter经常会默认用系统Python,而非你创建的conda环境,按以下步骤绑定:

  • 打开终端,激活目标conda环境:
    conda activate r5py
    
  • 在激活的环境里安装ipykernel:
    conda install ipykernel
    
  • 将该环境注册为Jupyter可用内核:
    python -m ipykernel install --user --name=r5py
    
  • 重启Jupyter Notebook,右上角选择r5py内核后再尝试导入包。

2. 验证包是否真的安装成功

激活conda环境后,在终端执行:

pip list | findstr pyrosm
pip list | findstr r5py

如果看不到对应包的版本,说明安装没成功,重新安装:

  • pyrosm优先用pip安装(Windows下conda安装易出依赖问题):
    pip install pyrosm
    
  • r5py安装时强制使用conda-forge源:
    conda install -c conda-forge --override-channels r5py
    

3. 核对Python解释器路径

在Jupyter里运行以下代码,查看当前使用的Python路径:

import sys
print(sys.executable)

对比conda环境里的Python路径(激活环境后执行where python查看),如果不一致,说明内核没选对,回到步骤1重新绑定。

二、地理空间分析与可达性替代包推荐

针对生成50×50×50六边形网格、连接网格中心与城市网络的需求,推荐以下工具组合:

1. GeoPandas + h3-py

  • 生成六边形网格:h3-py可以快速生成指定精度的六边形网格,通过调整精度和边界范围匹配50×50×50的规模:
    import h3
    import geopandas as gpd
    from shapely.geometry import Polygon
    
    # 替换为你的城市边界经纬度范围
    bounds = [lon_min, lat_min, lon_max, lat_max]
    # 调整h3精度(值越大网格越小,按需测试)
    h3_resolution = 8
    # 生成边界内的所有h3网格ID
    h3_ids = h3.polyfill(h3.bounds_to_polygon(bounds), h3_resolution)
    # 转换为GeoDataFrame格式
    polygons = [Polygon(h3.h3_to_geo_boundary(h3_id, geo_json=True)) for h3_id in h3_ids]
    grid_gdf = gpd.GeoDataFrame({'h3_id': h3_ids, 'geometry': polygons}, crs="EPSG:4326")
    # 提取网格中心
    grid_gdf['centroid'] = grid_gdf.geometry.centroid
    
  • 连接城市网络:结合OSMnx获取路网,用空间最近邻分析匹配网格中心与路网节点:
    import osmnx as ox
    
    # 获取目标城市的路网(示例:上海市中心驾车路网)
    G = ox.graph_from_place("Shanghai, China", network_type="drive")
    # 转换路网为GeoDataFrame格式
    nodes_gdf, edges_gdf = ox.graph_to_gdfs(G)
    # 匹配每个网格中心最近的路网节点
    nearest_nodes = gpd.sjoin_nearest(grid_gdf, nodes_gdf, how="left", max_distance=1000)
    

2. OSMnx + Pandas

OSMnx本身专注于路网获取与分析,搭配h3-py生成的网格,可快速完成可达性计算,适合侧重路网分析的场景。

3. PySAL

PySAL包含多个子包,pysal.lib支持生成六边形规则网格,pysal.network提供网络分析工具,适合需要深入空间统计建模的需求。

内容的提问来源于stack exchange,提问作者Saro Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 16:22:51