Created
September 1, 2024 11:23
-
-
Save M0r13n/164cb0fa1bf9ab51a9c099a413afb5a0 to your computer and use it in GitHub Desktop.
AIS: How to collect and maintain the state of individual vessels over time by keeping track of several messages using pyais
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pathlib | |
import pyais | |
from pyais.tracker import AISTrackEvent | |
def do_something(track): | |
# called every time an AISTrack is created or updated | |
print(track.mmsi, track) | |
def handle_delete(track): | |
# called every time an AISTrack is deleted (pruned) | |
print('delete', track.mmsi) | |
with pyais.AISTracker() as tracker: | |
tracker.register_callback(AISTrackEvent.CREATED, do_something) | |
tracker.register_callback(AISTrackEvent.UPDATED, do_something) | |
tracker.register_callback(AISTrackEvent.DELETED, handle_delete) | |
for msg in pyais.FileReaderStream(pathlib.Path(__file__).parent.parent.joinpath('tests/nmea_data_sample.txt')): | |
tracker.update(msg) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment