* MapEdit cz.6 - Raster i DGN czyli ..... nie tylko "klikanie"
Mapy rastrowe a Garmin
   Zalegające na serwerze grupowym grupy pl.rec.gps screenshoty ekranu Garmina z widocznym   "pseudorastrem"  powodują, że od czasu do czasu pojawiają się pytania typu:  Jak to zostało zrobione ?

   Aby w przyszłości nie odpowiadać już na takie pytania postanowiłem odkurzyć temat "map rastrowych" w odbiorniku Garmin.

   Zaprezentowana obok "mapka rastrowa" to nic innego jak plik IMG z jednym typem obiektu. Zabawa polega na automatycznej wektoryzacji skanu mapy. Efekt niestety jest stosunkowo "cieniutki", ale ......

Nowy-1.jpg (24487 bytes)

  ....... wykonanie  takiej  mapki mającej  służyć  jako  uzupełnienie komercyjnej  mapy  samochodowej może być w niektórych wypadkach mało pracochłonną alternatywą dla map "prawdziwie wektorowych".

    Jak widać na zaprezentowanych obok screenshotach  uzupełnienie GPMapy  "rastrem"   w kolorowym odbiorniku nie wygląda nawet zbyt tragicznie.

21.jpg (21685 bytes) 20.jpg (21097 bytes)
   Do wykonania wyżej prezentowanego pseudorastra użyłem bezpłatnej wersji programu WinTopo. Jedynymi parametrami pracy programu, które zmieniłem było ustawienie parametrów skali mapy. Do dyspozycji miałem skan  300 dpi mapki Topo 1:50000, zatem ustawienia Vector -> SetScale przyjąłem w następujący sposób:

Nowy-4.jpg (93851 bytes)

   Pozostałe ustawienia programu pozostawiłem domyślne. Można jednak spróbować innych ustawień. Następnie uruchomiłem wektoryzację Nowy-5.jpg (1109 bytes) a potem:
  • Zapisałem dane wektorowe jako ESRI (shp)
  • Zaimportowałem do GPS_MapEdita dane ESRI. Tu na pierwszym etapie należy wskazać typ linii jaki ma występować w "pseudorastrze" (ja wybrałem: warstwicę 1/10)
  • Dalsze parametry importu dobrałem tak, aby maksymalnie dokładnie wskazać współrzędne geograficzne lewego dolnego narożnika arkusza:

22.jpg (92104 bytes)

  • Po zaimportowaniu danych wczytałem skalibrowany podkład rastrowy,
  • Poprzez opcję Transformacji jednopunktowej (Shift) dopasowałem lewy dolny narożnik mapki do podkładu, po czym mapkę "wpasowałem w podkład" przez Transformację wielopunktową (Quadratic). Przy tej czynności punkt numer 1 pozostawiłem bez zmian (wpasowałem go przed chwilą) a pozostałe "naciągnięcia" zrobiłem w punktach pokazanych na rysunku:

23.jpg (145827 bytes)

 

Dalej:

  • Ustawienie aktywnego levela. Mapka jest oczywiście jednowarstwowa. W omawianym przykładzie przyjąłem level_0=24 (120m), ale miałem kłopoty z kompilacją. Z tego powodu mapkę podzieliłem w MapEdit na 4 arkusze, ale może ustawienie aktywnego levela na 23 (200-300m) poprawiłoby sytuację ?
  • Zapis w formacie polskim i kompilacja mapy cgpsmapperem
Na koniec zasadnicze pytanie:    Czy warto robić takie mapki ?  Moim zdaniem nie, ale jeżeli ktoś chce sprawdzić jak to wygląda to można podejrzeć moją mapkę "testową":
DGN - konwersja danych wektorowych WODGiK na format Garmin
  Do zapoznania się z tematem zainspirowało mnie pytanie jednego z grupowiczów na Forum Garmin.pl:
