1
Мне нужно сохранить карту edgeId-osmWayId во время импорта из файла OSM, чтобы использовать ее во время маршрутизации. Возможно ли это? Любое предложение?Как использовать карту osm в графическом купе?
Мне нужно сохранить карту edgeId-osmWayId во время импорта из файла OSM, чтобы использовать ее во время маршрутизации. Возможно ли это? Любое предложение?Как использовать карту osm в графическом купе?
Вы можете сохранить эту информацию на карте во время импорта. Поскольку он растет очень большой, я предлагаю использовать предварительно выделенный массив с большим количеством записей, так как есть края. Например. используйте пользовательский датчик:
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, ...));
Спасибо за ваш ответ.
создать свою карту таким образом:
[код] защищен недействительным 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]
, но я не знаю, как сохранить его в моем графике и использовать его во время маршрутизации. Например. в пользовательском взвешивании. –
Взгляните на весовую документацию, описывающую что-то подобное (weighting.md) – Karussell
Я хотел бы создать свой собственный вес в таком виде: Weighting customWeighting = new MyFastestWeighting (ghEdgeIdToOSMWayIdMap, encoder); Но как получить ghEdgeIdToOSMWayIdMap, созданный во время импорта? Должен ли я сохранить его как свойства StorableProperties? –