schwehr/libais

View on GitHub
test/data/typeexamples.json

Summary

Maintainability
Test Coverage
{"slot_timeout": 2, "sync_state": 1, "repeat": 0, "epfd_text": "GPS", "timestamp": "0000-00-00T24:60:60Z", "mmsi": 3669713, "lon": 181.0, "raim": false, "lat": 91.0, "scaled": true, "epfd": 1, "transmission_ctl": 0, "spare": 0, "slot_number": 2105, "device": "stdin", "type": 4, "class": "AIS", "accuracy": false}
{"slot_timeout": 6, "scaled": true, "course": 35.900001525878906, "second": 56, "speed": 8.600000381469727, "sync_state": 0, "lon": -70.34690856933594, "device": "stdin", "type": 1, "accuracy": false, "status": 0, "maneuver": 0, "repeat": 0, "mmsi": 367033650, "raim": false, "spare": 0, "slot_number": 2118, "lat": 42.79854965209961, "class": "AIS", "turn": null, "status_text": "Under way using engine", "heading": 511}
{"to_port": 1, "to_bow": 78, "to_stern": 23, "callsign": "9HMQ9", "shiptype": 80, "to_starboard": 17, "ais_version": 0, "destination": "BOSTON,USA", "imo": "9383663", "shiptype_text": "Tanker, all ships of this type", "type": 5, "repeat": 0, "draught": 7.800000190734863, "mmsi": 249190000, "epfd": 1, "spare": 0, "device": "stdin", "class": "AIS", "scaled": true, "shipname": "RUTH THERESA", "epfd_text": "GPS", "dte": 0}
{"slot_increment": 0, "slots_to_allocate": 0, "scaled": true, "course": 233.8000030517578, "second": 26, "speed": 0.10000000149011612, "sync_state": 0, "lon": -70.78727722167969, "device": "stdin", "type": 3, "accuracy": true, "status": 1, "maneuver": 0, "repeat": 0, "mmsi": 636091044, "raim": false, "spare": 0, "keep_flag": false, "lat": 42.41001510620117, "class": "AIS", "turn": 0.0, "status_text": "At anchor", "heading": 311}
{"notice_type_str": "Caution Area: Marine mammals habitat (implies whales NOT observed)", "sub_areas": [{"sub_area_type": 0, "sub_area_type_str": "circle", "precision": 4, "radius": 9260, "y": 42.08295, "x": -69.86498333333333}], "repeat": 0, "dac": 1, "notice_type": 0, "mmsi": 3669739, "link_id": 10, "scaled": true, "duration_minutes": 2, "spare": 0, "fid": 22, "device": "stdin", "type": 8, "class": "AIS"}
{"spare2": 0, "scaled": true, "device": "stdin", "second": 52, "cs": true, "speed": 0.0, "unit": true, "lon": -70.71106719970703, "commstate_cs_fill": 393222, "type": 18, "dsc": true, "msg22": true, "accuracy": false, "repeat": 0, "mmsi": 366764000, "raim": true, "band": true, "spare": 0, "lat": 43.07215881347656, "class": "AIS", "course": 0.0, "display": false, "mode": false, "heading": 511}
{"repeat": 0, "mmsi": 366764000, "scaled": true, "shipname": "R/V GULF CHALLENGER", "device": "stdin", "part_num": 0, "type": 24, "class": "AIS"}
{"repeat": 0, "type": 6, "retransmit": true, "spare2": 0, "dest_mmsi": 923156, "seqno": 0, "mmsi": 3669971, "dac": 1, "ack_required": false, "scaled": true, "spare": 0, "fid": 0, "text": "@@@", "device": "stdin", "msg_seq": 0, "class": "AIS"}
{"scaled": true, "repeat": 3, "device": "stdin", "type": 13, "mmsi": 462700317, "mmsi4": 0, "mmsi3": 0, "class": "AIS", "mmsi1": 488628835, "mmsi2": 0}
{"scaled": true, "repeat": 0, "device": "stdin", "type": 7, "mmsi": 85876707, "mmsi4": 676851055, "mmsi3": 925419876, "class": "AIS", "mmsi1": 911628690, "mmsi2": 1047084199}
{"status": 0, "repeat": 3, "lat": -77.96833038330078, "course": 255, "type": 27, "mmsi": 974291422, "lon": 200.23167419433594, "raim": false, "scaled": true, "gnss": false, "spare": 1, "device": "stdin", "status_text": "Under way using engine", "speed": 16, "class": "AIS", "accuracy": true}
{"repeat": 3, "spare2": 24, "mmsi": 1065113482, "lon": -90.54833221435547, "scaled": true, "lat": -0.6650000214576721, "spare": 3, "device": "stdin", "type": 17, "class": "AIS"}
{"repeat": 1, "spare2": 7, "text": "=08Q#4", "mmsi": 654173679, "scaled": true, "spare": 3, "device": "stdin", "type": 14, "class": "AIS"}
{"spare4": 0, "spare3": 0, "spare2": 1, "scaled": true, "offset2_2": 0, "class": "AIS", "type": 15, "type1_1": 2, "repeat": 3, "type2_1": 0, "type2_2": 0, "type1_2": 62, "mmsi": 1021648591, "spare": 0, "device": "stdin", "mmsi2": 0, "mmsi1": 430193182, "slot_offset_2": 0, "offset2_1": 0, "msg_2": 0, "offset1_2": 2832, "offset1_1": 727}
{"mmsi": 271485220, "repeat": 1, "offset1": 1021, "increment1": 1948, "timeout2": 7, "timeout1": 6, "offset2": 1430, "scaled": true, "number2": 11, "number1": 3, "device": "stdin", "spare": 1, "type": 20, "class": "AIS", "increment2": 202}
{"repeat": 0, "dest_mmsi": 415140862, "mmsi": 752864929, "scaled": true, "device": "stdin", "type": 25, "class": "AIS"}
{"repeat": 1, "retransmit": true, "dest_mmsi": 273501299, "seqno": 3, "mmsi": 996574371, "scaled": true, "spare": 0, "text": "9&CO97\"5", "device": "stdin", "type": 12, "class": "AIS"}
{"sync_state": 3, "received_stations": 13409, "repeat": 0, "dac": 798, "dest_mmsi": 844955607, "mmsi": 1025342127, "scaled": true, "fid": 40, "device": "stdin", "type": 26, "class": "AIS"}
{"repeat": 0, "stationtype_text": "Regional use and inland waterways", "spare3": 57, "spare2": 1232095, "mmsi": 844285387, "interval": 3, "ne_lon": 177.39166259765625, "quiet": 2, "txrx": 1, "scaled": true, "spare": 2, "shiptype_text": "Cargo, Hazardous category B", "shiptype": 72, "stationtype": 8, "device": "stdin", "sw_lat": -23.433332443237305, "sw_lon": -42.74833297729492, "type": 23, "class": "AIS", "ne_lat": -29.123332977294922}
{"virtual_aid": false, "to_port": 59, "to_bow": 395, "assigned": true, "device": "stdin", "second": 58, "aid_type_text": "Light, without sectors", "to_starboard": 38, "lon": -51.758460998535156, "type": 21, "accuracy": true, "repeat": 0, "mmsi": 852992994, "regional": 103, "raim": false, "epfd": 1, "spare": 1, "lat": -77.43352508544922, "class": "AIS", "scaled": true, "to_stern": 351, "epfd_text": "GPS", "name": "9%&//3*37-+P][`<RD^6", "aid_type": 5, "off_position": true}
{"slot_timeout": 3, "scaled": true, "course": 145.8000030517578, "second": 27, "speed": 67.0, "sync_state": 3, "lon": -12.425178527832031, "device": "stdin", "type": 2, "accuracy": true, "status": 14, "maneuver": 2, "repeat": 2, "mmsi": 277315048, "raim": true, "spare": 7, "lat": -101.54704284667969, "class": "AIS", "received_stations": 14199, "turn": -42.89931869506836, "status_text": "Reserved", "heading": 472}
{"repeat": 1, "spare2": 0, "dest_mmsi": 417764534, "mmsi": 786291892, "scaled": true, "spare": 2, "device": "stdin", "type": 10, "class": "AIS"}
{"slot_timeout": 0, "sync_state": 0, "repeat": 0, "epfd_text": "Loran-C", "timestamp": "8416-07-16T26:60:26Z", "mmsi": 367342360, "lon": 85.71817016601562, "raim": false, "scaled": true, "epfd": 4, "transmission_ctl": 1, "spare": 232, "lat": -71.43060302734375, "device": "stdin", "slot_offset": 1504, "type": 11, "class": "AIS", "accuracy": false}
{"slot_increment": 3646, "spare2": 1, "slots_to_allocate": 5, "alt_sensor": 1, "assigned": true, "course": 296.3999938964844, "second": 31, "alt": 3704, "speed": 16.799999237060547, "sync_state": 2, "lon": 60.969932556152344, "device": "stdin", "type": 9, "accuracy": true, "repeat": 3, "mmsi": 400214919, "raim": false, "spare": 83, "keep_flag": false, "lat": -99.42364501953125, "class": "AIS", "scaled": true, "dte": 1}
{"repeat": 0, "band_b": 0, "zonesize": 4, "power": false, "band_a": 0, "type": 22, "mmsi": 3160122, "sw_lon": -66.22333526611328, "ne_lon": -66.22333526611328, "txrx": 0, "scaled": true, "channel_a": 2087, "channel_b": 2088, "device": "stdin", "spare": 0, "sw_lat": 44.38999938964844, "spare2": 0, "class": "AIS", "ne_lat": 44.38999938964844}
{"repeat": 2, "increment2": 0, "offset2": 0, "increment1": 982, "mmsi": 292499393, "spare2": 6, "mmsi2": 0, "scaled": true, "spare": 3, "device": "stdin", "type": 16, "class": "AIS", "mmsi1": 646208595, "offset1": 3377}