Co w praktyce - użytkownik Garmina - może zrobić z danymi wektorowymi w formacie DGN ?
    Ten artykuł jest odpowiedzią na w.wym. pytanie. W tym miejscu chciałbym podziękować  Krzysztofowi Lemańczykowi - właścicielowi firmy North Point GIS Consulting za wprowadzenie mnie w świat "formatu DGN" oraz za nadesłane materiały informacyjne - wykorzystane w artykule.
Na początek  problemy: 
  • Pierwsza przykra rzecz jaką mam do zakomunikowania to fakt, że pokrycie obszaru naszego kraju danymi wektorowymi w formacie DGN jest bardzo niskie. W różnych województwach jest różnie, ale generalnie pokrycie wynosi z reguły nie więcej niż 20-30% województwa. Na dodatek ten projekt najprawdopodobniej nie będzie dalej rozwijany.
  • Drugim problemem jest cena danych DGN. Jeden arkusz mapy 1:10.000 to koszt 50,- zł co oznacza że skompletowanie danych dla 1 arkusza 1:50.000 (16 arkuszy "10") to wydatek: 800,- zł.   Trudno przypuszczać aby amatorzy byli w stanie zainwestwać takie kwoty po to, by mieć do dyspozycji prawdziwe mapy topograficzne. UWAGA: przeglądając cenniki różnych WODGiK zauważyłem, że niektóre ośrodki sprzedają topograficzne mapy wektorowe w skali 1:50000 i cenie 87,50. To już ma sens !
  • Publikacja przekonwertowanych danych wymaga ..... wniesienia kolejnych opłat.
Są też  dobre informacje: 

    Chociaż to tylko 4x4 km to jednak mapkę garminowską można z tych danych zrobić i to przy niewielkim nakładzie pracy.

    Nasycenie mapki szczegółami w zakresie linii (drogi, ścieżki, strumienie, kanały, linie energetyczne, kolejowe itp.) i wielkokątów (stawki, bagna, lasy, sady, zarośla itp) jest pełne !!!

001.jpg (24104 bytes) 002.jpg (21593 bytes)

     Poza w.wym. elementami na mapie możemy umieścić przecinki - czyli "dukty" leśne - tu pojawiające się przy skali 120m.

003.jpg (15892 bytes) 004.jpg (17092 bytes)

    Mapka podobnie jak papierowa "10" topo może także zawierać informacje o granicach działek i ogrodzeniach czy też obrysy budynków.

     Drogi i ścieżki mają generalnie wspólne węzły zatem bez problemu można mapkę skompilować jako mapkę routowalną. Wyjątkiem są drogi dochodzące do parkingów i placów, które dla potrzeb routingu muszą być "ręcznie połączone"

005.jpg (13295 bytes) 006.jpg (15366 bytes)
  Tyle informacji na temat gotowej już mapki. A jak ją zrobiłem ?
  Zabawę rozpocząłem od wizyty w WODGiK.

  Tam po wypełnieniu druku zamówienia musiałem "odczekać" 24 godziny, po czym odebrałem płytkę taką jak na ilustracji obok.

Parę słów na temat "wersji".

"Wersja pełna" to jeden plik DGN z mapą w wersji "do druku". Plik zawiera nie tylko interesujące nas dane wektorowe, ale także ramki, legendę itp. Ten plik ma niewielką wartość z punktu widzenia UMP-a.

 

IMG_4947.JPG (32767 bytes)
"Wersja podstawowa" to wersja zawierająca wyłącznie topograficzne dane wektorowe. Plików jest 10 i zgodnie z informacjami otrzymanymi z North Point GIS Consulting:

pliki powinny nazywać się <ID>x.dgn, gdzie ID to godło/oznaczenie arkusza mapy, zaś x oznacza:

  • p - Punkty osnowy geodezyjnej
  • k - Koleje i obiekty z nimi związane
  • d - Drogi i obiekty z nimi związane
  • b - Budynki i budowle
  • o - Obiekty gospodarcze
  • w - Wody i obiekty z nimi związane
  • u - Roślinność, uprawy i grunty
  • g - Uprawy
  • r - Rzeźba terenu
  • n - Napisy

