Metadata-Version: 2.1
Name: aisdb
Version: 1.4.39
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Rust
Classifier: Programming Language :: SQL
Classifier: Programming Language :: JavaScript
Classifier: Topic :: Communications :: Ham Radio
Classifier: Topic :: Database :: Database Engines/Servers
Classifier: Topic :: Database :: Front-Ends
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Utilities
Requires-Dist: aiosqlite
Requires-Dist: orjson
Requires-Dist: packaging
Requires-Dist: pillow
Requires-Dist: requests
Requires-Dist: selenium
Requires-Dist: shapely
Requires-Dist: tqdm
Requires-Dist: websockets
Requires-Dist: numpy
Requires-Dist: webdriver-manager
Requires-Dist: coverage; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-asyncio; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-dotenv; extra == 'test'
Requires-Dist: rasterio; extra == 'test'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Provides-Extra: test
Provides-Extra: docs
Summary: AIS Database and Processing Utils
Author-email: Matthew Smith <matthew.smith@dal.ca>
Requires-Python: >=3.8
Description-Content-Type: text/x-rst; charset=UTF-8
Project-URL: documentation, https://aisdb.meridian.cs.dal.ca/doc/readme.html
Project-URL: repository, https://git-dev.cs.dal.ca/meridian/aisdb
Project-URL: homepage, https://aisdb.meridian.cs.dal.ca/

Readme
======

.. image:: https://git-dev.cs.dal.ca/meridian/aisdb/badges/master/pipeline.svg

.. image:: https://img.shields.io/gitlab/coverage/meridian/aisdb/master?gitlab_url=https%3A%2F%2Fgit-dev.cs.dal.ca&job_name=python-test

.. image:: https://img.shields.io/gitlab/v/release/meridian/aisdb?gitlab_url=https%3A%2F%2Fgit-dev.cs.dal.ca&include_prereleases&sort=semver

.. description:

Description
-----------

Package features:
  + SQL database for storing AIS position reports and vessel metadata
  + Vessel position cleaning and trajectory modeling
  + Utilities for streaming and decoding AIS data in the NMEA binary string format (See `Base Station Deployment <AIS_base_station.html>`__)
  + Integration with external datasources including depth charts, distances from shore, vessel geometry, etc.
  + Network graph analysis, MMSI deduplication, interpolation, and other processing utilities
  + Data visualization


.. image:: https://aisdb.meridian.cs.dal.ca/doc/_images/scriptoutput.png


| Web Interface:
  https://aisdb.meridian.cs.dal.ca/
| Docs:
  https://aisdb.meridian.cs.dal.ca/doc/readme.html
| Source Code: 
  https://git-dev.cs.dal.ca/meridian/aisdb

.. whatisais:

What is AIS?
------------

| Wikipedia:
  https://en.wikipedia.org/wiki/Automatic_identification_system
| Description of message types:
  https://arundaleais.github.io/docs/ais/ais_message_types.html

.. install:


Install
-------
Requires Python version 3.8, 3.9, or 3.10.
Requires SQLite (included by default in most versions of Python).

.. code-block:: sh

   python -m venv env_ais && source ./env_ais/*/activate
   pip install aisdb


Installing from Source
----------------------


See `Installing from Source <install_from_source>`__


Code examples
-------------

1. `Parsing raw format messages into a
   database <https://aisdb.meridian.cs.dal.ca/doc/api/aisdb.database.decoder.html#aisdb.database.decoder.decode_msgs>`__

2. `Automatically generate SQL database
   queries <https://aisdb.meridian.cs.dal.ca/doc/api/aisdb.database.dbqry.html#aisdb.database.dbqry.DBQuery>`__

3. `Compute trajectories from database rows <https://aisdb.meridian.cs.dal.ca/doc/api/aisdb.track_gen.html#aisdb.track_gen.TrackGen>`__

4. `Vessel trajectory cleaning and MMSI deduplication <https://aisdb.meridian.cs.dal.ca/doc/api/aisdb.track_gen.html#aisdb.track_gen.encode_greatcircledistance>`__

5. `Compute network graph of vessel movements between
   polygons <https://aisdb.meridian.cs.dal.ca/doc/api/aisdb.network_graph.html#aisdb.network_graph.graph>`__

6. Integrating data from web sources, such as depth charts, shore distance, etc.

Collecting AIS Data
-------------------

1. `Decode incoming AIS data and log to SQLite database <https://aisdb.meridian.cs.dal.ca/doc/api/aisdb.receiver.html>`__

.. code-block:: python

   from aisdb.receiver import start_receiver

   start_receiver(connect_addr='aisdb.meridian.cs.dal.ca:9920', dbpath='AIS.sqlitedb', stdout=True)


