MPC Packer Logo

Hilfe

MPC-Objektbezeichnungen automatisch packen, entpacken und aus Dateien extrahieren.

Grundprinzip

MPC Packer wandelt MPC-Objektbezeichnungen zwischen der lesbaren Schreibweise und der gepackten MPC-Schreibweise um. Die gepackte Form wird vor allem dort gebraucht, wo alte MPC-Formate wie OBS80 nur ein kurzes, festes Objektfeld erlauben. Die GUI erkennt automatisch, ob eine eingegebene Bezeichnung bereits gepackt oder noch ungepackt ist, und erzeugt dann die jeweils andere Form.

Die Umwandlung arbeitet bewusst vorsichtig. Sichere MPC-Bezeichnungen werden umgewandelt. Tracklet- oder Submissionskennungen, die wie freie Projektnamen aussehen und nicht sicher als MPC-Bezeichnung erkannt werden können, werden nicht geraten, sondern als nicht sicher umwandelbar markiert.

Bedienung der GUI

Beim Start ist das Eingabefeld leer bis auf die Hinweiszeile Geben Sie hier Ihre Bezeichnung(en) an.. Sie können eine oder mehrere Bezeichnungen direkt einfügen, je eine Bezeichnung pro Zeile. Mit Umwandeln wird die Tabelle darunter gefüllt. Beispiele trägt typische Testfälle ein. Leeren setzt Eingabe und Ergebnisliste zurück.

Über Datei > Datei laden wählen Sie eine Datei aus. Das Programm erkennt das Format über Dateiendung und Inhalt, extrahiert Bezeichnungen, entfernt Dubletten in der Reihenfolge des ersten Auftretens und wandelt die gefundenen Werte anschließend um. Über Export wird die Ergebnisliste wieder in ein passendes Dateiformat geschrieben.

Nach dem Laden zeigt die Statuszeile einen Importbericht: erkannter Dateityp, gelesene Zeilen oder Datensätze, gefundene Kandidaten, erkannte Bezeichnungen, entfernte Dubletten und verworfene Kandidaten mit Beispielen. Dadurch sieht man sofort, ob eine ADES- oder OBS80-Datei wirklich als solche erkannt wurde.

Ergebnistabelle

Die Tabelle zeigt Eingabe, Status, erkannte Richtung, Objektart, Ausgabe und Hinweis. Erfolgreiche Zeilen enthalten die neue Bezeichnung. Bei bereits passender Eingabe geben die festen Werkzeuge den Wert unverändert zurück. Fehler- und Warnzeilen bleiben sichtbar, damit keine unsichere Bezeichnung still verloren geht.

TXT-Eingaben

Eine TXT-Datei wird normalerweise zeilenweise gelesen. Leere Zeilen werden ignoriert. Jede nicht leere Zeile gilt als Bezeichnung, sofern sie nicht als OBS80-Kopf- oder Metadatenzeile erkannt wird. Wenn eine Textdatei ADES-PSV-ähnliche Spalten mit senkrechten Strichen enthält, wird sie wie eine PSV-Tabelle behandelt.

2007 TA418
K07Tf8A
1P
C/2020 F3
S/2004 S 1

CSV, TSV und PSV

CSV, TSV und PSV werden als Tabellen gelesen. Das Trennzeichen wird bei CSV automatisch aus Komma, Semikolon, Tabulator oder senkrechtem Strich erkannt. Wenn Kopfspalten vorhanden sind, sucht MPC Packer zuerst nach eindeutigen MPC- oder ADES-Feldern: permID, provID, trkSub, designation, desig, object, Objekt, Eingabe oder input. Ohne passende Kopfzeile wird die erste Spalte verwendet.

Bei ADES-ähnlichen Tabellen gilt die Reihenfolge permID, dann provID, dann trkSub. Ein vorhandener permanenter Identifier ist also stärker als eine provisorische Bezeichnung; eine reine Trackletkennung wird nur ausgegeben, wenn sie als Eingabewert vorhanden ist, aber nicht blind in eine MPC-Objektbezeichnung umgedeutet.