O tym jakie elementy zawierają poszczególne pliki możemy się przekonać podczas lektury "Parametrów konwersji"

Co dalej ? Tu do wyboru mamy dwie drogi postępowania:

1. Zosia Samosia

    Zaawansowani UMP-wcy używają do generacji warstwic zarejestrowaną wersję programu Global Mapper. Również w przypadku plików DGN można skorzystać z Global Mappera.

  W omawianym przykładzie pokażę konwersję danych oznaczonych jako "b" - budynki. Dane wektorowe w pliku 1142Bc3b.dgn są w układzie "1992" zatem parametry importu ustawiamy tak jak na ilustracji. 30.jpg (52463 bytes)
Ponieważ MapEdit, z którego korzystam "nałogowo" nie posiada zbyt rozbudowanych funkcji dotyczących układów współrzędnych, Global Mappera wykorzystałem nie tylko do konwersji danych, ale także do "przeliczenia" układów.

Urochomiłem opcję:

Tools->Configure->Projection

i zamieniłem układ na "czysty" WGS_84 - tak jak widać na ilustracji, a następnie wykonałem export danych w formacie strawnym dla MapEdita tj. ESRI shp:

ExportVectorData->Shapefile

Zapisując osobno pliki wielokątów, linii i punktów (W pliku "b" punkty nie występują)

Opisaną tu metodą można przekonwertować wszystkie pliki DGN z wersji "podstawowej" do formatu ESRI.

32.jpg (47353 bytes)
Dalej trafiamy na mały problem. Otóż po uruchomieniu MapEdita i wybraniu funkcji:

File->Import->ESRI Shape

uzyskujemy mało czytelną informację o poszczególnych typach obiektów.

Aby sprawdzić co i jak proponuję typ wyjściowy obiektu zostawić jako 0x0000 Unknown i wykonać import, pozostawiając następną zakładkę (nazwy) bez zmian !!!

33.jpg (62573 bytes)
Ponieważ dane konwertowaliśmy do układu WGS-84 przyjmujemy takie właśnie parametry. 34.jpg (50361 bytes)
A oto efekt na tle podkładu z rastra. To najgorsza wiadomość - w celu jednoznacznego  rozpoznania obiektów musimy dysponować rastrowym podkładem. Ideałem jest oryginalna mapa 1:10000, ale w ostateczności możemy wykorzystać dowolny podkład dla danego rejonu.

Teraz - podglądając nazwy poszczególnych obiektów oraz oglądając na tle rastra co te obiekty przedstawiają możemy sobie zrobić spis:

- dla każdego typu obiektu DGN_LEVEL wybrać sobie "najbardziej pasujący" typ obiektu Garmin.

35.jpg (54889 bytes)
 UWAGA: przy tworzeniu listy zależności: DGN_LEVEL>Garmin   można posiłkować się wspomnianymi wyżej: "Parametrami konwersji" w których, o ile się dobrze zorientowałem nazwom obiektów przypisano  numer warstwy w MapEdit widoczny jako DGN_LEVEL_xx

Po wstępnym ustaleniu takiej listy dokonujemy ponownego importu danych - tym razem wprowadzając dla rozpoznanych już obiektów odpowiednio zdefiniowane typy Garmin.

36.jpg (45810 bytes)
A tu widać efekt. Na takiej mapce bardzo łatwo "wypatrzeć" czerwone czyli nie zdefiniowane obiekty i uzupełnić listę zależności:

DGN_LEVEL -> Garmin

Obiekty, których nie chcemy widzieć w mapce Garmina możemy pozostawić jako Unknown i usunąć je w MapEdit opcją zaznaczania grupowego.

38.jpg (38981 bytes)
Po "rozpracowaniu" listy obiektów wykonujemy końcowy import kasując "odpaszkowanie" w nazwach. Dzięki czemu obiekty nie będą miały śmiesznych nazw typu: DGN_ LEVEL_24 37.jpg (27315 bytes)
Pokazana przeze mnie metoda nie jest skomplikowana, ale wymaga poświęcenia czasu na utworzenie listy zależności DGN_LEVEL -> Garmin, a czy można szybciej ?

