我正在尝试使用nx.read_gpickle将networkx图形对象作为pickle导入,并收到pyproj.crs包不存在的错误。请注意,我使用的是GOSTnets,这是一个使用networkx、geopandas、osmnx和珍珠树进行网络分析的软件包。
我首先构建了图形,然后使用osmnx.project_graph进行投影,并使用GOSTnets.save进行保存:
G_proj = ox.project_graph(G)
# save Graph as pickle using GOSTnets.save:
gn.save(G_proj,'processed_graph_cleaned_part1_proj','./', pickle = True, edges = False, nodes = False)
# save in networkx terms:
wpath = r"MYPATH"
savename = 'processed_graph_cleaned_part1_proj'
nx.write_gpickle(G, os.path.join(wpath, '%s.pickle' % savename))然后在另一个笔记本中,我尝试导入图表:
import os, sys, time, importlib
import geopandas as gpd
import pandas as pd
import networkx as nx
import numpy as np
import GOSTnets as gn
# make sure osmium is installed (pip install osmium)
# An internal function called when creating the OSM_to_Network object will import osmium
from shapely.geometry import LineString, Point
import osmnx as ox
# import Graph pickle
G = nx.read_gpickle(r"MYPATH\processed_graph_cleaned_part1_proj.pickle")在执行此操作时,我收到以下错误:
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-19-2be4f8fabb58> in <module>
1 # read graph
2 # this graph is the
----> 3 G = nx.read_gpickle(r"MYPATH\processed_graph_cleaned_proj.pickle")
<decorator-gen-748> in read_gpickle(path)
C:\WBG\Anaconda\envs\test_gostNets\lib\site-packages\networkx\utils\decorators.py in _open_file(func_to_be_decorated, *args, **kwargs)
238 # Finally, we call the original function, making sure to close the fobj
239 try:
--> 240 result = func_to_be_decorated(*new_args, **kwargs)
241 finally:
242 if close_fobj:
C:\WBG\Anaconda\envs\test_gostNets\lib\site-packages\networkx\readwrite\gpickle.py in read_gpickle(path)
99 .. [1] https://docs.python.org/2/library/pickle.html
100 """
--> 101 return pickle.load(path)
102
103
ModuleNotFoundError: No module named 'pyproj.crs.crs'; 'pyproj.crs' is not a package我有pyproj版本: 2.4.2.post1,build: py36hc1560cf_1。Networkx版本:2.4。在jupyter和conda一起运行。有谁知道发生了什么吗?如果有重复的问题,很抱歉。
发布于 2020-08-01 02:14:02
您使用的是过时版本的pyproj。例如,当前版本的OSMnx requires pyproj>=2.6。2.4版没有您尝试使用的CRS模块。请确保根据其installation instructions安装OSMnx。
这与这里回答的问题类似:Cannot import name 'CRS' from 'pyproj' for using the osmnx library
https://stackoverflow.com/questions/63194384
复制相似问题