National Marine Electronics Association (NMEA) messages are comma separated value lines of text that start with sender or "talker" code and the sentence type.
ais_decode_filter( msgs, msg_type = ais_msgs$msg_1_2_3, data_type = c("auto", "file", "strings", "text"), as_sf = maritime_as_sf(), as_tibble = maritime_as_tibble(), verbose = maritime_verbose() ) ais_decode_list( msgs, data_type = c("auto", "file", "strings", "text"), as_sf = maritime_as_sf(), as_tibble = maritime_as_tibble(), verbose = maritime_verbose() ) ais_decode_df( msgs, data_type = c("auto", "file", "strings", "text"), sort_by_line_number = TRUE, as_sf = maritime_as_sf(), as_tibble = maritime_as_tibble(), verbose = maritime_verbose() )
msgs |
|
---|---|
msg_type | See |
data_type |
|
as_sf |
|
as_tibble |
|
verbose |
|
sort_by_line_number | Whether rows are in the same order as line occurrence. |
ais_decode_filter
decodes NMEA messages (currently 1, 2, and 3) contained
in files or character
vectors.
#> [1] "!AIVDM,1,1,,A,13u?etPv2;0n:dDPwUM1U1Cb069D,0*23" #> [2] ",1541030400" #> [3] ",1541030400" #> [4] "!ABVDM,1,1,7,B,H3uJVD4NDBE5847C62ppnk0@6120,0*4F,1541030311,1541030400" #> [5] "!BSVDM,2,1,9,A,53KPtl01pv8`tTtR22050thhtr2222222222220l1`A916Vh0;20DPSmD`0D,0*21,1541030311" #> [6] "!BSVDM,2,2,9,A,ljDm0CPiH80,2*21,1541030311,1541030400" #> [7] "!BSVDM,1,1,,B,147lQH00001f>MtQtr3a92nr00Sa,0*0B,1541030311,1541030400" #> [8] "!AIVDM,1,1,0,A,H4eG>Gh5@h4q@T>1<uDp@000000,2*25,1541030311,1541030400" #> [9] "!AIVDM,1,1,,A,33e3Dn500012NAtDR:WV5H<r0E0r,0*0E,1541030311,1541030400" #> [10] "!BSVDM,1,1,,A,H3n2?6Q=H4pDr22222222222220,2*47,1541030311,1541030400"# decoding a file, filter by messgage type ================================== ais_decode_filter(nmea_file, msg_type = ais_msgs$msg_1_2_3)#>#> # A tibble: 37 x 29 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 2018-10-31 23:58:31 7 1 0 2.77e8 #> 2 2018-10-31 23:58:31 9 3 0 2.49e8 #> 3 2018-10-31 23:58:31 15 3 0 2.57e8 #> 4 2018-10-31 23:58:31 23 1 0 2.45e8 #> 5 2018-10-31 23:58:31 30 1 0 2.06e8 #> 6 2018-10-31 23:58:31 33 3 1 2.31e8 #> 7 2018-10-31 23:58:31 34 1 0 6.63e8 #> 8 2018-10-31 23:58:31 35 1 0 2.45e8 #> 9 2018-10-31 23:58:31 36 1 1 2.30e8 #> 10 2018-10-31 23:58:31 38 1 0 6.36e8 #> # … with 27 more rows, and 24 more variables: nav_status <int>, #> # rot_over_range <lgl>, rot <dbl>, sog <dbl>, position_accuracy <int>, #> # lng_deg <dbl>, lat_deg <dbl>, cog <dbl>, true_heading <int>, #> # timestamp <int>, special_manoeuvre <int>, spare <int>, raim <lgl>, #> # sync_state <int>, slot_timeout <int>, received_stations <int>, #> # slot_number <int>, utc_hour <int>, utc_min <int>, utc_spare <int>, #> # slot_offset <int>, slot_increment <int>, slots_to_allocate <int>, #> # keep_flag <lgl># return all messages as list of data frames ================================ ais_decode_list(nmea_file)#>#> $msgs_1_2_3 #> # A tibble: 37 x 29 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 2018-10-31 23:58:31 7 1 0 2.77e8 #> 2 2018-10-31 23:58:31 9 3 0 2.49e8 #> 3 2018-10-31 23:58:31 15 3 0 2.57e8 #> 4 2018-10-31 23:58:31 23 1 0 2.45e8 #> 5 2018-10-31 23:58:31 30 1 0 2.06e8 #> 6 2018-10-31 23:58:31 33 3 1 2.31e8 #> 7 2018-10-31 23:58:31 34 1 0 6.63e8 #> 8 2018-10-31 23:58:31 35 1 0 2.45e8 #> 9 2018-10-31 23:58:31 36 1 1 2.30e8 #> 10 2018-10-31 23:58:31 38 1 0 6.36e8 #> # … with 27 more rows, and 24 more variables: nav_status <int>, #> # rot_over_range <lgl>, rot <dbl>, sog <dbl>, position_accuracy <int>, #> # lng_deg <dbl>, lat_deg <dbl>, cog <dbl>, true_heading <int>, #> # timestamp <int>, special_manoeuvre <int>, spare <int>, raim <lgl>, #> # sync_state <int>, slot_timeout <int>, received_stations <int>, #> # slot_number <int>, utc_hour <int>, utc_min <int>, utc_spare <int>, #> # slot_offset <int>, slot_increment <int>, slots_to_allocate <int>, #> # keep_flag <lgl> #> #> $msgs_4_11 #> # A tibble: 17 x 26 #> time first_line_numb… message_id repeat_indicator mmsi year #> <dttm> <int> <int> <int> <int> <int> #> 1 2018-10-31 23:58:31 11 4 0 3.16e6 2018 #> 2 2018-10-31 23:58:31 16 4 0 2.47e6 2018 #> 3 2018-10-31 23:58:31 55 4 0 2.19e6 2018 #> 4 2018-10-31 23:58:31 69 4 0 3.16e6 2018 #> 5 2018-10-31 23:58:31 86 4 0 2.57e6 2018 #> 6 NA 106 4 0 3.67e6 0 #> 7 NA 128 11 0 3.67e8 8416 #> 8 NA 157 4 0 3.10e6 2010 #> 9 NA 158 4 0 3.67e6 2010 #> 10 NA 159 4 3 3.67e6 2010 #> 11 NA 237 11 0 5.64e8 2010 #> 12 NA 238 11 0 3.67e8 2010 #> 13 NA 239 11 0 3.67e8 2010 #> 14 NA 240 11 0 5.64e8 2010 #> 15 NA 241 11 0 3.67e8 2010 #> 16 NA 242 11 0 3.10e8 2010 #> 17 NA 243 11 0 3.67e8 2010 #> # … with 20 more variables: month <int>, day <int>, hour <int>, minute <int>, #> # second <int>, position_accuracy <int>, lng_deg <dbl>, lat_deg <dbl>, #> # fix_type <int>, transmission_ctl <int>, spare <int>, raim <lgl>, #> # sync_state <int>, slot_timeout <int>, received_stations <int>, #> # slot_number <int>, utc_hour <int>, utc_min <int>, utc_spare <int>, #> # slot_offset <int> #> #> $msgs_5 #> # A tibble: 19 x 23 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 2018-10-31 23:58:31 5 5 0 2.30e8 #> 2 2018-10-31 23:58:31 12 5 0 2.41e8 #> 3 2018-10-31 23:58:31 17 5 0 2.45e8 #> 4 2018-10-31 23:58:31 19 5 0 2.32e8 #> 5 2018-10-31 23:58:31 21 5 0 5.38e8 #> 6 2018-10-31 23:58:31 24 5 0 2.09e8 #> 7 2018-10-31 23:58:31 26 5 0 2.51e8 #> 8 2018-10-31 23:58:31 28 5 0 2.45e8 #> 9 2018-10-31 23:58:31 31 5 0 2.06e8 #> 10 2018-10-31 23:58:31 39 5 0 2.45e8 #> 11 2018-10-31 23:58:31 44 5 0 2.45e8 #> 12 2018-10-31 23:58:31 47 5 0 2.46e8 #> 13 2018-10-31 23:58:31 56 5 0 2.51e8 #> 14 2018-10-31 23:58:31 60 5 0 2.57e8 #> 15 2018-10-31 23:58:31 77 5 0 2.57e8 #> 16 2018-10-31 23:58:31 79 5 0 2.73e8 #> 17 NA 108 5 0 2.49e8 #> 18 NA 162 5 0 3.67e8 #> 19 NA 164 5 0 3.51e8 #> # … with 18 more variables: ais_version <int>, imo_num <int>, callsign <chr>, #> # name <chr>, type_and_cargo <int>, dim_a <int>, dim_b <int>, dim_c <int>, #> # dim_d <int>, fix_type <int>, eta_month <int>, eta_day <int>, #> # eta_hour <int>, eta_minute <int>, draught <dbl>, destination <chr>, #> # dte <int>, spare <int> #> #> $msgs_7_13 #> # A tibble: 15 x 7 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 NA 91 7 0 3.67e8 #> 2 NA 92 7 1 2.65e8 #> 3 NA 93 7 1 2.65e8 #> 4 NA 95 7 0 3.16e8 #> 5 NA 96 7 0 3.16e8 #> 6 NA 114 13 3 4.63e8 #> 7 NA 115 7 0 8.59e7 #> 8 NA 180 7 0 3.67e8 #> 9 NA 181 7 1 2.65e8 #> 10 NA 182 7 1 2.65e8 #> 11 NA 184 7 0 3.16e8 #> 12 NA 185 7 0 3.16e8 #> 13 NA 258 13 0 5.38e8 #> 14 NA 259 13 0 5.38e8 #> 15 NA 260 13 0 5.38e8 #> # … with 2 more variables: dest_mmsi <list>, seq_num <list> #> #> $msgs_9 #> # A tibble: 7 x 29 #> time first_line_numb… message_id repeat_indicator mmsi alt #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 129 9 3 4.00e8 3704 #> 2 NA 220 9 0 1.01e3 157 #> 3 NA 221 9 0 7.61e5 4095 #> 4 NA 222 9 0 1.01e3 52 #> 5 NA 223 9 0 3.63e4 431 #> 6 NA 224 9 0 7.61e5 4095 #> 7 NA 225 9 0 1.19e6 131 #> # … with 23 more variables: sog <int>, position_accuracy <int>, lng_deg <dbl>, #> # lat_deg <dbl>, cog <int>, timestamp <int>, alt_sensor <int>, spare <int>, #> # dte <int>, spare2 <int>, assigned_mode <int>, raim <lgl>, sync_state <int>, #> # slot_timeout <int>, received_stations <int>, slot_number <int>, #> # utc_hour <int>, utc_min <int>, utc_spare <int>, slot_offset <int>, #> # slot_increment <int>, slots_to_allocate <int>, keep_flag <lgl> #> #> $msgs_10 #> # A tibble: 15 x 8 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 98 10 0 3.54e8 0 #> 2 NA 99 10 0 5.65e8 0 #> 3 NA 100 10 0 5.65e8 0 #> 4 NA 101 10 0 3.56e8 0 #> 5 NA 102 10 0 3.67e8 0 #> 6 NA 103 10 0 3.67e8 0 #> 7 NA 104 10 0 3.09e8 0 #> 8 NA 127 10 1 7.86e8 2 #> 9 NA 228 10 0 3.54e8 0 #> 10 NA 229 10 0 5.65e8 0 #> 11 NA 230 10 0 5.65e8 0 #> 12 NA 231 10 0 3.56e8 0 #> 13 NA 232 10 0 3.67e8 0 #> 14 NA 233 10 0 3.67e8 0 #> 15 NA 234 10 0 3.09e8 0 #> # … with 2 more variables: dest_mmsi <int>, spare2 <int> #> #> $msgs_12 #> # A tibble: 10 x 10 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 NA 122 12 1 9.97e8 #> 2 NA 246 12 0 3.67e8 #> 3 NA 247 12 0 3.67e8 #> 4 NA 248 12 0 3.67e8 #> 5 NA 249 12 3 6.61e8 #> 6 NA 250 12 3 7.92e8 #> 7 NA 251 12 0 1.05e9 #> 8 NA 252 12 3 7.05e8 #> 9 NA 253 12 3 1.04e9 #> 10 NA 255 12 3 9.34e8 #> # … with 5 more variables: seq_num <int>, dest_mmsi <int>, retransmitted <lgl>, #> # spare <int>, text <chr> #> #> $msgs_14 #> # A tibble: 12 x 8 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 118 14 1 6.54e8 3 #> 2 NA 266 14 1 2.59e8 1 #> 3 NA 267 14 1 3.94e8 3 #> 4 NA 268 14 1 9.79e8 1 #> 5 NA 270 14 2 5.16e8 3 #> 6 NA 271 14 3 5.16e8 0 #> 7 NA 272 14 1 3.75e8 1 #> 8 NA 274 14 3 2.25e8 0 #> 9 NA 275 14 1 2.05e8 1 #> 10 NA 276 14 1 3.48e7 0 #> 11 NA 277 14 1 7.10e8 3 #> 12 NA 481 14 0 3.97e8 1 #> # … with 2 more variables: text <chr>, spare2 <int> #> #> $msgs_15 #> # A tibble: 12 x 17 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 119 15 3 1.02e9 0 #> 2 NA 280 15 0 3.67e8 0 #> 3 NA 281 15 0 3.67e8 0 #> 4 NA 282 15 0 3.67e8 0 #> 5 NA 283 15 0 3.67e8 0 #> 6 NA 284 15 0 3.67e6 0 #> 7 NA 285 15 0 3.67e8 0 #> 8 NA 286 15 0 3.67e8 0 #> 9 NA 287 15 0 3.67e8 0 #> 10 NA 288 15 0 3.67e8 0 #> 11 NA 289 15 0 3.67e8 0 #> 12 NA 290 15 3 3.67e6 0 #> # … with 11 more variables: mmsi_1 <int>, msg_1_1 <int>, slot_offset_1_1 <int>, #> # spare2 <int>, dest_msg_1_2 <int>, slot_offset_1_2 <int>, spare3 <int>, #> # mmsi_2 <int>, msg_2 <int>, slot_offset_2 <int>, spare4 <int> #> #> $msgs_16 #> # A tibble: 7 x 13 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 131 16 2 2.92e8 3 #> 2 NA 300 16 3 5.58e8 3 #> 3 NA 301 16 0 7.65e8 1 #> 4 NA 303 16 3 3.67e6 0 #> 5 NA 304 16 3 3.67e6 0 #> 6 NA 305 16 3 3.67e6 0 #> 7 NA 306 16 3 3.67e6 0 #> # … with 7 more variables: dest_mmsi_a <int>, offset_a <int>, inc_a <int>, #> # spare2 <int>, dest_mmsi_b <int>, offset_b <int>, inc_b <int> #> #> $msgs_17 #> # A tibble: 7 x 8 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 117 17 3 1.07e9 3 #> 2 NA 311 17 0 8.05e8 1 #> 3 NA 312 17 3 7.91e8 1 #> 4 NA 313 17 3 6.66e8 0 #> 5 NA 314 17 0 1.17e8 0 #> 6 NA 315 17 3 7.89e8 3 #> 7 NA 317 17 0 5.90e8 1 #> # … with 2 more variables: lng_deg <dbl>, lat_deg <dbl> #> #> $msgs_18 #> # A tibble: 19 x 33 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 2018-10-31 23:58:31 43 18 0 3.16e8 0 #> 2 2018-10-31 23:58:31 50 18 0 9.93e8 0 #> 3 2018-10-31 23:58:31 63 18 0 3.16e8 0 #> 4 2018-10-31 23:58:31 71 18 0 3.16e8 0 #> 5 2018-10-31 23:58:31 72 18 0 2.57e8 0 #> 6 2018-10-31 23:58:31 74 18 0 2.57e8 0 #> 7 2018-10-31 23:58:31 84 18 0 2.57e8 0 #> 8 NA 111 18 0 3.67e8 0 #> 9 NA 320 18 1 3.38e8 0 #> 10 NA 321 18 0 3.67e8 0 #> 11 NA 322 18 2 3.38e8 0 #> 12 NA 323 18 0 3.67e8 0 #> 13 NA 324 18 0 3.67e8 0 #> 14 NA 325 18 0 3.38e8 0 #> 15 NA 326 18 0 1.11e8 0 #> 16 NA 327 18 0 3.67e8 0 #> 17 NA 328 18 0 3.67e8 0 #> 18 NA 329 18 0 3.67e8 0 #> 19 NA 330 18 0 3.67e8 0 #> # … with 27 more variables: sog <dbl>, position_accuracy <int>, lng_deg <dbl>, #> # lat_deg <dbl>, cog <dbl>, true_heading <int>, timestamp <int>, #> # spare2 <int>, unit_flag <int>, display_flag <int>, dsc_flag <int>, #> # band_flag <int>, m22_flag <int>, mode_flag <int>, raim <lgl>, #> # commstate_flag <int>, slot_timeout <int>, slot_offset <int>, #> # utc_hour <int>, utc_min <int>, utc_spare <int>, slot_number <int>, #> # received_stations <int>, slot_increment <int>, slots_to_allocate <int>, #> # keep_flag <int>, commstate_cs_fill <int> #> #> $msgs_19 #> # A tibble: 4 x 25 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 2018-10-31 23:58:31 68 19 0 1.58e2 0 #> 2 NA 333 19 0 3.67e8 216 #> 3 NA 334 19 0 3.67e8 0 #> 4 NA 335 19 0 3.67e8 0 #> # … with 19 more variables: sog <dbl>, position_accuracy <int>, lng_deg <dbl>, #> # lat_deg <dbl>, cog <dbl>, true_heading <int>, timestamp <int>, #> # spare2 <int>, name <chr>, type_and_cargo <int>, dim_a <int>, dim_b <int>, #> # dim_c <int>, dim_d <int>, fix_type <int>, raim <lgl>, dte <int>, #> # assigned_mode <int>, spare3 <int> #> #> $msgs_20 #> # A tibble: 14 x 6 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 NA 120 20 1 2.71e8 #> 2 NA 338 20 3 3.67e6 #> 3 NA 339 20 3 3.67e6 #> 4 NA 340 20 3 3.67e6 #> 5 NA 341 20 3 3.67e6 #> 6 NA 342 20 3 3.67e6 #> 7 NA 343 20 3 3.67e6 #> 8 NA 344 20 3 3.67e6 #> 9 NA 345 20 0 3.10e6 #> 10 NA 346 20 1 3.70e6 #> 11 NA 347 20 2 3.70e6 #> 12 NA 348 20 0 3.10e6 #> 13 NA 349 20 0 3.16e6 #> 14 NA 350 20 0 3.16e6 #> # … with 1 more variable: msg_20 <list> #> #> $msgs_21 #> # A tibble: 10 x 22 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 125 21 0 8.53e8 1 #> 2 NA 353 21 0 3.16e8 0 #> 3 NA 354 21 0 3.16e8 0 #> 4 NA 355 21 0 9.93e8 0 #> 5 NA 356 21 0 6.02e5 0 #> 6 NA 357 21 0 5.88e5 0 #> 7 NA 358 21 0 3.16e8 0 #> 8 NA 359 21 0 3.16e8 0 #> 9 NA 360 21 0 4.31e8 0 #> 10 NA 361 21 0 6.02e5 0 #> # … with 16 more variables: aton_type <int>, name <chr>, #> # position_accuracy <int>, lng_deg <dbl>, lat_deg <dbl>, dim_a <int>, #> # dim_b <int>, dim_c <int>, dim_d <int>, fix_type <int>, timestamp <int>, #> # off_pos <lgl>, aton_status <int>, raim <lgl>, virtual_aton <lgl>, #> # assigned_mode <lgl> #> #> $msgs_22 #> # A tibble: 10 x 20 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 130 22 0 3.16e6 0 #> 2 NA 364 22 0 3.16e6 0 #> 3 NA 365 22 0 3.16e6 0 #> 4 NA 366 22 0 3.16e6 0 #> 5 NA 367 22 0 3.16e6 0 #> 6 NA 368 22 0 3.16e6 0 #> 7 NA 369 22 0 3.16e6 0 #> 8 NA 370 22 0 3.16e6 0 #> 9 NA 371 22 0 3.16e6 0 #> 10 NA 372 22 0 3.16e6 0 #> # … with 14 more variables: chan_a <int>, chan_b <int>, txrx_mode <int>, #> # power_low <lgl>, lng_deg_1 <dbl>, lat_deg_1 <dbl>, lng_deg_2 <dbl>, #> # lat_deg_2 <dbl>, dest_mmsi_1 <int>, dest_mmsi_2 <int>, #> # chan_a_bandwidth <int>, chan_b_bandwidth <int>, zone_size <int>, #> # spare2 <int> #> #> $msgs_23 #> # A tibble: 6 x 17 #> time first_line_numb… message_id repeat_indicator mmsi spare #> <dttm> <int> <int> <int> <int> <int> #> 1 NA 124 23 0 8.44e8 2 #> 2 NA 376 23 0 9.12e8 3 #> 3 NA 378 23 0 1.07e9 1 #> 4 NA 381 23 0 2.82e8 0 #> 5 NA 382 23 0 1.61e8 3 #> 6 NA 385 23 0 1.45e8 2 #> # … with 11 more variables: lng_deg_1 <dbl>, lat_deg_1 <dbl>, lng_deg_2 <dbl>, #> # lat_deg_2 <dbl>, station_type <int>, type_and_cargo <int>, spare2 <int>, #> # txrx_mode <int>, interval_raw <int>, quiet <int>, spare3 <int> #> #> $msgs_24 #> # A tibble: 25 x 14 #> time first_line_numb… message_id repeat_indicator mmsi name #> <dttm> <int> <int> <int> <int> <chr> #> 1 2018-10-31 23:58:31 4 24 0 2.66e8 NA #> 2 2018-10-31 23:58:31 8 24 0 3.16e8 ATLA… #> 3 2018-10-31 23:58:31 10 24 0 2.58e8 SVAN… #> 4 2018-10-31 23:58:31 14 24 0 3.38e8 ROCK… #> 5 2018-10-31 23:58:31 37 24 0 2.51e8 HJOR… #> 6 2018-10-31 23:58:31 59 24 0 2.51e8 NA #> 7 2018-10-31 23:58:31 66 24 0 2.57e8 GERD… #> 8 2018-10-31 23:58:31 67 24 0 2.57e8 JANI… #> 9 2018-10-31 23:58:31 70 24 0 2.57e8 NA #> 10 2018-10-31 23:58:31 73 24 0 2.57e8 NA #> # … with 15 more rows, and 8 more variables: type_and_cargo <int>, #> # vendor_id <chr>, callsign <chr>, dim_a <int>, dim_b <int>, dim_c <int>, #> # dim_d <int>, spare <int> #> #> $msgs_25 #> # A tibble: 17 x 8 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 NA 121 25 0 7.53e8 #> 2 NA 403 25 0 3.67e8 #> 3 NA 404 25 0 3.67e8 #> 4 NA 405 25 0 3.67e8 #> 5 NA 406 25 0 3.67e8 #> 6 NA 407 25 0 3.67e8 #> 7 NA 408 25 0 3.67e8 #> 8 NA 409 25 0 3.67e8 #> 9 NA 410 25 1 4.15e8 #> 10 NA 411 25 0 3.67e8 #> 11 NA 412 25 0 3.67e8 #> 12 NA 413 25 0 3.67e8 #> 13 NA 414 25 0 3.67e8 #> 14 NA 415 25 0 3.67e8 #> 15 NA 416 25 0 3.67e8 #> 16 NA 417 25 0 3.67e8 #> 17 NA 418 25 0 3.67e8 #> # … with 3 more variables: dest_mmsi <int>, dac <int>, fi <int> #> #> $msgs_26 #> # A tibble: 14 x 18 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 NA 123 26 0 1.03e9 #> 2 NA 421 26 0 3.59e8 #> 3 NA 422 26 1 4.25e8 #> 4 NA 424 26 0 1.04e9 #> 5 NA 426 26 1 6.40e8 #> 6 NA 427 26 0 3.29e8 #> 7 NA 428 26 1 1.03e9 #> 8 NA 430 26 1 9.60e8 #> 9 NA 431 26 1 3.90e8 #> 10 NA 433 26 1 5.81e8 #> 11 NA 434 26 1 8.35e8 #> 12 NA 435 26 2 1.05e9 #> 13 NA 436 26 2 2.55e8 #> 14 NA 437 26 2 1.00e9 #> # … with 13 more variables: dest_mmsi <int>, dac <int>, fi <int>, #> # sync_state <int>, received_stations <int>, slot_number <int>, #> # utc_hour <int>, utc_min <int>, utc_spare <int>, slot_offset <int>, #> # slot_increment <int>, slots_to_allocate <int>, keep_flag <lgl> #> #> $msgs_27 #> # A tibble: 3 x 14 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 NA 116 27 3 9.74e8 #> 2 NA 450 27 3 9.81e8 #> 3 NA 452 27 3 6.07e8 #> # … with 9 more variables: position_accuracy <int>, raim <int>, #> # nav_status <int>, lng_deg <dbl>, lat_deg <dbl>, sog <dbl>, cog <dbl>, #> # gnss <lgl>, spare <int> #># return all messages, combined into a single data frame ==================== ais_decode_df(nmea_file)#>#> # A tibble: 280 x 110 #> time first_line_numb… message_id repeat_indicator mmsi #> <dttm> <int> <int> <int> <int> #> 1 2018-10-31 23:58:31 4 24 0 2.66e8 #> 2 2018-10-31 23:58:31 5 5 0 2.30e8 #> 3 2018-10-31 23:58:31 7 1 0 2.77e8 #> 4 2018-10-31 23:58:31 8 24 0 3.16e8 #> 5 2018-10-31 23:58:31 9 3 0 2.49e8 #> 6 2018-10-31 23:58:31 10 24 0 2.58e8 #> 7 2018-10-31 23:58:31 11 4 0 3.16e6 #> 8 2018-10-31 23:58:31 12 5 0 2.41e8 #> 9 2018-10-31 23:58:31 14 24 0 3.38e8 #> 10 2018-10-31 23:58:31 15 3 0 2.57e8 #> # … with 270 more rows, and 105 more variables: nav_status <int>, #> # rot_over_range <lgl>, rot <dbl>, sog <dbl>, position_accuracy <int>, #> # lng_deg <dbl>, lat_deg <dbl>, cog <dbl>, true_heading <int>, #> # timestamp <int>, special_manoeuvre <int>, spare <int>, raim <int>, #> # sync_state <int>, slot_timeout <int>, received_stations <int>, #> # slot_number <int>, utc_hour <int>, utc_min <int>, utc_spare <int>, #> # slot_offset <int>, slot_increment <int>, slots_to_allocate <int>, #> # keep_flag <int>, year <int>, month <int>, day <int>, hour <int>, #> # minute <int>, second <int>, fix_type <int>, transmission_ctl <int>, #> # ais_version <int>, imo_num <int>, callsign <chr>, name <chr>, #> # type_and_cargo <int>, dim_a <int>, dim_b <int>, dim_c <int>, dim_d <int>, #> # eta_month <int>, eta_day <int>, eta_hour <int>, eta_minute <int>, #> # draught <dbl>, destination <chr>, dte <int>, dest_mmsi <list>, #> # seq_num <list>, alt <int>, alt_sensor <int>, spare2 <int>, #> # assigned_mode <int>, retransmitted <lgl>, text <chr>, mmsi_1 <int>, #> # msg_1_1 <int>, slot_offset_1_1 <int>, dest_msg_1_2 <int>, #> # slot_offset_1_2 <int>, spare3 <int>, mmsi_2 <int>, msg_2 <int>, #> # slot_offset_2 <int>, spare4 <int>, dest_mmsi_a <int>, offset_a <int>, #> # inc_a <int>, dest_mmsi_b <int>, offset_b <int>, inc_b <int>, #> # unit_flag <int>, display_flag <int>, dsc_flag <int>, band_flag <int>, #> # m22_flag <int>, mode_flag <int>, commstate_flag <int>, #> # commstate_cs_fill <int>, msg_20 <list>, aton_type <int>, off_pos <lgl>, #> # aton_status <int>, virtual_aton <lgl>, chan_a <int>, chan_b <int>, #> # txrx_mode <int>, power_low <lgl>, lng_deg_1 <dbl>, lat_deg_1 <dbl>, #> # lng_deg_2 <dbl>, lat_deg_2 <dbl>, dest_mmsi_1 <int>, dest_mmsi_2 <int>, #> # chan_a_bandwidth <int>, chan_b_bandwidth <int>, zone_size <int>, #> # station_type <int>, interval_raw <int>, …