Commit 35196b1f authored by DaGal's avatar DaGal

Use an internal resources file for configuration

parent df9d4ef8
......@@ -21,6 +21,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
......@@ -112,7 +113,9 @@ public class CmdArgs extends PMap {
* @return a new CmdArgs object if necessary.
*/
public static CmdArgs readFromConfigAndMerge(CmdArgs args, String configKey, String configSysAttr) {
String configVal = args.get(configKey, "../conf/graphhopper.config");
ClassLoader classLoader = CmdArgs.class.getClassLoader();
URL resource = classLoader.getResource("graphhopper.config");
String configVal = args.get(configKey, resource.getPath());
if (!Helper.isEmpty(configVal)) {
try {
CmdArgs tmp = CmdArgs.readFromConfig(configVal, configSysAttr);
......
graph.location=../europe_spain-gh/
datareader.file=../europe_spain.pbf
index.max_region_search=16
##### 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.flag_encoders=car|turn_costs=true,foot
# Enable turn restrictions for car or motorcycle.
# graph.flag_encoders=car|turn_costs=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.cache_dir=./srtmprovider/
# If you have a slow disk or plenty of RAM change the default MMAP to:
# graph.elevation.dataaccess=RAM_STORE
#### Speed, hybrid and flexible mode ####
# By default the speed 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 comma separated list.
prepare.ch.weightings=fastest
# Disable the speed mode. Should be used only with routing.max_visited_nodes or when the hybrid mode is enabled instead
# prepare.ch.weightings=no
# To make CH 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.
# prepare.ch.threads=1
# The hybrid mode can be enabled with
# prepare.lm.weightings=fastest
# To tune the performance vs. memory usage for the hybrid mode use
# prepare.lm.landmarks=16
# Make landmark preparation parallel if you have enough RAM. Change this only if you know what you are doing and if the default worked for you.
# prepare.lm.threads=1
# avoid being stuck in a (oneway) subnetwork, see https://discuss.graphhopper.com/t/93
prepare.min_network_size=200
prepare.min_one_way_network_size=200
##### 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 within the given visited nodes. The default is Integer.MAX_VALUE. Useful for flexibility mode
# routing.max_visited_nodes = 1000000
# If enabled, allows a user to run flexibility requests even if speed mode is enabled. Every request then has to include a hint routing.ch.disable=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.ch.disabling_allowed=true
# If enabled, allows a user to run flexible mode requests even if the hybrid mode is enabled. Every such request then has to include a hint routing.lm.disable=true.
# routing.lm.disabling_allowed=true
# Control how many active landmarks are picked per default, this can improve query performance
# routing.lm.active_landmarks=4
# You can limit the max distance between two consecutive waypoints of flexible routing requests to be less or equal
# the given distance in meter. Default is set to 1000km.
routing.non_ch.max_waypoint_distance = 1000000
##### Web #####
# if you want to support jsonp response type you need to add it explicitly here. By default it is disabled for stronger security.
# web.jsonp_allowed=true
##### Storage #####
# configure the memory access, use RAM_STORE for well equipped servers (default and recommended)
graph.dataaccess=RAM_STORE
# will write way names in the preferred language (language code as defined in ISO 639-1 or ISO 639-2):
# datareader.preferred_language=en
# Sort the graph after import to make requests roughly ~10% faster. Note that this requires significantly more RAM on import.
# graph.do_sort=true
##### Spatial Rules #####
# Spatial Rules require some configuration and only work with the DataFlagEncoder.
# Spatial Rules require you to provide Polygons in which the rules are enforced
# The line below contains the default location for these rules
# spatial_rules.location=core/files/spatialrules/countries.geo.json
# You can define the maximum BBox for which spatial rules are loaded.
# You might want to do this if you are only importing a small area and don't need rules for other countries.
# Having less rules, might result in a smaller graph. The line below contains the world-wide bounding box, uncomment and adapt to your need.
# spatial_rules.max_bbox=-180,180,-90,90
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment