Запуск графоппера в гибком режиме

Хотя я активировал «prepare.chWeightings=no» в своем файле свойств, похоже, что стартовый журнал все еще хочет подготовить CHWeightings!

Мой файл config-example.properties:

##### Vehicles #####

# Possible options: car,foot,bike,bike2,mtb,racingbike,motorcycle (comma separated)
# bike2 takes elevation data into account (like up-hill is slower than down-hill) and requires enabling graph.elevation.provider below
  graph.flagEncoders=car

# Enable turn restrictions for car or motorcycle.
# Currently you need to additionally set prepare.chWeightings=no before using this (see below and #270)
# graph.flagEncoders=car|turnCosts=true



##### Elevation #####

# To populate your graph with elevation data use SRTM, default is noop (no elevation)
# graph.elevation.provider=srtm

# default location for cache is /tmp/srtm
# graph.elevation.cachedir=./srtmprovider/

# If you have a slow disk or plenty of RAM change the default MMAP to:
# graph.elevation.dataaccess=RAM_STORE



#### Speed-up mode vs. flexibility mode ####

# By default the speed-up mode with the 'fastest' weighting is used. Internally a graph preparation via
# contraction hierarchies (CH) is done to speed routing up. This requires more RAM/disc space for holding the
# graph but less for every request. You can also setup multiple weightings, by providing a coma separated list.
# prepare.chWeightings=fastest

# Disable the speed-up mode. Should be use only with routing.maxVisitedNodes
  prepare.chWeightings=no

# To make preparation faster for multiple flagEncoders you can increase the default threads if you have enough RAM.
# Change this setting only if you know what you are doing and if the default worked for you and really make sure you have enough RAM!
# prepare.threads=1



##### Routing #####

# You can define the maximum visited nodes when routing. This may result in not found connections if there is no
# connection between two points wihtin the given visited nodes. The default is Integer.MAX_VALUE. Useful for flexibility mode
  routing.maxVisitedNodes = 1000000

# If enabled, allows a user to run flexibility requests even if speed-up mode is enabled. Every request then has to include a hint routing.flexibleMode.force=true.
# Attention, non-CH route calculations take way more time and resources, compared to CH routing.
# A possible attacker might exploit this to slow down your service. Only enable it if you need it and with routing.maxVisitedNodes
  routing.flexibleMode.allowed=true



##### Web #####

# if you want to support jsonp response type you need to add it explicitely here. By default it is disabled for stronger security.
  web.jsonpAllowed=true



##### Storage #####
#
# configure the memory access, use RAM_STORE for well equipped servers (default and recommended) or MMAP_STORE_SYNC
graph.dataaccess=RAM_STORE

# if you don't need turn instruction, you can reduce storage size by not storing way names:
# osmreader.instructions=false

# will write way names in the preferred language (language code as defined in ISO 639-1 or ISO 639-2):
# osmreader.preferred-language=en

Моя консоль:

