https://github.com/tom474/map_system
[RMIT 2024A] COSC2658 - Data Structures & Algorithms - Group Assignment
https://github.com/tom474/map_system
algorithms data-structures java
Last synced: 8 months ago
JSON representation
[RMIT 2024A] COSC2658 - Data Structures & Algorithms - Group Assignment
- Host: GitHub
- URL: https://github.com/tom474/map_system
- Owner: tom474
- Created: 2024-04-17T06:57:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-08T09:26:05.000Z (8 months ago)
- Last Synced: 2025-02-08T10:26:58.104Z (8 months ago)
- Topics: algorithms, data-structures, java
- Language: Java
- Homepage: https://youtu.be/ghDEBK4qFTc?si=iwfsy7YVSG9ixl9v
- Size: 2.08 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QuadTree-based Map System
A custom **map system** that efficiently manages and queries geospatial data using the **QuadTree** data structure. Designed to handle large-scale spatial data, the system enables **fast searching, insertion, deletion, and updates** of locations within a predefined 2D space.
## Tech Stack
- Java
## Features
- **QuadTree-based Spatial Indexing**: Efficiently stores and retrieves points of interest (POI) by subdividing the map into quadrants.
- **Point of Interest (POI) Management**: Supports adding, editing, and removing places with associated services.
- **Optimized Geospatial Search**: Finds places within a user-defined boundary and filters results based on service type.
- **Efficient Storage**: Uses an **array-based approach** within QuadTree nodes for better memory management.
- **Dynamic Subdivision**: Automatically splits nodes when exceeding capacity for efficient query performance.
- **Proximity-based Results**: Returns results sorted by Euclidean distance from the user’s location.
- **Scalability**: Designed to handle up to **100 million places** within a **10,000,000 x 10,000,000** map size.
- **Custom Data Structures**: Implemented without external libraries or Java’s built-in Collections framework.