.. |space| unicode:: 0xA0
General Information
.. raw:: html
Licensing and Integration
.. raw:: html
Documentation and Tutorials
.. |aisgpt| image:: https://img.shields.io/website?url=https%3A%2F%2Fchat.openai.com/g/g-hTTH0rUBv-aisdb-assistant :target: https://img.shields.io/website?url=https%3A%2F%2Fchat.openai.com/g/g-hTTH0rUBv-aisdb-assistant .. |aisviz| image:: https://img.shields.io/website?url=https%3A%2F%2Faisviz.github.io :target: https://img.shields.io/website?url=https%3A%2F%2Faisviz.github.io .. |aisdb_doc| image:: https://img.shields.io/website?url=https%3A%2F%2Faisviz.gitbook.io/documentation/ :target: https://img.shields.io/website?url=https%3A%2F%2Faisviz.gitbook.io/documentation/ .. |aisdb_tut| image:: https://img.shields.io/website?url=https%3A%2F%2Faisviz.gitbook.io/tutorials/ :target: https://img.shields.io/website?url=https%3A%2F%2Faisviz.gitbook.io/tutorials/ .. |aisdb_rtd| image:: https://img.shields.io/website?url=https%3A%2F%2Faisviz.cs.dal.ca/AISdb/ :target: https://img.shields.io/website?url=https%3A%2F%2Faisviz.cs.dal.ca/AISdb/
AISViz Website <https://aisviz.github.io>
_AISViz ChatBot <https://chat.openai.com/g/g-hTTH0rUBv-aisdb-assistant>
_ (with GPT-4)AISdb ReadTheDocs <https://aisviz.cs.dal.ca/AISdb/>
AISdb GitBook Tutorials <https://aisviz.gitbook.io/tutorials>
AISdb GitBook Documentation <https://aisviz.gitbook.io/documentation>
AISdb is an open-source database management system that supports storing, retrieving, analyzing, and visualizing data from the Automatic Identification System (AIS). This system is engineered to manage the vast amounts of data generated by maritime traffic, making it an essential tool for research and development initiatives within the marine industry and government bodies. AISdb utilizes the capabilities of both SQLite and PostgreSQL, ensuring a highly flexible and scalable data management framework. This adaptability allows AISdb to cater to a wide range of needs, from localized data handling to comprehensive server-based deployments, making it a key resource for stakeholders and research enthusiasts across the maritime sector.
π AISdb has an extensive set of tools adaptable to different sizes of projects:
π AISdb is built with a focus on high performance, scalability, and ease of use:
π The AISdb visualization module runs locally on the browser (outdated) :
.. image:: aisdb_web/map/public/readme_example.png :width: 700px :align: center
Automatic Identification System (AIS) messages are critical data packets transmitted by vessels and AIS base stations to communicate essential navigational and identification information across the maritime domain. These messages play a significant role in facilitating a safe and efficient flow of marine traffic by ensuring that vessels within proximity know each other's presence, course, and navigational intentions.
β° Structured Data Exchange
AIS messages are encoded in a highly structured format and categorized into distinct types, each designed to serve specific informational needs. The commonly encountered messages in maritime operations include:
π¨ Although AIS messages are rich in information, open-source AIS is usually limited to positional data.
π Encoding and Transmission
AIS messages are transmitted using VHF radio frequencies, which ensures reliable coverage even in harsh weather conditions. The messages are encoded in a standardized format that promotes interoperability among different AIS equipment manufacturers and facilitates seamless integration with global maritime traffic management systems. To collect these messages, on-shore antennas or low-orbit satellites are used. The temporal resolution of the AIS data varies with the collection method used to capture messages.
β Significance in Maritime Operations
AIS messages are more than just a tool for tracking vessels. They are a valuable resource for vessel operators, maritime authorities, and traffic management centers, as they provide real-time information on maritime traffic. This data helps these entities make informed decisions, increase situational awareness, and proactively address potential navigational hazards. The availability of AIS data has also led to the development of secondary applications, such as maritime research, environmental monitoring, and the creation of advanced navigational algorithms that optimize shipping routes and reduce the environmental impact of maritime operations. AISdb is an example of an application that is sourced on the importance of AIS.
π For more information about AIS and its inner-workings, you may want to check these links:
AIS Message Types <https://arundaleais.github.io/docs/ais/ais_message_types.html>
_: Types of AIS messages used for communication.
Navigation Center <https://www.navcen.uscg.gov/ais-messages>
_: This is an overview of Navigation Systems and Services.
AIS transponders <https://www.imo.org/en/OurWork/Safety/Pages/AIS.aspx>
_: Regulations regarding AIS use, maritime security, and additional information.
Wikipedia Article <https://en.wikipedia.org/wiki/Automatic_identification_system>
_: Here is an overview of AIS, including its history, functionality, and applications.
To set up AISdb in your environment, follow these commands in your terminal:
.. code-block:: python
python -m venv AISdb # Create and activate a virtual environment
source AISdb/bin/activate # On Windows use `AISdb\Scripts\activate`
pip install aisdb # Install the latest pre-compiled AISdb from PyPI
For developers looking to contribute to AISdb or integrate it into more extensive projects, the following steps outline how to prepare a development environment for AISdb. This includes setting up a virtual environment, activating it, and installing AISdb along with the tools required for development:
.. code-block:: python
python -m venv AISdb # Create and activate a virtual environment for AISdb
source AISdb/bin/activate # On Windows use `AISdb\Scripts\activate`
# Cloning the Repository and installing the package
git clone https://github.com/AISViz/AISdb.git && cd aisdb
# Windows users can instead download the installer:
# - https://forge.rust-lang.org/infra/other-installation-methods.html#rustup
# - https://static.rust-lang.org/rustup/dist/i686-pc-windows-gnu/rustup-init.exe
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > install-rust.sh
# Installing Rust and Maturin
/bin/bash install-rust.sh -q -y
pip install --upgrade maturin[patchelf]
# Building AISdb package with Maturin
maturin develop --release --extras=test,docs