如何在graphhopper中映射osm方式



在从OSM文件导入过程中,我需要存储一个edgeId osmWayId映射,以便在路由过程中使用它。有可能吗?有什么建议吗?

您可以在导入时将这些信息存储到映射中。由于它变得非常大,我建议使用一个预先分配的长数组,该数组的条目数量与边缘数量一样多。例如,使用自定义编码器:

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, ...));

相关内容

  • 没有找到相关文章

最新更新