Skip to content

Configuration

Daniel Tischner edited this page Aug 18, 2018 · 15 revisions
Table of Contents

Overview

The configuration of the backend is located at backend/res/config.ini which is automatically created on start, filled with default values:

#Configuration settings for Cobweb.
#Sun May 20 14:48:42 CEST 2018
useExternalDb=true
jdbcUrl=jdbc\:sqlite\:res/cache/db/routing.db
dbInfo=res\\cache\\db\\db.info
initDbScript=res\\cache\\db\\scripts\\initDb.sql
cleanDbScript=res\\cache\\db\\scripts\\cleanDb.sql
routingModelMode=GRAPH_WITH_TIMETABLE
accessNodesMaximum=3
abortTravelTimeToAccessNodes=900
amountOfLandmarks=20
transferDelay=180
footpathReachability=1000
useGraphCache=true
graphCache=res\\cache\\graph\\graphCache.ser
graphCacheInfo=res\\cache\\graph\\graphCache.info
gtfsDirectory=res\\input\\gtfs
osmDirectory=res\\input\\osm
osmRoadFilter=res\\filter\\osm\\road.filter
nearestSearchServerPort=2847
nameSearchServerPort=2846
nameSearchServerMatchLimit=1000
routingServerPort=2845

Structure

The file contains the following key-value pairs:

  • Database:
    • useExternalDb - Boolean indicating whether an external database should be used or not. If not the backend falls back to an internal in-memory database.
    • jdbcUrl - The JDBC URL used to connect to the external database, if used. Must be adjusted if the database driver is exchanged
    • dbInfo - Path to the file which contains information about the contents of the external database, if used (see Info Format)
    • initDbScript - Path to the SQL script which is executed when connecting to the database for the first time
    • cleanDbScript - Path to the SQL script which is executed when the database is to be cleared
  • Model:
    • routingModelMode - The mode to use for the routing model, determines models and algorithms. One of the following:
      • GRAPH_WITH_TIMETABLE - Usage of a road graph together with a timetable for transit data. Using a graph-based algorithm for the road network and a timetable-based algorithm for the transit network.
      • LINK_GRAPH - Usage of a combined graph that links a road and transit graph together. Using a graph-based algorithm for the whole network at once.
    • accessNodesMaximum - The maximal allowed amount of access nodes to use when transferring from a road node to a transit stop. When requesting a route query from a road source to destination node, the computation will consider transit routes starting and ending at those access nodes.
    • abortTravelTime - The travel time in seconds after which to abort shortest path computation.
    • amountOfLandmarks - The amount of landmarks to use for the landmark heuristic.
    • transferDelay - The amount in seconds a transfer at the same transit stop takes.
    • footpathReachability - The range in meters stops should get connected by footpaths. Only used for GRAPH_WITH_TIMETABLE mode.
    • useGraphCache - Boolean indicating whether the backend use serialization for its graph or not. This can greatly reduce initialization time.
    • graphCache- Path to the serialized graph, if used
    • graphCacheInfo - Path to the file which contains information about the contents of the graph cache, if used (see Info Format)
  • Data:
    • gtfsDirectory - Path to the directory of GTFS files to include by the backend
    • osmDirectory - Path to the directory of OSM files to include by the backend
    • osmRoadFilter - Road-filter to use for filtering relevant ways out of OSM files (see Filter Format)
  • Server:
    • nearestSearchServerPort - Port to use by the nearest search server
    • nameSearchServerPort - Port to use by the name search server
    • routingServerPort - Port to use by the routing server

Notes

The template provided in the project is configured for Windows. If launching from a different OS the file should be deleted first. The backend will then create a new file with correct path separators on the first startup.

Depending on the used database driver the jdbcUrl must be adjusted, refer to the documentation of the corresponding driver.

Clone this wiki locally