Filtern von Datensätzen
Die Datensätze können abseits von Bändern (z.B. --band "2m"
), Modi (z.B. --type "FM"
) und Ländern (z.B. --country
) auch nach weiteren benutzerdefinierten Kriterien gefiltert werden.
Das geht sehr einfach durch Verwendung des Parameters --filter
.
Dabei werden anschließend immer der gewünschte Parameter und der zu filternde Wert angegeben:
-
--filter "callsign==OE1XFW"
-
--filter "name==Laaerberg Turm"
-
--filter "freq_tx==431.05"
-
…
Folgende Vergleichsoperatoren stehen zur Verfügung:
-
==
: Gleich -
!=
: Ungleich -
~=
: Enthält (bei Zeichenketten) -
>
: Größer -
>=
: Größer gleich -
<
: Kleiner -
<=
: Kleiner gleich
Daraus ergibt sich nun das folgende Format zur Angabe eines benutzerdefinierten Filters:
--filter "<key><operator><value>"
Für <key>
verwendet man die Werte aus der folgenden Tabelle, als <operator>
setzt man den gewünschten Vergleichsoperator ein.
Anstelle von <value>
setzt man den gewünschten Wert ein, der zum Vergleich herangezogen werden soll.
Einige Filtermöglichkeiten sind zum Beispiel:
-
--filter "callsign==OE1XFW"
-
--filter "name~=Turm"
-
--filter "freq_tx>=431.05"
-
--filter "multimode==False"
-
--filter "multimode!=True"
-
--filter "sea_level<1500"
-
…
Es ist auch möglich mehrmals den Parameter --filter …
mit unterschiedlichen Kriterien anzugeben.
Die einzelnen Kriterien werden dann in der Abfrage logisch als und
verknüpft.
Das heißt, nur wenn alle Kriterien zutreffen, wird der betreffende Datensatz auch ausgegeben.
Beispielsweise würde der Ausdruck --filter "callsign~=OE1X" --filter "name~=Turm"
nach Einträgen suchen, die ein OE1X
als Teil ihres Callsigns und Turm
in ihrem Namen haben.
Der Memory Channels Processor
arbeitet intern mit den folgenden Datensatz-Spalten und stellt somit auch folgende Filtermöglichkeiten zur Verfügung:
Key | Type |
---|---|
band |
object |
c4fm |
bool |
callsign |
object |
country |
object |
country_code |
object |
ctcss |
bool |
ctcss_rx |
float64 |
ctcss_tx |
float64 |
distance |
float64 |
dmr |
bool |
dmr_cc |
int64 |
dmr_id |
int64 |
dstar |
bool |
dstar_rpt1 |
object |
dstar_rpt2 |
object |
dup |
object |
fm |
bool |
freq_rx |
float64 |
freq_tx |
float64 |
heading |
int64 |
issue_count |
int64 |
issues |
object |
landmark |
object |
lat |
float64 |
loc_exact |
bool |
locator |
object |
long |
float64 |
multimode |
bool |
name |
object |
name_formatted |
object |
offset |
float64 |
scan_group |
int64 |
sea_level |
int64 |
simplex |
bool |
skip |
bool |
source_id |
object |
source_license |
object |
source_name |
object |
source_provider |
object |
source_type |
object |
source_url |
object |
split |
bool |
state |
object |
Beispiel
Als Beispiel dienen die Wiener FM Repeater.
Es sollen nur 70cm Repeater mit OE1X
im Callsign ausgegeben werden:
memory-channels-processor --source "oevsv-repeater-db" --band 70cm --type "fm" --output-format="csv" --filter "callsign~=OE1X"
callsign,name,band,freq_tx,freq_rx,ctcss_tx,ctcss_rx,c4fm,dmr,dmr_id,dmr_cc,dstar,dstar_rpt1,dstar_rpt2,fm,landmark,state,country,country_code,loc_exact,lat,long,locator,sea_level,skip,scan_group,source_id,source_name,source_provider,source_type,source_license,source_url,offset,dup,ctcss,simplex,split,multimode,name_formatted,distance,heading
OE1XBA,Porrtower,70cm,430.7125,438.3125,162.2,162.2,False,False,,,False,,,True,Favoriten,Wien,Austria,AUT,True,48.16796379539441,16.38715982437134,JN88EE,232,False,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XBA,,
OE1XAT,Hermannskogel,70cm,430.875,438.475,162.2,162.2,False,False,,,False,,,True,Grinzing,Wien,Austria,AUT,True,48.27041873853696,16.29355072975159,JN88DG,542,False,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XAT,,
OE1XFW,Laaerberg Turm,70cm,431.05,438.65,,,False,False,,,False,,,True,Oberlaa Stadt,Wien,Austria,AUT,True,48.157173,16.396717,JN88ED,252,False,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,False,False,False,False,OE1XFW,,
OE1XUU,Kahlenberg,70cm,431.35,438.95,162.2,162.2,False,False,,,False,,,True,Josefsdorf,Wien,Austria,AUT,True,48.276145,16.333217,JN88DG,483,False,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XUU,,
OE1XFU,Satzberg,70cm,431.4,439.0,162.2,162.2,False,False,,,False,,,True,Hütteldorf,Wien,Austria,AUT,True,48.21527259679771,16.2613320350647,JN88DF,435,False,,oevsv-repeater-db,ÖVSV-Repeater Database,ÖVSV UKW Referat,dynamic,CC BY 4.0,https://www.oevsv.at/funkbetrieb/amateurfunkfrequenzen/ukw-referat/,7.6,-,True,False,False,False,OE1XFU,,