java -jar *.jar jetty.resourcebase=webapp config=config-example.properties osmreader.osm=germany-latest.osm.pbf
[main] INFO  com.graphhopper.GraphHopper - version 0.7|2016-04-27T10:00:38Z (4,13,3,2,2,1)
[main] INFO  com.graphhopper.GraphHopper - graph CH|car|RAM_STORE|2D|NoExt|,,,,, details:edges:0(0MB), nodes:0(0MB), name:(0MB), geo:0(0MB), bounds:1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308, CHGraph|fastest|car, shortcuts:0, nodesCH:(0MB)
[main] INFO  com.graphhopper.GraphHopper - start creating graph from germany-latest.osm.pbf
[main] INFO  com.graphhopper.GraphHopper - using CH|car|RAM_STORE|2D|NoExt|,,,,, memory:totalMB:964, usedMB:25
[main] INFO  com.graphhopper.reader.OSMReader - 5 000 000 (preprocess), osmIdMap:32 042 694 (381MB) totalMB:6281, usedMB:3934
[main] INFO  com.graphhopper.reader.OSMReader - 50 000 (preprocess), osmWayMap:0 totalMB:6465, usedMB:3537
[main] INFO  com.graphhopper.reader.OSMReader - 100 000 (preprocess), osmWayMap:0 totalMB:6465, usedMB:4153
[main] INFO  com.graphhopper.reader.OSMReader - 150 000 (preprocess), osmWayMap:0 totalMB:6465, usedMB:4837
[main] INFO  com.graphhopper.reader.OSMReader - 200 000 (preprocess), osmWayMap:0 totalMB:6465, usedMB:5420
[main] INFO  com.graphhopper.reader.OSMReader - 250 000 (preprocess), osmWayMap:0 totalMB:6457, usedMB:1120
[main] INFO  com.graphhopper.reader.OSMReader - 300 000 (preprocess), osmWayMap:0 totalMB:6457, usedMB:1677
[main] INFO  com.graphhopper.reader.OSMReader - 350 000 (preprocess), osmWayMap:0 totalMB:6457, usedMB:2212
[main] INFO  com.graphhopper.reader.OSMReader - 400 000 (preprocess), osmWayMap:0 totalMB:6457, usedMB:2896
[main] INFO  com.graphhopper.reader.OSMReader - 450 000 (preprocess), osmWayMap:0 totalMB:6457, usedMB:3479
[main] INFO  com.graphhopper.reader.OSMReader - 500 000 (preprocess), osmWayMap:0 totalMB:6457, usedMB:4014
[main] INFO  com.graphhopper.reader.OSMReader - creating graph. Found nodes (pillar+tower):36 542 424, totalMB:6457, usedMB:4111
[main] INFO  com.graphhopper.reader.OSMReader - 100 000 000, locs:24 711 933 (0) totalMB:6415, usedMB:1203
[main] INFO  com.graphhopper.reader.OSMReader - 200 000 000, locs:33 458 643 (0) totalMB:6282, usedMB:2842
[main] INFO  com.graphhopper.reader.OSMReader - 241 756 168, now parsing ways
[main] WARN  com.graphhopper.routing.util.AbstractFlagEncoder - Unrealistic long duration ignored in way with OSMID=409892450 : Duration tag value=13:15 (=795 minutes)
[main] INFO  com.graphhopper.reader.OSMReader - 280 449 722, now parsing relations
[main] INFO  com.graphhopper.reader.OSMReader - finished way processing. nodes: 8773936, osmIdMap.size:36674781, osmIdMap:468MB, nodeFlagsMap.size:132357, relFlagsMap.size:0, zeroCounter:131245 totalMB:7276, usedMB:6425
[main] INFO  com.graphhopper.reader.OSMReader - time(pass1): 104 pass2: 132 total:236
[main] INFO  com.graphhopper.GraphHopper - start finding subnetworks, totalMB:7276, usedMB:6427
[main] INFO  com.graphhopper.routing.util.PrepareRoutingSubnetworks - 165929 subnetworks found for car, totalMB:7276, usedMB:6743
[main] INFO  com.graphhopper.routing.util.PrepareRoutingSubnetworks - optimize to remove subnetworks (165929), unvisited-dead-end-nodes (0), maxEdges/node (13)
[main] INFO  com.graphhopper.GraphHopper - edges: 10586032, nodes 8344328, there were 165929 subnetworks. removed them => 429608 less nodes
[main] INFO  com.graphhopper.storage.index.LocationIndexTree - location index created in 7.324438s, size:10 241 180, leafs:2 299 038, precision:300, depth:5, checksum:8344328, entries:[64, 64, 64, 16, 4], entriesPerLeaf:4.4545503
[main] INFO  com.graphhopper.routing.ch.CHAlgoFactoryDecorator - 1/1 calling prepare.doWork for fastest|car ... (totalMB:7271, usedMB:3588)
[fastest_car] INFO  com.graphhopper.routing.ch.PrepareContractionHierarchies - 0, updates:0, nodes: 8 344 328, shortcuts:0, dijkstras:33 871 012, t(dijk):5.4, t(period):0.0, t(lazy):0.0, t(neighbor):0.0, meanDegree:1, algo:127MB, totalMB:7271, usedMB:4275
[fastest_car] INFO  com.graphhopper.routing.ch.PrepareContractionHierarchies - 1 668 860, updates:0, nodes: 6 675 468, shortcuts:675, dijkstras:34 551 628, t(dijk):6.55, t(period):0.0, t(lazy):0.0, t(neighbor):1.73, meanDegree:0, algo:127MB, totalMB:7271, usedMB:4301
[fastest_car] INFO  com.graphhopper.routing.ch.PrepareContractionHierarchies - 3 337 720, updates:1, nodes: 5 006 608, shortcuts:1 043 389, dijkstras:65 810 344, t(dijk):22.94, t(period):11.56, t(lazy):0.0, t(neighbor):8.92, meanDegree:1, algo:127MB, totalMB:7271, usedMB:5068
[fastest_car] INFO  com.graphhopper.routing.ch.PrepareContractionHierarchies - 5 006 580, updates:2, nodes: 3 337 748, shortcuts:2 164 049, dijkstras:94 377 631, t(dijk):99.06, t(period):72.35, t(lazy):0.0, t(neighbor):19.56, meanDegree:1, algo:127MB, totalMB:7271, usedMB:5784
[fastest_car] INFO  com.graphhopper.routing.ch.PrepareContractionHierarchies - 6 675 440, updates:3, nodes: 1 668 888, shortcuts:3 836 152, dijkstras:117 298 010, t(dijk):182.91, t(period):123.25, t(lazy):0.0, t(neighbor):39.4, meanDegree:2, algo:127MB, totalMB:7271, usedMB:6553
[fastest_car] INFO  com.graphhopper.routing.ch.PrepareContractionHierarchies - 8 344 300, updates:4, nodes: 254 254, shortcuts:5 744 154, dijkstras:146 679 623, t(dijk):333.88, t(period):171.72, t(lazy):35.62, t(neighbor):79.67, meanDegree:3, algo:127MB, totalMB:7457, usedMB:1791
[fastest_car] INFO  com.graphhopper.routing.ch.PrepareContractionHierarchies - took:515, new shortcuts: 6 499 068, prepare|fastest, car, dijkstras:167252328, t(dijk):451.61, t(period):188.89, t(lazy):70.18, t(neighbor):134.1, meanDegree:1, initSize:8344328, periodic:20, lazy:10, neighbor:20, totalMB:7457, usedMB:2019
[main] INFO  com.graphhopper.GraphHopper - flushing graph CH|car|RAM_STORE|2D|NoExt|4,13,3,2,2, details:edges:10 586 032(324MB), nodes:8 344 328(96MB), name:(35MB), geo:52 329 514(200MB), bounds:5.863066148677457,25.196558055204704,47.27804356689848,60.22003669783555, CHGraph|fastest|car, shortcuts:6 499 068, nodesCH:(64MB), totalMB:7457, usedMB:2036)
[main] INFO  com.graphhopper.http.DefaultModule - loaded graph at:germany-latest.osm-gh, source:germany-latest.osm.pbf, flagEncoders:car, class:edges:10 586 032(324MB), nodes:8 344 328(96MB), name:(35MB), geo:52 329 514(200MB), bounds:5.863066148677457,25.196558055204704,47.27804356689848,60.22003669783555, CHGraph|fastest|car, shortcuts:6 499 068, nodesCH:(64MB)
[main] INFO  com.graphhopper.http.GHServer - Started server at HTTP : 8888

