我正在运行一段应该获取(或生成)点的代码,对它们进行三角剖分,然后找到两点之间的最短路径,所有这些都使用python在Scipy上完成。
所以我明白了,运行库的Delaunay算法(给我一个三角剖分)并将其提供给shortest_path
。
问题是我从库中收到错误。即
ValueError:图形应具有两个维度
源自csgraph_masked_from_dense
。使用debug或graph.ndim
验证图确实是2D。我什至在csgraph_masked_from_dense
之前进入图书馆的代码并进行了检查,实际上,它得到了2D图形。
import scipy.spatial
import scipy.sparse
#
# tedious code imputing/generating m = list of lists with point coordinates
#
dela = scipy.spatial.Delaunay(m) # this works fine
paths = scipy.sparse.csgraph.shortest_path(dela) #this throws the following error
回溯(最近通话最近一次):
第10行中的文件“ C:\ Path \ above_code.py” 路径= scipy.sparse.csgraph.shortest_path(dela)
scipy.sparse.csgraph._shortest_path.shortest_path中的文件“ _shortest_path.pyx”,第157行
validate_graph中第44行的文件“ C:\ Path \ Python \ Python37-32 \ lib \ site-packages \ scipy \ sparse \ csgraph_validation.py” infinity_null = infinity_null)
scipy.sparse.csgraph._tools.csgraph_masked_from_dense中的文件“ _tools.pyx”,第141行
ValueError:图形应具有两个维度