OpenSource Projekte

Bei Programmierwettbewerben wird OpenSource-Software gerne als Grundlage genutzt, um die übrige Zeit dann in das eigentliche Projekt investieren zu können. Vielfach kommen dadurch auch spannende, innovative Projekte an die Öffentlichkeit.

Ich möchte meinen Beitrag hierzu leisten und Ihnen eine Auswahl von OpenSource-Projekten vorstellen, an denen ich mit entwickelt habe.

UIC-TLB-Interpreter

Framework zur Interpretation von Barcode-Layout-Tickets nach UIC918.3, 2024

ÖPNV-Barcodetickets nach dem Standard UIC-918.3 (TLB) sind ihrem ursprünglichen Sinne nicht auf maschinenlesbarkeit ausgelegt. In diesem Projekt wurde ein Framework zur Interpretation von TLBs geschaffen, welches anhand von JSON-Dateien die Extraktion von Daten aus einem TLB ermöglicht. Die simple Extraktion eines Strings wird ebenso unterstützt wie das Parsen eines Datums zur Ermittlung der zeitlichen Gültigkeit. Die JSON-Definitionen können darüber hinaus Restriktionen enthalten, welche die Einschränkung auf TLBs bestimmter Aussteller oder Inhalte ermöglicht.

Der Quellcode ist frei auf GitHub verfügbar. Das Projekt wird unter anderem von der Amcon Software GmbH in der mobilen Kontroll-Lösung eingesetzt.

WinFormsMapControl

Interaktives Kartensteuerelement für WindowsForms und .NET-Framework 4.8, 2022

Besonders OpenStreetMap-Karten lassen sich erfahrungsgemäß nur schwer in Software außerhalb des Webbereiches einbinden. Grund hierfür ist, dass OpenStreetMap die Angabe eines UserAgent verlangt, was in vielen OpenSource-Bibliotheken nicht gegeben ist. Das originär von Alexander Krutov initiierte Projekt stellt die Basis für die Einbindung einer Online-Karte in WindowsForms bereit. Ich habe die Bibliothek um einige weitere Funktionen erweitert und verfeinert. Hierzu zählen beispielsweise:

- Die Anzeige von Ellipsen in Pixel, Meter oder Yards
- Elemente in der Karte reagieren auf Click- und Hover-Events
- Elemente können in verschiedenen Ebenen gruppiert und dadurch ein- und ausgeblendet werden

Der Quellcode ist frei auf GitHub verfügbar. Eingesetzt wird die Bibliothek unter anderem in diversen Softwareprojekten für Kunden.