This project was developed as part of an assignment for the University of Piraeus, Department of Digital Systems, M.Sc. in Information Systems and Services, and is co-authored by Panis Konstantinos.
This project focuses on designing and implementing a NoSQL database using MongoDB to manage a large dataset related to vessel movements and maritime data. It includes ship positions, trajectories, vessel types, geographic locations, and meteorological conditions. The goal is to create an optimized data model that ensures efficient storage and indexing to support spatial and spatio-temporal queries, facilitating advanced maritime analysis while maintaining high performance.
- Download MongoDB Community Server from MongoDB Official Website using the following settings:
- Version: 8.0.4
- Platform: Windows x64
- Package: MSI
- Install the MongoDB server and ensure that the MongoDB Compass checkbox is checked during installation.
- After installation, open MongoDB Compass and connect to the default URI:
mongodb://localhost:27017/ - Ensure that MongoSH (MongoDB Shell) is accessible for running commands.
Before proceeding, install the necessary Python dependencies by running:
pip install -r requirements.txt- Ensure that Docker is installed on your machine. If not, download and install it from Docker Official Website.
- Open a terminal and run the following command to create and start a MongoDB container:
docker run --name mongodb -p 27017:27017 -d mongo:8.0.4
- Once the container is running, connect to MongoDB using:
docker exec -it mongodb mongosh
After setting up MongoDB, follow the commands in the README files inside the following directories to load the necessary data:
load_database/noaa_weatherload_database/dynamic
These steps ensure that the required datasets are properly loaded into MongoDB before performing maritime data analysis.