Generator Cyfrowych Modeli Terenu

Generator Cyfrowych Modeli Terenu

FX Systems prezentuje uwolniony projekt badawczo – rozwojowy prowadzony przez firmę. Celem prac jest stworzenie oprogramowania do wizualnego generowania, analizy i prezentowania przestrzennych cyfrowych map terenu. Potencjał takich rozwiązań jest nieograniczony, a sam temat jest ciekawym wyzwaniem.

Poniżej prezentowane są wybrane fragmenty pracy. Całość dokumentu dostępna jest na końcu wpisu.

Cel i zakres realizacji projektu.

Tematem badania jest stworzenie systemu umożliwiającego generowanie cyfrowych modeli terenu na podstawie map fizycznych. By w pełni rozwinąć to zagadnienie głównym celem pracy, będzie opracowanie oprogramowania wykonującego to działanie.

Realizacja polegać będzie na systematycznym wypracowaniu pewnego podejścia do zagadnienia, próbach rozwiązania związanych z tym problemów, oraz końcowej implementacji w wybranym środowisku programistycznym.

Podstawą będzie zrozumienie problemu odzwierciedlania modelu terenu. Początki będą musiały opierać się o zagadnienia czysto kartograficzne. Dzięki temu możliwe będzie nawiązanie logicznego połączenia między reprezentacją terenu na mapach fizycznych, a komputerowymi modelami powierzchni. Następnie niezbędne będzie opracowanie formatu przechowywania cyfrowych danych. Będzie to związane z rodzajem rozpoznawanych danych, jak również ich późniejszym wykorzystaniem, ale o tym mowa w dalszej części pracy. Końcowym etapem rozwoju myśli związanych z pracą, będzie opracowanie rozwiązań umożliwiających przechowywanie, analizowanie i wykorzystanie zgromadzonych informacji. Sam koniec, polegać będzie na eliminowaniu błędów powstałych podczas wcześniejszych kroków i dostosowanie projektu do realnych możliwości implementacyjnych i wykonawczych.

GenMapCyfr003

Ogólna koncepcja projektu.

Realizowany program ma za zadanie odzwierciedlenie w postaci cyfrowej, mapy fizyczne. Przy tworzeniu, główny nacisk będę starał się położyć na prostotę działania oprogramowania. Intuicyjny interfejs działający zgodnie z zasadami użytkowania innych aplikacji systemów rodziny Windows, powinien sprawić, że nawet pierwszy kontakt nie będzie sprawiał problemów dla większości użytkowników.

Wczytywanie mapy fizycznej.

Choć temu zagadnieniu poświęcony będzie kolejny podpunkt rozdziału, należy zaznaczyć w tym miejscu, iż część ma odpowiadać za pobieranie możliwie najbardziej precyzyjnych danych zapisanych w plikach graficznych. Program powinien obsługiwać jak największą ilość znanych formatów, kładąc nacisk na te najbardziej popularne. Sądzę, że obsługa map bitowych i kilku wyjątkowo znanych formatów kompresji w pełni zadowoli większość użytkowników. Dodatkowo należy zadbać w tym miejscu o prosty i czytelny interfejs, ułatwiający użytkownikowi pobranie mapy do dalszej obróbki.

GenMapCyfr001

Analizowanie mapy fizycznej.

Wczytany plik graficzny należy poddać bardzo szczegółowej analizie. Temu zagadnieniu poświęcony będzie cały rozdział, gdyż problem jest wyjątkowo złożony. Właściwie z punktu widzenia programistycznego to właśnie ta część, będzie przykuwała największą uwagę. W tym miejscy każdy piksel mapy bitowej będzie poddawany analizie, by na jego podstawie określić dodatkowe parametry dla odzwierciedlenia cyfrowego. To właśnie w tej części działania programu kolor mapy zostanie logicznie zamieniony na wysokości, odpowiadające kształtowi terenu, który prezentowany jest na mapie.

Tworzenie mapy cyfrowej.

Po uzyskaniu, w poprzednim kroku, informacji dotyczących rzeźby terenu należy je przechować i utrwalić. Mapa wraz z wysokościami będzie reprezentowana w postaci tablicy dwu-wymiarowej, przechowywanej w pamięci operacyjnej komputera. Jednak istotna kwestią tej części działania programu będzie jej składowanie na nośnikach pamięci. Specjalnie do tego celu opracowany zostanie format danych cyfrowych, oraz odpowiednie algorytmy do jego stosowania. Temu zagadnieniu zostanie poświęcone wielu uwagi. Wcześniej opisywane były znane i stosowane na świecie formaty map cyfrowych. Na podstawie wiedzy zdobytej wcześniej, stworzony będzie nowy rodzaj zapisu.

