2015-04-07 2 views

ответ

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

Спасибо за ваш ответ.
создать свою карту таким образом:
[код] защищен недействительным storeOsmWayID (INT edgeId, долго osmWayId) \t { \t если (getOsmWayIdSet() содержит (osmWayId).) \t { \t getEdgeIdToOsmWayIdMap() положим (. edgeId, osmWayId); \t} \t // Creo Associazione TRA edgeId е osmWayId \t osmEdgeIdOsmWayIdMap.put (edgeId, osmWayId); \t} [code]
, но я не знаю, как сохранить его в моем графике и использовать его во время маршрутизации. Например. в пользовательском взвешивании. –

+0

Взгляните на весовую документацию, описывающую что-то подобное (weighting.md) – Karussell

+0

Я хотел бы создать свой собственный вес в таком виде: Weighting customWeighting = new MyFastestWeighting (ghEdgeIdToOSMWayIdMap, encoder); Но как получить ghEdgeIdToOSMWayIdMap, созданный во время импорта? Должен ли я сохранить его как свойства StorableProperties? –

 Смежные вопросы

  • Нет связанных вопросов^_^