'load_fleet_to_uset',
'fleetname_to_fleetid',
'filter_area',
+ 'filter_close_to',
+ 'filter_far_from',
+ 'filter_sog_le',
'filter_knownposition',
'filter_speedcheck',
]
return dist3_xyz(latlon_to_xyz_deg(lat, lon), latlon_to_xyz_ais(nmea.latitude, nmea.longitude)) >= miles
+def filter_sog_le(nmea, max_knts):
+ '''
+ Returns true if speed over ground is less than max_knts
+ '''
+ return nmea.sog/AIS_SOG_SCALE <= max_knts
+
+
def filter_knownposition(nmea):
"""
Returns false if position is not fully known
parser.add_option('--filter-closeto',
action='store', dest='close_to', nargs=3, metavar='LAT LONG MILES',
help="only show ships closer than MILES miles from LAT,LONG")
+ parser.add_option('--filter-sog-le',
+ action='store', dest='sog_le', metavar='KNOTS',
+ help='only show ships when speed over ground is less or equal to KNOTS.')
parser.add_option('--filter-destination',
action='store', type='str', dest='filter_destination', metavar="DESTINATION",
miles = float(options.far_from[2])
filters.append(lambda nmea: filter_far_from(nmea, lat, lon, miles))
+ if options.sog_le:
+ filters.append(lambda nmea: filter_sog_le(nmea, float(options.sog_le)))
+
if options.type_list:
def filter_type(nmea):
return nmea.type in options.type_list