Analizowanie mapy cyfrowej

Ta część będzie odpowiedzialna za wykorzystanie map cyfrowych. Właściwie dopiero mając dane o odległościach i wysokościach w postaci cyfrowej można mówić o analizowaniu mapy. Ta część ma zawierać procedury i funkcje, które pokażą, że zdobyte dane mogą być przetwarzane, a więc dla przykładu możliwe będzie tworzenie statystyk dotyczących terenu przedstawianego przez mapę. Określanie rodzaju terenu: czy jest górzysty, czy przeważają depresje. Ta część ma za zadanie pokazać potencjalne możliwości zarówno samych map cyfrowych jak i zaproponowanego formaty danych.

GenMapCyfr002

Wizualizacja mapy cyfrowej

Ta część związana będzie z reprezentacją danych. W pewien sposób będzie to wsteczne przetwarzanie. By pokazać, że dane w postaci cyfrowej są odpowiednikami mapy fizycznej program na podstawie danych o wysokości i położeniu danego punktu będzie tworzył kolorowy dwu-wymiarowy obraz mapy. Na mapie tej będzie można porównać cyfrowy model z jego fizycznym odpowiednikiem.

Wizualizacja przestrzenna.

Najbardziej widowiskowym i najlepiej oddziaływającym na wyobraźnię użytkownika wizualizowaniem terenu jest jego prezentacja w trzech wymiarach. Temu problemowi poświęcony będzie jeszcze cały obszerny materiał mówiący o rodzaju silnika graficznego i technologii tworzenia struktury terenu. Istotą zagadnienia jest, jednak przestrzenna prezentacja cyfrowych danych wyodrębnionych z graficznego pliku, mapy fizycznej.

GenMapCyfr004

Wnioski końcowe

Podstawą naszego uczenia, jest zdolność wyciągania wniosków. Każde działanie, każde nowe zdolności i informacje, powinny prowadzić do wnioskowania.

Dzięki temu rozwijamy się, a zdobyta wiedza pozwoli lepiej działać w przyszłości, lub unikać popełniania błędów. Tak również jest z niniejszą praca. Jest ona właściwie zakończona. Są to ostatnie linijki. Czas wyciągnąć wnioski.

Prace nad projektem rozciągały się na przestrzeni wielu miesięcy. Pokonywanie kolejnych przeszkód, oprócz nabytej wiedzy, dawały spora satysfakcję. Był to jeden z największych projektów, jakie dotychczas miałem okazję robić. Pozwolił mi on, zwłaszcza, nauczyć się systematyki pracy. Kolejne moduły i ich opracowanie, które przysparzały, czasem wielu problemów, wymusiły zaciętość. To nieoceniona zdolność, z całą pewnością mogąca przydać się przy pracach nad kolejnymi zagadnieniami, jak również w codziennym życiu.

Kończąc prace nad projektem, doszedłem do wnioski, iż chciałbym go dalej rozwinąć. Powstało wiele nowych pomysłów, dotyczących jego udoskonalenia i rozwoju. Choć jest i może zawsze będzie prostą pracą, pozwolił mi nauczyć się bardzo wiele.

Zdobyta wiedza może być przydatna przy projektowaniu przestrzennym, gdyż wiele się dowiedziałem (zwłaszcza o OpenGL), przy analizie kolorów i rozpoznawaniu obiektów na mapach bitowych.

Najważniejsze jednak jest, iż prace udało się zakończyć, odnosząc niewielki sukces, w tym rozumieniu, iż osiągnięte zostały, założone na wstępie cele.

Wraz z uwolnieniem projektu firma FX Systems udostępnia wszystkie jego elementy, zaczynając od samych programów, pełnej dokumentacji projektowej, skończywszy na kodach źródłowych.

Elementy wchodzące w skład projektu:

Dokumentacja projektowa: dostępna do pobrania tutaj (plik PDF, wielkość 2,3 MB),

Programy wykonywalne z pakietem map cyfrowych: dostępne do pobrania tutaj (archiwum RAR, wielkość 6,3 MB),

Kody źródłowe systemu: dostępne do pobrania tutaj (archiwum RAR, wielkość 1,5 MB),

Wszystkich zainteresowanych zachęcamy do pobrania i rozwijania projektu. Jeśli ktoś będzie zainteresowany pomocą przy dalszych pracach zapraszamy do kontaktu biuro@fxsystems.com.pl