Analizator danych XML

Celem tego projektu było napisanie aplikacji w Qt/C++ do analizy danych i przy okazji lepsze poznanie języka C++ i technologi Qt. Projekt został stworzony na licencji Qt typu opensource. W założeniach program ten ma być aplikacją typu freeware dostępną na wiele systemów operacyjnych.

  1. Dlaczego Qt?

  2. Qt to zestaw przenośnych bibliotek programistycznych. Ich niezaprzeczalną zaletą jest fakt, że programy napisane przy ich użyciu można uruchamiać na wielu systemach operacyjnych. Wykorzystanie języka C++ umożliwia pisanie aplikacji, które nie potrzebują znacznych zasobów komputera. Istotną różnicą w stosunku do Javy jest brak maszyny wirtualnej. Technologia Qt jest szeroko wykorzystywana podczas pisania aplikacji związanych z systemami Linux.

  3. Co robi ten program?

  4. Napisany przeze mnie program generuje wykresy statystyczne i czasowe na podstawie danych ładowanych z plików XML. Po poprawnym wczytaniu pliku użytkownik sam decyduje ile i jakiego typu wykresy zostaną mu przedstawione.

  5. Instrukcja obsługi

  6. Pierwszą czynnością, jaką musimy wykonać po uruchomieniu aplikacji, jest wybranie pliku XML, który będziemy analizować. W momencie, gdy wybrany plik okaże się prawidłowym plikiem XML, program analizuję jego treść. Następnie w sposób dynamiczny zostaniee utworzone GUI, wyświetlające wszystkie węzły, które mają jakieś wartości i nie posiadają dzieci. Użytkownik może zdecydować, jak potraktować każdy ze zbiorów. Oto możliwości:

    Do nothing - pole nie bierze udziału w wykresach
    Draw bar chart (OpenGL) - narysowanie statystycznych wykresów słupkowych za pomocą OpenGL (dla danych numerycznych i tekstowych)
    Draw line graph - narysowanie wykresu na osi xy (dla wartości numerycznych, dziedziną dla kolejnych wartości węzła jest numer jego wystąpienia w pliku XML licząc od jego początku)
    Draw datetime graph - narysowanie wykresu czasowego na osi xy (dla wartości numerycznych, konieczność użycia jednego z węzłów jako daty (opcja: 'Use this field as date', pole z datą musi mieć tyle samo wystąpień w pliku co węzeł, na podstawie którego rysuje się wykres czasowy)
    Use this field as date - dane pole będzie źródłem daty

    W przypadku dokonania przez użytkownika nieprawidłowych wyborów, program poinformuje go o tym stosownym komunikatem.
    Użytkownik ma także możliwość wyboru koloru tła i linii dla wykresów na osi xy (tworzonych za pomocą biblioteki Qwt), za pomocą dwóch przycisków na górze strony. Po prawidłowym wybraniu koloru wokół klikniętego przycisku pojawi się ramka o kolorze wybranym przez użytkownika. W przypadku rezygnacji z wyboru kolorów program użyje domyślnych ustawień.

  7. Przyszłość aplikacji

  8. Program jest cały czas w fazie rozwojowej. Następnym etapem rozwoju najprawdopodobniej będzie wczytywanie atrybutów węzłów oraz większe wsparcie dla plików gpx (przechowujących logi urządzeń GPS).

  9. Linki związane z tym programem

  10. http://code.google.com/p/xmlanalyzer/downloads/list - miejsce przechowywania plików źródłowych aplikacji
    http://qt.nokia.com/ - strona główna Qt
    http://qwt.sourceforge.net/index.html - strona projektu Qwt (w zakładce downloads możliwość ściągnięcia bibliotek niezbędnych do skompilowania opisanej na tej stronie aplikacji)

  11. Zrzuty ekranu:

wygląd programu po uruchomieniu Wygląd programu po wgraniu prawidłowego pliku XML (menu stworzone w sposób dynamiczny) Wygląd aplikacji po ustaleniu ról dla konkretnych węzłów i ustawieniu niestandardowych kolorów dla wykresów tworzonych za pomocą biblioteki Qwt Przykład wykresów stworzonych za pomocą biblioteki Qwt (wykresy na górze używają daty jako swojej dziedziny, natomiast dziedziną dla dolnego wykresu jest numer wystąpienia w pliku) Wykres słupkowy stworzony za pomocą OpenGL




Projekt i wykonanie: Krzysztof Ruszczyński (w oparciu o własny system CMS)
Grafika dostarczona przez jcd.pl