permID|provID|trkSub
|2007 TA418|
433|1898 DQ|
||XJ42A

JSON

JSON-Eingaben dürfen einfache Listen, einzelne Objekte oder verschachtelte Strukturen enthalten. Zeichenketten werden direkt gelesen. Bei Objekten sucht das Programm dieselben Feldnamen wie bei CSV/ADES. Dadurch funktionieren sowohl einfache eigene Exportdateien als auch typische ADES-nahe JSON-Strukturen.

[
  "2007 TA418",
  {"provID": "1995 XA"},
  {"permID": "433"},
  {"designation": "C/2020 F3"}
]

XML und ADES-XML

XML-Dateien werden strukturiert gelesen. Das Programm läuft durch die Elemente und übernimmt Text aus Elementen wie permID, provID, trkSub, designation, desig, object, Objekt, input oder Eingabe. XML-Namensräume werden dabei ignoriert, damit ADES-XML und einfache eigene XML-Dateien beide verarbeitet werden können.

OBS80

OBS80-Zeilen haben am Anfang ein festes Objektfeld. MPC Packer erkennt typische Beobachtungszeilen an der Kombination aus Objektfeld und Datumsteil und entnimmt nur das Objektfeld am Zeilenanfang. Dadurch verrutschen Beobachtungsdatum, Rektaszension, Deklination, Helligkeit und Stationscode nicht. Kopfzeilen wie COD, OBS, MEA, TEL oder NET werden beim Textimport übersprungen.

Ausgabeformate

Das Ausgabeformat wird automatisch über die Dateiendung gewählt. .txt schreibt eine tabulatorgetrennte Texttabelle. .csv schreibt eine CSV-Datei mit Semikolon als Trennzeichen und UTF-8-Signatur, damit Excel deutsche Spaltennamen zuverlässig erkennt. .json schreibt eine Liste von Ergebnisobjekten. .xml schreibt ein einfaches mpcPackerResults-Dokument. .ods erzeugt eine einfache OpenDocument-Tabellendatei. .xls erzeugt eine HTML-Tabelle, die Excel öffnen kann.

Alle Ausgaben enthalten dieselben Spalten: Eingabe, Status, Richtung, Objektart, Ausgabe und Hinweis. Die Sprache der Spalten und Hinweise steuern Sie mit --lang de oder --lang en.

CLI-Programme

MPCPacker.exe erkennt die Richtung automatisch. MPC_pack.exe erwartet ungepackte Bezeichnungen und gibt gepackte aus; wenn die Eingabe schon gepackt ist, bleibt sie unverändert. MPC_unpack.exe erwartet gepackte Bezeichnungen und gibt ungepackte aus; wenn die Eingabe schon ungepackt ist, bleibt sie unverändert.

MPCPacker.exe --input bezeichnungen.csv --output ergebnis.json --lang de
MPCPacker.exe --convert "2007 TA418" --convert K07Tf8A --lang de
MPCPacker.exe --input swan-ades.txt --output ergebnis.csv --import-report
MPC_pack.exe --input ades.psv --output packed.csv --lang de
MPC_unpack.exe --input beobachtungen.obs --output unpacked.txt --lang en

Mit --import-report schreibt die CLI den Importbericht auf die Fehlerausgabe. Dadurch bleiben CSV, JSON, TXT, XML, ODS oder XLS auf der Standardausgabe beziehungsweise in der Ausgabedatei sauber. Ohne --output schreiben die CLI-Programme eine tabulatorgetrennte Tabelle auf die Standardausgabe. Ohne Eingabeparameter zeigt das Programm die Hilfe an; die grafische Oberfläche startet nur beim GUI-Programm ohne CLI-Auftrag.