Można ..............

2. Z maleńką pomocą przyjaciół.

    Niesamowitym ułatwieniem w pracy jest wykorzystanie aplikacji Topo10 (zobacz: opis) przygotowanej przez firmę North Point GIS Consulting. Proszę się tylko nie sugerować ceną softu - to jest soft przeznaczony dla WODGiK, a nie dla indywidualnych USERów.   Indywidualni użytkownicy przy konwersji pojedyńczych arkuszy mogą - podobnie jak ja - "uśmiechnąć" się do Krzysztofa Lemańczyka i poprosić o "freewarową" konwersję danych.

    Konwersja danych DGN do formatu ESRI przy użyciu tego softu powoduje, że dane ESRI posiadają tzw. warstwę opisową, zatem opisane przeze mnie wyżej "ręczne" rozszyfrowywanie obiektów nie jest konieczne.

Obiekty z plików DGN z wersji "podstawowej" po konwersji programem Topo10 do postaci ESRI shp podczas importu do MapEdita mają rewelacyjną właściwość:

można je rozpoznać po .... nazwie

41.jpg (43031 bytes)
W takim układzie przypisanie odpowiednich typów Garmin dla osoby posiadającej odpowiednią wprawę w UMP-owaniu to naprawdę bułka z masłem ..... 42.jpg (31742 bytes)
Obiekty można przenieść z tymi "śmiesznymi" nazwami, ja jednak z tego zrezygnowałem.

Dane otrzymane z programu Topo10 mogą być (te są) w układzie WGS-84, zatem do ich importu zastosowałem ustawienia jak te pokazane kilka ilustracji wyżej.

43.jpg (53428 bytes)
A oto efekt na tle rastra.

Jeżeli sobie uświadomimy, że import tych danych zajął mi niecałe 2 minuty to .......

 

Import pozostałych obiektów wygląda podobnie.

Ale żeby nie było za wesoło to muszę uczciwie przyznać, że czasami podjęcie prawidłowej decyzji w sprawie przypisania odpowiedniego garminowskiego typu wymaga paru prób. A i tak teraz zrobiłbym to zapewne inaczej :-)

44.jpg (84911 bytes)
 Podsumowanie 
  • Jako autor mapek typowo turystycznych jestem zainteresowany siatką drogową a także lokalizacją ścieżek, strumieni, kanałów, "duktów" leśnych itp. Ponadto interesują mnie granice obszarów leśnych i zbiorników wodnych, a także nazwy miejscowości. Te wszystkie informacje można w sposób łatwy, prosty uzyskać z danych DGN.
  • Niestety gdyby autorzy mapek stricte miejskich chcieli wykorzystać dane DGN, będą mieli dużo więcej pracy niż "turyści". Jest to związane z tym, że te dane nie zawierają nazw własnych przypisanych do obiektów. Brak jest np. nazw rzek czy nazw ulic. Te nazwy są w osobnym pliku, ale to nazwy "punktowe" i nie można ich automatycznie przypisać do określonej linii.   W mojej mapce testowej widać to najlepiej po opisie "Kanału Olszynka". Dlatego też z danych DGN przeniosłem wyłącznie nazwy miejscowości oraz - w celach "szkoleniowych" kilka innych (np. wspomniany kanał)
  • Podobnie sprawa wygląda z warstwicami - brak opisów przypisanych do linii powoduje, że dane wysokościowe należy jednak do UMPa 1:10000 wprowadzać z innych źródeł (moja przykładowa mapka w obecnej wersji warstwic nie zawiera)
  • Dla celów amatorsko - turystycznych można wykorzystać tylko skromną część informacji, generalnie jednak ..... jestem pod dużym wrażeniem.
  • Docelowo mapka po przeróbkach (uzupełnienie w POI, warstwice itp.) zapewne znajdzie się w zestawie Turystyka. Na razie proponuję zapoznać się z mapką testową w postaci pliku I M G

-------------------

L.R. X  2005r