Notka z integracji Raportów z PowerGPSem

Mamy grudzień i jesteśmy na finiszu, jeśli chodzi o zapewnienie pełnej kompatybilności Raportów GPS z Power GPS-em. Integracja zajęła jednak sporo czasu i przez ten czas nie było ani aktualizacji RaportówGPS ani PowerGPS.

Ktoś może spytać:

Dlaczego tak długo?

Zanim odpowiem na pytanie, powinienem nakreślić genezę powstania programu, bowiem jest ona ściśle powiązana z ostatnimi zmianami w programie.

Trochę historii

Otóż gdy powstawał moduł raportujący (jeszcze wtedy nie było nazwy RaportyGPS)  był on rozwijany w ramach „kombajnu” Cad-Room (tak, tak, pierwotna nazwa aplikacji dla Androida dla geodezji). Jednak geodeci pragnęli narzędzia mniejszego i łatwiejszego w obsłudze, więc w okolicy lutego-marca wyodrębniłem kod źródłowy związany z modułem i zdecydowałem, aby obudować go w osobną aplikację. W tym momencie nastąpiło pierwsze wydanie programu RaportyGPS, natomiast w warsztacie SkyRaster były już dwa główne osobne projekty (z osobnym kodem źródłowym): Cad-Room (który wyewoluował do postaci PowerGPS) oraz właśnie RaportyGPS. Już nawet nie wspominam o projekcie Emulator Dalmierza Disto, który również był wynikiem wcześniejszego rozwoju Cad-Rooma i dołożył swoje 3 grosze do procedur obsługi dalmierzy (w szczególności Boscha).

logo2.png

Powód wyodrębnienia kodu był również związany z dynamicznym rozwojem aplikacji Android (Cad-Room [AND]), więc tamten kod zmieniał się na tyle szybko, iż utrzymanie dwóch projektów „sączących” z jednego źródła mogłoby wydłużać aktualizacje Raportów (które jak wiecie, były dość częste).

Dlatego też przez następnych parę miesięcy, każdy z projektów szedł swoją własną ścieżką.

PowerGPS wkracza do gry…

Pierwotnie Cad-Room posiadał dwa moduły: architektoniczny oraz geodezyjny (mapowy). Moduł architektoniczny miał służyć do inspekcji wewnątrz obiektów (a także sporządzania obrysów budynków), podczas gdy moduł geodezyjny miał służyć do pomiarów bardziej związanych z GPS, offsetami, wcięciami, inwentaryzacją terenową…itd

cr

Fragment powierzchni roboczej Cad-Rooma w trybie architektonicznym

W pewnym momencie Cad-Room okazał się zbyt mocno „zachłanny” budżetowo, zatem przestał być ekonomicznie sensowny. W każdym razie od tego momentu cała uwaga została skoncentrowana na module geodezyjnym. Po pewnym czasie trzeba również było ustalić jakąś łatwą dla ucha i kojarzącą się z funkcjami geodezyjnymi nazwę – i mogliście usłyszeć o PowerGPSie.

Tutaj zainteresowanie było większe, ale również większe były oczekiwania przyszłych użytkowników oraz testerów.

W efekcie, program musiał zapewnić nie tylko pomiar GPS/RTK, ale też i zarządzanie danymi w sposób analogiczny do innych narzędzi na rynku – np. SurvCe, Survey Controller, FieldGenius…itd  – aby nie pozostawał w tyle. Tak więc kolejne miesiące rozwoju PowerGPS polegały na takim dopracowaniu programu, aby był on w stanie sprostać różnym potrzebom pomiarowym.

Iskra

I tutaj dochodzimy do sedna – w pewnym momencie prace integracyjne zaczęły się koncentrować na zapewnieniu współpracy Raportów i PowerGPS.

and-raporty

Aplikacja Androidowa miała za zadanie przekazywać dane w odpowiedniej postaci dla Raportów, a Raporty miały również „przekazać” PowerGPS zaktualizowane biblioteki do obsługi formatów danych GPS – RW5, JXL…itd. Takie było założenie, bo nagle okazało się, że o ile osobny kod ułatwia sprawę przy szybkich aktualizacjach Raportów, to jednak perspektywicznie stanowi dość istotną przeszkodę w optymalnym sposobie wymiany danych (np. przed integracją, zmiany dokonane w obsłudze czytania RW5 w Raportach trzeba było osobno przepisywać w projekcie PowerGPS). Pojawiały się też pomysły o zdalnym generowaniu raportów na Androidzie…

Wkrótce coraz częściej zaczęła mi świtać myśl o przyspieszeniu połączenia fragmentów kodu obu programów i przygotowaniu w pełni kompatybilnych wersji obu aplikacji. Co prawda było to planowane później, ale skoro potrzeba wynikła wcześniej….

Integracja

W rezultacie w ostatnich miesiącach prace integracyjne były prowadzone pełną parą – trudno policzyć ile dokładnie czasu zeszło, bo prace rozwojowe to nie zawsze czas przed komputerem, ale gdy ostatnio spoglądałem na statystykę prac integracyjnych związanych z przygotowaniem ostatniej wersji Raportów – 1.39 (w tym ich integracją z PowerGPS) – z ostrożnych szacunków wyszło 300 roboczogodzin, a więc spora ilość.

Jednakże integracja przyniosła spodziewane efekty – nowa wizja przyniosła możliwość pracy obu programów na tych samych strukturach danych. W momencie gdy np. dokonam poprawki biblioteki obsługującej odczyt z formatu RW5 w Raportach – w przypadku przygotowywania nowej wersji PowerGPS ta zmiana będzie już automatycznie uwzględniona w programie – wystarczy ją tylko przetestować w tym CAD-owym środowisku. Gdy zakończymy wdrażanie obsługi formatu geoid z plików GSF, będą one mogły być odczytywane bez problemu w obu programach..itd  Nowe pola związane z pomiarem RTK, które jest w stanie zapisać PowerGPS można bez problemu przenieść do Raportów i wygenerować bardzo szczegółowy, profesjonalny raport.

Co dalej?

Następnym krokiem będzie udostępnienie nowej wersji PowerGPS, abyście mogli przetestować ją w terenie. Jednakże okres świąteczny oraz parę niespodziewanych sytuacji zaskoczyło nas na tyle, iż jest mała szansa, aby dokonać tego wydania w tym tygodniu, tym bardziej, iż przygotowujemy coś ekstra związanego z projektem… 🙂

Na osłodę mogę dodać link do videotutoriali, jakie ostatnio zostały przez nas nagrane. Są one związane z Powerem, w szczególności z konfiguracją aplikacji na Androidzie w odniesieniu do dalmierzy:

 

2 komentarze

  1. […] zainteresowane zapraszam do wątku: Notka z integracji… , w której opisałem ze szczegółami tę konkretną sprawę, która zaważyła na ostatniej […]

  2. […] Doskonałym wyjściem w tym przypadku była pełna integracja z Raportami GPS – dzięki temu można było uruchomić nie tylko generowanie raportów RTK po stronie Androida, ale również zadbać o dostępność danych dla różnych pól i kolumn w raporcie. W grudniu 2014 napisałem coś o tym. […]

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *