Erweitern von Datensätzen um benutzerdefinierte Spalten

Der Memory Channels Processor bietet auch die Möglichkeit Datensätze um eine oder mehrere Spalten zu erweitern. Es besteht auch die Möglichkeit auf diesem Wege schon existierende Spalten zu überschreiben. Die so veränderten Datensätze können im csv, json, tsv oder xml Format exportiert werden.

In folgendem Beispiel soll ein Datensatz mit Repeatern aus Wien, die OE1XF im Rufzeichen haben erweitert werden.

Generieren eines Basis-Datensatzes im CSV-Format
memory-channels-processor --source "oevsv-repeater-db" --band 70cm --type "fm" --output-format="csv" --filter "callsign~=OE1XF"
Ausgabe des CSV-Basis-Datensatzes
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
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,,
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,,

Der Datensatz soll nun um die Spalte reachability erweitert werden, in der ein Kommentar zur jeweiligen Erreichbarkeit hinterlegt ist. Dazu müssen die Daten ebenfalls im CSV-Format vorliegen. Auch muss eine Spalte als Bezug zwischen den beiden Datensätzen dienen - in diesem Fall die Spalte callsign.

Eine solche Datei könnte folgendermaßen aussehen:

Ausgabe des Datensatzes der Datei reachability.csv
callsign,reachability
OE1XFW,good
OE1XFU,fair
OE1XFX,doesn't exist

Beide Datensätze können nun mit dem folgenden Aufruf gemerged (also zusammengefügt) werden:

Merge des Basis-Datensatzes mit anderen Daten im CSV-Format (aus der Datei reachability.csv)
memory-channels-processor --source "oevsv-repeater-db" --band 70cm --type "fm" --output-format="csv" --filter "callsign~=OE1XF" --merge-file "reachability.csv" --merge-on "callsign"

In der Ausgabe sind nun in der "letzten" Spalte die Werte für reachability eingetragen:

Ausgabe des resultierenden Datensatzes
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,reachability
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,,,good
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,,,fair