SkiO is a Java-based application designed for planning and managing orienteering sprint courses. The project uses graph theory and shortest-path algorithms to help generate efficient course layouts on imported maps.
The main goal of this project was to explore pathfinding algorithms and graph-based optimization by applying Dijkstra’s algorithm to real-world route planning problems.
- Graph-based course modeling
- Digital map importing
- Shortest-path calculation using Dijkstra’s algorithm
- Course layout visualization
- Interactive course planning and adjustment
- Optimization of sprint orienteering routes
The application represents course layouts as graphs where:
- Nodes represent checkpoints or locations
- Edges represent possible paths between locations
Dijkstra’s algorithm is then used to calculate efficient routes between points while visualizing the course on imported maps.
- Java
- Graph Theory
- Dijkstra’s Algorithm
- GUI-Based Visualization
- Pathfinding Algorithms
- Java installed on your system
Download the graph.jar file from the releases page and run:
java -jar path/to/graph.jar- Launch the application.
- Import a map file such as WSOC15-sprint.map
- Load the course data file such as WSOC15-sprint.course
- Use the GUI to:
- Visualize the course
- Modify paths
- Analyze route efficiency
- Limited map format support
- Designed mainly for sprint-style events
- Basic UI and visualization tools
- No multiplayer or collaboration features
- Add support for more map formats
- Improve UI and interaction tools
- Add terrain difficulty weighting
- Add export and sharing functionality
- Improve route optimization algorithms
- Practical use of graph theory
- Implementation of Dijkstra’s algorithm
- Pathfinding and optimization concepts
- Java GUI application development
- Working with map-based visualization systems