Skip to content

SMFEH323/SkiO

Repository files navigation

SkiO

Overview

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.


Features

  • 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

How It Works

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.


Tech Stack

  • Java
  • Graph Theory
  • Dijkstra’s Algorithm
  • GUI-Based Visualization
  • Pathfinding Algorithms

Installation

Requirements

  • Java installed on your system

Run the Application

Download the graph.jar file from the releases page and run:

java -jar path/to/graph.jar

Usage

  1. Launch the application.
  2. Import a map file such as WSOC15-sprint.map
  3. Load the course data file such as WSOC15-sprint.course
  4. Use the GUI to:
    • Visualize the course
    • Modify paths
    • Analyze route efficiency

Current Limitations

  • Limited map format support
  • Designed mainly for sprint-style events
  • Basic UI and visualization tools
  • No multiplayer or collaboration features

Future Improvements

  • Add support for more map formats
  • Improve UI and interaction tools
  • Add terrain difficulty weighting
  • Add export and sharing functionality
  • Improve route optimization algorithms

What This Project Demonstrates

  • Practical use of graph theory
  • Implementation of Dijkstra’s algorithm
  • Pathfinding and optimization concepts
  • Java GUI application development
  • Working with map-based visualization systems

About

a Java-based application designed for planning and managing orienteering sprint courses

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages