pub enum AprsIsFilter {
Range {
lat: f64,
lon: f64,
distance_km: f64,
},
Area {
lat1: f64,
lon1: f64,
lat2: f64,
lon2: f64,
},
Prefix(Vec<String>),
Budlist(Vec<String>),
Object(Vec<String>),
Type(String),
Symbol(String),
Friend {
callsign: String,
distance_km: f64,
},
Group(String),
Raw(String),
}Expand description
Structured APRS-IS filter expression.
Per http://www.aprs-is.net/javAPRSFilter.aspx, APRS-IS servers
accept a small query language for selecting which packets to deliver
to a client connection. Each filter is one or more tokens separated
by spaces. This enum covers the commonly-used forms; use
AprsIsFilter::raw to drop in any literal filter string for
advanced cases.
Variants§
Range
Range filter r/lat/lon/distance_km — packets from stations
within the given radius.
Fields
Area
Area / box filter a/lat1/lon1/lat2/lon2 — packets within a
lat/lon bounding box (NW and SE corners).
Fields
Prefix(Vec<String>)
Prefix filter p/aa/bb/cc — packets whose source callsign
begins with any of the given prefixes.
Budlist(Vec<String>)
Budlist filter b/call1/call2 — packets from exactly these
stations.
Object(Vec<String>)
Object filter o/obj1/obj2 — object reports with these names.
Type(String)
Type filter t/poimntqsu — characters select which frame types
are wanted (p=position, o=object, i=item, m=message, n=nws,
t=telemetry, q=query, s=status, u=user-defined).
Symbol(String)
Symbol filter s/sym1sym2/... — symbols to include.
Friend
“Friend” / range-around-station filter f/call/distance_km.
Group(String)
Group message filter g/name — bulletins addressed to this
group.
Raw(String)
Raw literal filter string for advanced / uncommon cases.
Implementations§
Trait Implementations§
Source§impl Clone for AprsIsFilter
impl Clone for AprsIsFilter
Source§fn clone(&self) -> AprsIsFilter
fn clone(&self) -> AprsIsFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more