Merge pull request #662 from afischerdev/docs
Updated service, osmand doc, added docker doc
This commit is contained in:
commit
47ee77bc35
4 changed files with 189 additions and 5 deletions
|
@ -39,19 +39,52 @@ Please note: when they have a parameter 'weight' the result is not an absolute n
|
|||
|
||||
This parameters are needed to tell BRouter what to do.
|
||||
|
||||
### using profiles
|
||||
|
||||
For calulation BRouter uses a set of rules defined in a profile. See description of profile [rules](https://github.com/abrensch/brouter/blob/master/docs/developers/profile_developers_guide.md).
|
||||
|
||||
Here we talk about how we let BRouter know witch profile to use.
|
||||
There are three ways:
|
||||
|
||||
1. use the parameter 'v' and 'fast'
|
||||
```
|
||||
"v"-->[motorcar|bicycle|foot]
|
||||
"fast"-->[0|1]
|
||||
This enables BRouter to look into the file serviceconfig.dat.
|
||||
In there BRouter find the profile associated for e.g bicyle_fast trekking
|
||||
This could be changed by the user calling the BRouter app server-mode.
|
||||
```
|
||||
|
||||
2. use the profile parameter
|
||||
```
|
||||
profile=trekking
|
||||
It needs an available file in the BRouter profile folder e.g. trekking.brf
|
||||
```
|
||||
|
||||
3. use a remote profile
|
||||
```
|
||||
remoteProfile=a long string with routing rules
|
||||
This is saved in BRouter profile folder temporary with the file name 'remote.brf'
|
||||
```
|
||||
|
||||
|
||||
### profile parameter
|
||||
|
||||
Profile parameters affect the result of a profile.
|
||||
The variables inside a profile predefine a value e.g. avoidsteps=1
|
||||
A parameter call gives the chance to change this start value without changing the profile e.g. avoidsteps=0
|
||||
For the app it is a list of params concatenated by '&'. E.g. extraParams=avoidferry=1&avoidsteps=0
|
||||
The server calls profile params by a prefix 'profile:'. E.g. ...&profile:avoidferry=1&profile:avoidsteps=0
|
||||
|
||||
By using this parameter logic, there is no need to edit a profile before sending.
|
||||
|
||||
### using profile parameter inside an app
|
||||
|
||||
To be flexible it is possible to send a profile to BRouter - server or app.
|
||||
|
||||
Another variant is to send parameters for an existing profile that are different from the original profile.
|
||||
|
||||
With the version 1.7.1 it is possible to collect parameters from the profile.
|
||||
With the version 1.7.1 it is possible to collect parameters from the profile.
|
||||
The variable parameters are defined like this
|
||||
```
|
||||
assign avoid_path = false # %avoid_path% | Set to true to avoid pathes | boolean
|
||||
|
@ -61,9 +94,9 @@ Now you could do that with an calling app.
|
|||
|
||||
What to do to get it work?
|
||||
|
||||
- First copy the [RoutingParam](brouter-routing-app/src/main/java/btools/routingapp/RoutingParam.java) class to your source - use the same name and package name.
|
||||
- First copy the [RoutingParam](brouter-routing-app/src/main/java/btools/routingapp/RoutingParam.java) class to your source - use the same name and package name.
|
||||
- Second analyze the profile for which you need the parameter.
|
||||
This [BRouter routine](https://github.com/abrensch/brouter/blob/086503e529da7c044cc0f88f86c394fdb574d6cf/brouter-routing-app/src/main/java/btools/routingapp/RoutingParameterDialog.java#L103) can do that, just copy it to your source to use it in your app.
|
||||
This [BRouter routine](https://github.com/abrensch/brouter/blob/086503e529da7c044cc0f88f86c394fdb574d6cf/brouter-routing-app/src/main/java/btools/routingapp/RoutingParameterDialog.java#L103) can do that, just copy it to your source to use it in your app.
|
||||
It builds a List<RoutingParam> you could send to BRouter app.
|
||||
- You find the call of BRouter app in comment at [RoutingParameterDialog](https://github.com/abrensch/brouter/blob/086503e529da7c044cc0f88f86c394fdb574d6cf/brouter-routing-app/src/main/java/btools/routingapp/RoutingParameterDialog.java#L33)
|
||||
|
||||
|
@ -79,7 +112,7 @@ intent.putExtra("runsilent", true);
|
|||
startActivity(intent);
|
||||
```
|
||||
|
||||
This suppress the first question after installation for the BRouter path, generates the BRouter folders in main space and starts the download dialog.
|
||||
This suppress the first question after installation for the BRouter path, generates the BRouter folders in main space and starts the download dialog.
|
||||
|
||||
### silent app call
|
||||
|
||||
|
@ -92,7 +125,7 @@ intent.putExtra("runsilent", true);
|
|||
startActivity(intent);
|
||||
```
|
||||
|
||||
This suppress the first question after installation for the BRouter path, generates the BRouter folders in main space and starts the download dialog.
|
||||
This suppress the first question after installation for the BRouter path, generates the BRouter folders in main space and starts the download dialog.
|
||||
|
||||
## other routing engine modes in app
|
||||
|
||||
|
|
125
docs/developers/docker_guide.md
Normal file
125
docs/developers/docker_guide.md
Normal file
|
@ -0,0 +1,125 @@
|
|||
---
|
||||
parent: Developers
|
||||
---
|
||||
|
||||
# Docker help
|
||||
|
||||
In addition to the intro in readme.md about Docker, here are a few commands for daily work with the system.
|
||||
|
||||
Build the Docker with a version based name
|
||||
```
|
||||
$ docker build -t brouter-1.7.2 .
|
||||
```
|
||||
|
||||
Start Docker with name additional to the Docker image name.
|
||||
Please note:
|
||||
The path for segments are on a Windows system.
|
||||
Here the port used in server.sh is published.
|
||||
```
|
||||
$ docker run --rm -v "I:/Data/test/segment4":/segments4 --publish 17777:17777 --name brouter-1.7.2 brouter-1.7.2
|
||||
```
|
||||
|
||||
and with a mount for profiles as well
|
||||
```
|
||||
$ docker run --rm -v "I:/Data/test/segment4":/segments4 -v "I:/Data/test/profiles2":/profiles2 --name brouter-1.7.2 brouter-1.7.2
|
||||
```
|
||||
|
||||
Show the running Docker processes
|
||||
```
|
||||
$ docker ps
|
||||
|
||||
output:
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
b23518e8791d brouter-1.7.2 "/bin/sh -c /bin/ser…" 5 minutes ago Up 5 minutes 0.0.0.0:17777->17777/tcp brouter-1.7.2
|
||||
```
|
||||
|
||||
Fire some curl or wget commands to test if is realy useful running.
|
||||
|
||||
Stop a running Docker image - please note, this only works when starts docker image with name, see above
|
||||
```
|
||||
$ docker stop brouter-1.7.2
|
||||
```
|
||||
|
||||
Docker available images
|
||||
|
||||
```
|
||||
$ docker images
|
||||
|
||||
output:
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
brouter-1.7.2 latest e39703dec2fa 2 hours ago 410MB
|
||||
brouter latest 728f122c7388 3 hours ago 410MB
|
||||
```
|
||||
|
||||
Control
|
||||
## Docker with docker-compose
|
||||
|
||||
Use a git clone to build a local folder with last version.
|
||||
Make a Docker container with version number inside your repository folder.
|
||||
```
|
||||
$ docker build -t brouter:1.7.2 .
|
||||
|
||||
$ docker images
|
||||
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
brouter-1.7.2 latest e39703dec2fa 3 hours ago 410MB
|
||||
brouter 1.7.2 e39703dec2fa 3 hours ago 410MB
|
||||
```
|
||||
|
||||
Start a container with composer
|
||||
This needs a docker config file docker-compose.yml
|
||||
Something like this:
|
||||
```
|
||||
version: '2'
|
||||
services:
|
||||
brouter:
|
||||
image: brouter:1.7.2
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 17777:17777
|
||||
volumes:
|
||||
- type: bind
|
||||
source: "I:/Data/test/segment4"
|
||||
target: /segments4
|
||||
# - type: bind
|
||||
# source: "I:/Data/test/profiles2"
|
||||
# target: /profiles2
|
||||
```
|
||||
|
||||
Start it
|
||||
```
|
||||
$ docker-compose up -d
|
||||
```
|
||||
|
||||
Have a look what is running
|
||||
```
|
||||
$ docker-compose ps
|
||||
or
|
||||
$ docker-compose ls
|
||||
or
|
||||
$ docker ps
|
||||
```
|
||||
|
||||
|
||||
Now update your repository (git pull) and build your Docker container with the new version tag
|
||||
```
|
||||
$ docker build -t brouter:1.7.3 .
|
||||
|
||||
$ docker images
|
||||
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
brouter 1.7.3 5edc998cb5ae 3 hours ago 410MB
|
||||
brouter-1.7.2 latest e39703dec2fa 6 hours ago 410MB
|
||||
```
|
||||
|
||||
Replace the version in Docker config file docker-compose.yml
|
||||
```
|
||||
image: brouter:1.7.3
|
||||
```
|
||||
|
||||
Stop old running container and start the new one
|
||||
```
|
||||
$ docker-compose down
|
||||
|
||||
$ docker-compose up -d
|
||||
```
|
|
@ -67,3 +67,29 @@ application profiles"/>
|
|||
The BRouter app should be launched before OsmAnd for this specific entry to
|
||||
appear in OsmAnd. Therefore, if you cannot find "BRouter (offline)" navigation
|
||||
option, you should force quit OsmAnd and restart it.
|
||||
|
||||
|
||||
## OsmAnd version 4.7.1
|
||||
|
||||
From version 4.7.1 upwards Osmand supports the profile parameter for mapping:
|
||||
Since Osmand version 3, many profiles can be defined in Osmand and the user can easily switch between these profiles.
|
||||
This allow now when using the service-interface to address different brouter-profiles in a more flexible and better comprehensive way.
|
||||
|
||||
- If in Osmand a profile has "BRouter" defined as navigation service
|
||||
- AND the profile-name looks like "Brouter[mysting]
|
||||
|
||||
==> then the profile "mystring" will be used in the Brouter-app!
|
||||
(this new mapping replaces in that case the basic mapping defined above and based on the file "serviceconfig.dat)
|
||||
|
||||
### Examples: Osmand-profile name Brouter-app
|
||||
```
|
||||
[Brouter[trekking] "trekking" profile will be used (file trekking.brf)
|
||||
[Brouter[racebike] "racebike" profile will be used (file racebike.brf)
|
||||
....
|
||||
```
|
||||
Remark:
|
||||
Currently Osmand do not check the defined name (case sensitiv) for the Brouter-profile (mystring).
|
||||
If no profile is found, the routing will fail with "Could not calculate route.."!
|
||||
|
||||
<img src="osmand/brouter-osmand-4.7.1.png" alt="BRouter configuration in OsmAnd
|
||||
application profiles"/>
|
||||
|
|
BIN
docs/users/osmand/brouter-osmand-4.7.1.png
Normal file
BIN
docs/users/osmand/brouter-osmand-4.7.1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 232 KiB |
Loading…
Reference in a new issue