Search for an address or drop two points on the map, and it finds the fastest or shortest route by car, bike or on foot. We built it in our first year at the IT University of Copenhagen (BFST, Group 15), as a JavaFX desktop app covering all of Denmark.
How it works
We parse the OpenStreetMap data into our own data structures: k-d trees that find what is on screen at each zoom level and the nearest road to a point, a ternary trie for address search, and a weighted graph of the road network that Dijkstra and A* search. We also wrote the renderer that draws the map, so no outside map service is involved.
On the web
The live version runs the group’s original Java code, unchanged, on my home server. It covers Copenhagen and Frederiksberg. The desktop app needed 6 GB of memory for the whole country; the city fits in about 125 MB. For each piece of the map, the server sends the shapes our k-d trees pick, and the browser draws them in the project’s own colours. It looks like the desktop app too: our JavaFX panels, rebuilt for the browser, with the colour schemes, the debug options that show every road the search tried, and points you name yourself. A switch gives a newer look.
Team
Group 15 built this together, and the credit is shared. It was the project that made data structures concrete for me: on country-scale data, a naive scan freezes the app, and a k-d tree finds the same things instantly.