wenke727 / st-mapmatching Goto Github PK
View Code? Open in Web Editor NEW基于时间和空间特性的全局地图匹配算法,基础路网可根据 bbox 下载并处理得到
License: MIT License
基于时间和空间特性的全局地图匹配算法,基础路网可根据 bbox 下载并处理得到
License: MIT License
换到Linux中运行了。给的样例数据路网数据覆盖不了第15条轨迹。然后试着调整了下载路网的经纬度,报了这样的错。
Parse ways: 0.19 s
2023-04-13 20:15:09.985 | DEBUG | mapmatching.osmnet.parse_osm_xml:_parse_xml:231 - Drop duplicates ways, way ids: []
Parse nodes: 0.30 s
Transform to Dataframe: 0.59 s, node len: 7008
Combine edges: 100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 770/770 [00:01<00:00, 662.97it/s]
Simplify the graph, len 7495 -> 2153, 71.27 % off
Add revert edge, len 2153 -> 2264, 5.16 % up
2023-04-13 20:15:12.271 | DEBUG | mapmatching.osmnet.parse_osm_xml:check_multi_edges:165 - Exists 32 multi-egdes:
{772, 517, 773, 779, 1937, 1556, 1177, 1309, 1182, 1311, 289, 1569, 298, 556, 1589, 312, 826, 827, 1345, 837, 719, 1872, 853, 855, 1112, 1139, 1653, 885, 1143, 2040, 1787, 894}
Traceback (most recent call last):
File "/tmp/pycharm_project_650/demo.py", line 7, in
net = build_geograph(bbox=[113.920228, 22.526326, 113.937015, 22.5755998],
File "/tmp/pycharm_project_650/mapmatching/osmnet/build_graph.py", line 28, in build_geograph
df_nodes, df_edges, df_ways = parse_xml_to_graph(xml_fn, *args, **kwargs)
File "/tmp/pycharm_project_650/mapmatching/osmnet/parse_osm_xml.py", line 362, in parse_xml_to_graph
df_edges = _process_multi_edges(df_edges, ori_df_edges, df_ways)
File "/tmp/pycharm_project_650/mapmatching/osmnet/parse_osm_xml.py", line 332, in _process_multi_edges
neg_df_edges = swap_od(ori_df_edges.loc[neg_od_set])
File "/tmp/pycharm_project_650/mapmatching/osmnet/twoway_edge.py", line 9, in swap_od
df_edge_rev.loc[:, 'dir'] = -1
File "/root/anaconda3/envs/stmm/lib/python3.9/site-packages/pandas/core/indexing.py", line 818, in setitem
iloc._setitem_with_indexer(indexer, value, self.name)
File "/root/anaconda3/envs/stmm/lib/python3.9/site-packages/pandas/core/indexing.py", line 1718, in _setitem_with_indexer
raise ValueError(
ValueError: cannot set a frame with no defined index and a scalar
在 demo.py 中,我尝试对build_geograph()
函数中的n_jobs
参数进行修改。由于虚拟机只分配到了 2 个核心,我在 1 和 2 之间进行修改,但Parse ways
、Parse nodes
、Transform to Dataframe
等步骤的时长并没有明显变化,请问是虚拟机的问题吗?还是n_jobs
参数起作用的地方并不在此?
traj_debug_dashiyilu_0.geojson
作者您好!我的毕业设计涉及到您所做的项目,于是下载了您的“v1.1.1”版源码进行学习。在初步配置之后运行 main.py,我遇到了这样的报错:
D:\Graduation` project\venv\lib\site-packages\geopandas\_compat.py:84: UserWarning: The Shapely GEOS version (3.11.1-CAPI-1.17.1) is incompatible with the GEOS version PyGEOS was compiled with (3.10.1-CAPI-1.16.0). Conversions between both will be slow.
warnings.warn(
Traceback (most recent call last):
File "D:/Graduation Project/wenke727_ST-Matching/src/main.py", line 1, in <module>
from DigraphOSM import DigraphOSM
File "D:\Graduation Project\wenke727_ST-Matching\src\DigraphOSM.py", line 7, in <module>
import geopandas as gpd
File "D:\Graduation project\venv\lib\site-packages\geopandas\__init__.py", line 3, in <module>
from geopandas.geoseries import GeoSeries # noqa
File "D:\Graduation project\venv\lib\site-packages\geopandas\geoseries.py", line 12, in <module>
from geopandas.base import GeoPandasBase, _delegate_property
File "D:\Graduation project\venv\lib\site-packages\geopandas\base.py", line 13, in <module>
from .array import GeometryArray, GeometryDtype
File "D:\Graduation project\venv\lib\site-packages\geopandas\array.py", line 25, in <module>
from . import _vectorized as vectorized
File "D:\Graduation project\venv\lib\site-packages\geopandas\_vectorized.py", line 39, in <module>
type_mapping = {p.value: _names[p.name] for p in pygeos.GeometryType}
File "D:\Graduation project\venv\lib\site-packages\geopandas\_vectorized.py", line 39, in <dictcomp>
type_mapping = {p.value: _names[p.name] for p in pygeos.GeometryType}
KeyError: 'MISSING'
环境:Windows 11 家庭版,Pycharm Pro 2021.2,Python 3.8.6
不知道您是否愿意帮我看看,万分感谢!
听取您上次的建议之后,我对/mapmatching/match/candidatesGraph.py#L96
进行了修正,确实没有再报相同错误了。
但我又遇到了新的问题,在完成匹配过程并生成 log 文件后,并没有出现对应的结果图片。于是我在 ubuntu 18.04 LTS 下配置了一个新的环境,这次没有额外的报错,令人不解的是出现了和 windows 下一样的情况:没有出现任何结果图片。
本人水平实在有限,仿照教程在 demo.py 的第四步后添加了如下的语句:
import matplotlib.pyplot as plt
plt.show()
请问和原文《Map-Matching for Low-Sampling-Rate GPS Trajectories》相比,本项目具体有哪些改动呢?
按照readMe里的环境安装完了,运行demo报了下面这个错是为啥呀
D:\Anaconda3\envs\stmm\python.exe D:\pythonProject\useful\ST-MapMatching\demo.py
2023-04-12 16:31:06.090 | INFO | mapmatching.matching:matching:75 -
start
2023-04-12 16:31:06.095 | INFO | mapmatching.utils.timer:inner:40 - align_crs, cost: 4.00 ms
2023-04-12 16:31:06.099 | DEBUG | mapmatching.geo.ops.simplify:simplify_trajetory_points:115 - Trajectory compression rate: 100.0% (6 -> 6)
2023-04-12 16:31:06.099 | INFO | mapmatching.utils.timer:inner:40 - simplify, cost: 4.00 ms
2023-04-12 16:31:06.102 | INFO | mapmatching.utils.timer:inner:40 - _get_cands, cost: 2.00 ms
2023-04-12 16:31:06.509 | INFO | mapmatching.utils.timer:inner:40 - _project, cost: 407.39 ms
2023-04-12 16:31:06.517 | INFO | mapmatching.utils.timer:inner:40 - _filter_candidate, cost: 3.00 ms
2023-04-12 16:31:06.517 | INFO | mapmatching.utils.timer:inner:40 - get_k_neigh_geoms, cost: 418.40 ms
2023-04-12 16:31:06.532 | INFO | mapmatching.utils.timer:inner:40 - construct_graph, cost: 14.01 ms
2023-04-12 16:31:06.537 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905469, -221936732), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905469, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905469, 884162176), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905469, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905469, -1786905389), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-221936732, -63073670), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, 884162176), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, -1786905389), src
not in graph, dst
not in graph
2023-04-12 16:31:06.538 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905409, -221936732), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905409, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905409, 884162176), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905409, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905409, -1786905389), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905398, -221936732), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905398, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905398, 884162176), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905398, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.539 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905398, -1786905389), src
not in graph, dst
not in graph
2023-04-12 16:31:06.543 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905427, -221936732), src
not in graph, dst
not in graph
2023-04-12 16:31:06.543 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905427, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.543 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905427, 884162176), src
not in graph, dst
not in graph
2023-04-12 16:31:06.543 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905427, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.543 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-1786905427, -1786905389), src
not in graph, dst
not in graph
2023-04-12 16:31:06.563 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-221936732, -63073670), src
not in graph, dst
not in graph
2023-04-12 16:31:06.563 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, 884162176), src
not in graph, dst
not in graph
2023-04-12 16:31:06.563 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, -1786905389), src
not in graph, dst
not in graph
2023-04-12 16:31:06.563 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.563 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, 845273725), src
not in graph, dst
not in graph
2023-04-12 16:31:06.580 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, 1050142912), src
not in graph, dst
not in graph
2023-04-12 16:31:06.580 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, -63073664), src
not in graph, dst
not in graph
2023-04-12 16:31:06.581 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073670, -63073649), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050142912, 1050143526), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050142912, -63073594), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050142912, -63073594), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050142912, -63073579), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050142912, -63073578), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073676, 1050143526), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073676, -63073594), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073676, -63073594), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073676, -63073579), src
not in graph, dst
not in graph
2023-04-12 16:31:06.594 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073676, -63073578), src
not in graph, dst
not in graph
2023-04-12 16:31:06.608 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073578, -63073580), src
not in graph, dst
not in graph
2023-04-12 16:31:06.608 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073578, 845273726), src
not in graph, dst
not in graph
2023-04-12 16:31:06.608 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073578, 845273726), src
not in graph, dst
not in graph
2023-04-12 16:31:06.608 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073578, -63073580), src
not in graph, dst
not in graph
2023-04-12 16:31:06.608 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073578, 1050143546), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050143526, -63073580), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050143526, 845273726), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050143526, 845273726), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050143526, -63073580), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (1050143526, 1050143546), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073597, -63073580), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073597, 845273726), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073597, 845273726), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073597, -63073580), src
not in graph, dst
not in graph
2023-04-12 16:31:06.609 | DEBUG | mapmatching.graph.astar:has_edge:48 - Trip (-63073597, 1050143546), src
not in graph, dst
not in graph
2023-04-12 16:31:06.629 | INFO | mapmatching.utils.timer:inner:40 - spatial_analysis, cost: 110.61 ms
2023-04-12 16:31:06.639 | INFO | mapmatching.utils.timer:inner:40 - get_path, cost: 10.01 ms
2023-04-12 16:31:06.645 | INFO | mapmatching.utils.timer:inner:40 - align_crs, cost: 2.00 ms
2023-04-12 16:31:06.966 | INFO | mapmatching.utils.timer:inner:40 - matching, cost: 876.84 ms
Traceback (most recent call last):
File "D:\pythonProject\useful\ST-MapMatching\demo.py", line 27, in
proj_traj = matcher.project(traj, path)
File "D:\pythonProject\useful\ST-MapMatching\mapmatching\matching.py", line 211, in project
ps = project_points_2_linestrings(
File "D:\pythonProject\useful\ST-MapMatching\mapmatching\geo\ops\point2line.py", line 132, in project_points_2_linestrings
proj_df.loc[:, att_lst] = proj_df.apply(
File "D:\Anaconda3\envs\stmm\lib\site-packages\pandas\core\frame.py", line 9568, in apply
return op.apply().finalize(self, method="apply")
File "D:\Anaconda3\envs\stmm\lib\site-packages\pandas\core\apply.py", line 764, in apply
return self.apply_standard()
File "D:\Anaconda3\envs\stmm\lib\site-packages\pandas\core\apply.py", line 891, in apply_standard
results, res_index = self.apply_series_generator()
File "D:\Anaconda3\envs\stmm\lib\site-packages\pandas\core\apply.py", line 907, in apply_series_generator
results[i] = self.f(v)
File "D:\pythonProject\useful\ST-MapMatching\mapmatching\geo\ops\point2line.py", line 133, in
lambda x: project_point_2_linestring(
File "D:\pythonProject\useful\ST-MapMatching\mapmatching\geo\ops\point2line.py", line 32, in project_point_2_linestring
dist = line.project(point, normalized)
File "D:\Anaconda3\envs\stmm\lib\site-packages\shapely\geometry\base.py", line 827, in project
return shapely.line_locate_point(self, other, normalized=normalized)
File "D:\Anaconda3\envs\stmm\lib\site-packages\shapely\decorators.py", line 77, in wrapped
return func(*args, **kwargs)
File "D:\Anaconda3\envs\stmm\lib\site-packages\shapely\linear.py", line 88, in line_locate_point
return lib.line_locate_point_normalized(line, other)
shapely.errors.GEOSException: IllegalArgumentException: LinearIterator only supports lineal geometry components
Process finished with exit code 1
from DigraphOSM import DigraphOSM
from MapMathing import ST_Matching
请问这两个依赖模块需要安装什么呢
请问是否存在一个简单的设置,能够停止调用多进程,以使得代码能够在windows下运行?
楼主你好,我按照提示将geojson文件复制到自己的的input文件后运行main.py后报了以下错误:
``if self._sindex is None:
AttributeError: 'GeometryArray' object has no attribute '_sindex'
以下是我修改main.py部分代码:
from DigraphOSM import DigraphOSM
from MapMathing import ST_Matching
if __name__ == "__main__":
# step 1: 获取/加载道路网络
from setting import PCL_BBOX
# network = DigraphOSM("PCL", bbox=PCL_BBOX)
# 预处理 深圳市network, 导入代码如下
network = DigraphOSM("Shenzhen", resume='../input/ShenzhenNetwork.pkl')
# step 2: 创建地图匹配 matcher
matcher = ST_Matching(net=network)
# step 3: 加载轨迹点集合,以打石一路为例
# traj = matcher.load_points("../input/test/traj_debug_dashiyilu_0.geojson")
# traj = matcher.load_points("../input/points.geojson")
traj = matcher.load_points("../input/points.geojson", in_sys='wgs')
# step 4: 开始匹配
path = matcher.matching(traj, plot=True, top_k=3, dir_trans=True, plot_scale=.01)
楼主您好,很抱歉打扰您。
我近期正在运行st-matching的代码,但是遇到许多报错。能否添加下您的联系方式,请您指导指导我,可有偿。
如果您能同意,我将十分感谢!
我的微信:szbl129
楼主您好,很抱歉打扰您。
请问输出结果中的step_0和step_n是什么意思呀
我做毕业论文是路段行程时间预测,需要知道GPS点具体匹配到哪个路段上面,可以用这个吗
非常感谢
在运行 demo.py 的过程中,我遇到了新的问题:
Traceback (most recent call last):
File "D:\Graduation Projects\wenke727_ST-Matching_204\demo.py", line 28, in <module>
proj_traj = matcher.project(traj, path)
File "D:\Graduation Projects\wenke727_ST-Matching_204\mapmatching\matching.py", line 211, in project
ps = project_points_2_linestrings(
File "D:\Graduation Projects\wenke727_ST-Matching_204\mapmatching\geo\ops\point2line.py", line 132, in project_points_2_linestrings
proj_df.loc[:, att_lst] = proj_df.apply(
File "D:\Miniconda3\envs\ST-Matching\lib\site-packages\pandas\core\frame.py", line 9568, in apply
return op.apply().__finalize__(self, method="apply")
File "D:\Miniconda3\envs\ST-Matching\lib\site-packages\pandas\core\apply.py", line 764, in apply
return self.apply_standard()
File "D:\Miniconda3\envs\ST-Matching\lib\site-packages\pandas\core\apply.py", line 891, in apply_standard
results, res_index = self.apply_series_generator()
File "D:\Miniconda3\envs\ST-Matching\lib\site-packages\pandas\core\apply.py", line 907, in apply_series_generator
results[i] = self.f(v)
File "D:\Graduation Projects\wenke727_ST-Matching_204\mapmatching\geo\ops\point2line.py", line 133, in <lambda>
lambda x: project_point_2_linestring(
File "D:\Graduation Projects\wenke727_ST-Matching_204\mapmatching\geo\ops\point2line.py", line 32, in project_point_2_linestring
dist = line.project(point, normalized)
File "D:\Miniconda3\envs\ST-Matching\lib\site-packages\shapely\geometry\base.py", line 827, in project
return shapely.line_locate_point(self, other, normalized=normalized)
File "D:\Miniconda3\envs\ST-Matching\lib\site-packages\shapely\decorators.py", line 77, in wrapped
return func(*args, **kwargs)
File "D:\Miniconda3\envs\ST-Matching\lib\site-packages\shapely\linear.py", line 88, in line_locate_point
return lib.line_locate_point_normalized(line, other)
shapely.errors.GEOSException: IllegalArgumentException: LinearIterator only supports lineal geometry components
进程已结束,退出代码为 1
不知道您对此有什么好的建议呢?
想请问一下除了可视化结果之外,作者您有对实验结果使用可量化的评价指标吗?比如说论文里的匹配率之类的
在对./data/trajs
文件夹下的 geojson 文件进行一一测试时,我发现只有极少的几个能够得到匹配结果,其余的都会报错。
如将 demo.py 文件中第 21 行的 idx 参数修改为 0,对应的 traj_0.geojson 并不能成功匹配,报错如下:
Traceback (most recent call last):
File "/home/jwx/Code/Python/wenke727_ST-Matching_205/demo.py", line 23, in <module>
res = matcher.matching(traj, top_k=5, dir_trans=True, details=False, plot=True,
File "/home/jwx/Code/Python/wenke727_ST-Matching_205/mapmatching/utils/timer.py", line 36, in inner
res = func(*args, **kwargs)
File "/home/jwx/Code/Python/wenke727_ST-Matching_205/mapmatching/matching.py", line 87, in matching
cands = analyse_geometric_info(_traj, self.base_edges, top_k, self.cand_search_radius)
File "/home/jwx/Code/Python/wenke727_ST-Matching_205/mapmatching/match/geometricAnalysis.py", line 41, in analyse_geometric_info
cands.loc[:, 'observ_prob'] = cal_observ_prob(cands.dist_p2c)
AttributeError: 'NoneType' object has no attribute 'dist_p2c'
请问我该如何修改输入示例呢?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.