我需要在从 OSM 文件导入期间存储一个 edgeId-osmWayId 映射,以便在路由期间使用它。可能吗?有什么建议吗?
问问题
362 次
1 回答
0
您可以在导入时将此信息存储到地图中。随着它变得非常大,我建议使用预先分配的长数组,其中包含与边缘一样多的条目。例如使用自定义编码器:
CarFlagEncoder carEncoder = new CarFlagEncoder(5, 5, 3) {
@Override
public void applyWayTags(OSMWay way, EdgeIteratorState edge) {
ghEdgeIdToOSMWayIdMap[edge.getEdge()] = way.getId();
super.applyWayTags(way, edge);
}
};
setEncodingManager(new EncodingManager(carEncoder, ...));
于 2015-04-07T13:27:13.497 回答