-
Notifications
You must be signed in to change notification settings - Fork 2
Biker wants to be a routing software, intended to be useful for planning bike tours.
License
lenalebt/Biker
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Biker tries to be a nice software for planning bike tours. It is possible to use it without having a working internet connection, if you downloaded some map data beforehand. Usage: ~~~~~~ First, you need to compile it: protoc --cpp_out=. src/Database/Parser/pbf/{osm,file}format.proto qmake make You should now be able to start it, typing: ./Biker If you have a working internet connection, it should start downloading some map data. To be able to do routing, you need to load some OSM data. You may use pure .osm files (you can get files for some regions from "http://download.geofabrik.de/osm/"). Press "Ctrl-O" to open an .osm-file (or choose File->Open). It might take some time to load a file, and it uses a huge amount of RAM. Later on, I want to improve this part. If you want to cut some parts out of a file (e.g. to speed up loading and decrease RAM usage), you may use "osmosis" to do so. Planning a route should be pretty intuitive (after having opened an .osm file), except zooming: use a right click to zoom in, and a click on your wheel (or both buttons) to zoom out. This will be improved later on. It is possible to adjust some parts of the routing algorithm via the right panel. Please excuse the crappy i18n. Guess it? Later on, .... Dependencies: ~~~~~~~~~~~~~ Biker depends on: - libqwt5 - libcurl - libzzip - libprotobuf and, of course, qt4. If you experience compile problems, try to install these libraries (developer version). If you experience problems with libqwt5, adding a link in /usr/lib and /usr/include might help: ln -s /usr/lib/libqwt-qt4.so /usr/lib/libqwt.so ln -s /usr/include/qwt-qt4 /usr/include/qwt5 It might be necessary to change the names. You can also adjust the name of the library in the .pro-file Known Bugs and shortcomings: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Biker crashes when changing the map type after having planned a route. This is due to QMapControl was not made to change the base map layer after it has been created (or I am unable to use it correctly ;D). -It needs some time to change between two map layers. This is due to zooming with QMapControl to a specific detail level makes it zoom through all levels above. I think it is not possible to change this behaviour without changing some implementation detail of QMapControl. It did not bother that much ;). -Biker uses tons of RAM. This is not due to someone elses work ;D. Since I did not have the time to write a better database backend up to now, at every startup we need to parse an osm file (XML or PBF) and hold everything from there in RAM. If someone is willing to change that, have a look at Database/osmdatabase.hpp and Database/osmdatabasewriter.hpp . -Biker is not that fast on routing as you might expect. This is due to, guess it, the routing algorithm used. I use AStar because it is easy to modify the cost function without the need to change anything else. Being able to change the cost function, especially to avoid hills was a design goal of the program. There are some other, faster algorithms where you need to precompute parts of the graph, but you are not free to change the weights later on (if I got it right, which might not be the case). In Every case, it is more work to implement it. Examples are "Highway Hierarchies" and its successors. If you want to implement your own routing algorithm, have a look at Routing/routing.hpp , Routing/metric.hpp and Routing/astar.hpp . You will also find an implementation of Dijkstras algorithm in Routing/dijkstra.hpp . -Using qmake as build toolchain isn't that nice. I was thinking about changing to cmake later on, but did not use use that tool up to now and did not have the time to get used to it. Manually creating some header from .proto files is not okay, too. Thanks to: ~~~~~~~~~~ Kai Winter, who wrote QMapControl. Hermann Kraus, who wrote a tool for downloading and parsing SRTM data. Christian Vetter, who wrote MoNav and made it possible for me to parse .osm.pbf files.
About
Biker wants to be a routing software, intended to be useful for planning bike tours.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published