Итак, мой файл конфигурации подходит для гибкого режима? И правильно ли упоминается «PrepareContractionHierarchies» в журналах графхоппера, когда я хочу запустить его в гибком режиме?

спасибо за ответы


person pebbles    schedule 09.05.2016    source источник
comment
Не могли бы вы попробовать prepare.chWeighting=no без s? Это уродливая вещь, которую мы исправили в последнем мастере (или в 0.6.0? На самом деле не уверен ;)). Кстати: также можно будет выполнять запросы гибкости, даже если тогда CH включен. Ах, похоже, вы используете ветку master? Тогда уже должно работать...   -  person Karussell    schedule 09.05.2016
comment
спасибо за быстрый ответ. Я использую graphhopper-web-0.7-SNAPSHOT-with-dep.jar. Итак, я удалил s из prepare.chWeightings=no, и это все равно не работает :/. вот журнал: ИНФОРМАЦИЯ: исключение было поймано и сообщено. Сообщение: java.lang.IllegalStateException: используйте prepare.chWeightings и список, разделенный запятыми, вместо prepare.chWeighting java.lang.IllegalStateException: не удалось загрузить граф   -  person pebbles    schedule 09.05.2016
comment
Это должно работать, но так как трудно точно определить, какое именно состояние 0.7-SNAPSHOT вы используете (и временно основная ветка может быть сломана): не могли бы вы использовать стабильную версию, например 0.6.0? Использование основной ветки полезно только в том случае, если вы знаете, что делаете, или хотите многому научиться :)   -  person Karussell    schedule 09.05.2016
comment
спасибо - работает с 0.6.0 :)   -  person pebbles    schedule 10.05.2016
comment
Кстати: в следующей версии гибкие запросы будут работать, даже если включена CH-подготовка.   -  person Karussell    schedule 10.05.2016
comment
после успешной настройки графоппера в гибком режиме это мой следующий огромный шаг: маршрутизация игнорирует сегмент улицы"> stackoverflow.com/questions/37134406/   -  person pebbles    schedule 10.05.2016