User:Psadk/Maperitive

From OpenStreetMap Wiki
Jump to navigation Jump to search

Drukowanie atlasów z Maperitive

Uwaga: Za pomocą {Maperitive} oraz {Mobac} oznaczam katalog, w którym znajduje się program Maperitive lub Mobac. Aby uniknąć ewentualnych problemów w plikach konfiguracyjnych lub wierszu poleceń konieczne może być podawanie pełnych ścieżek.

Instalacja i pierwsze uruchomienie

Pobieramy i rozpakowujemy najnowszą wersję Maperitive ze strony projektu. Następnie pobieramy i instalujemy (oczywiście jeśli już nie mamy) środowisko uruchomieniowe .NET (Windows) lub Mono (Linux, chyba również Mac OS X):

  • w przypadku Windows udajemy się na stronę http://www.microsoft.com/net/downloads,
  • w przypadku Linuksa pakiet powinien znajdować się w repozytorium i wystarczy zainstalować go menedżerem pakietów (w Debianie, Ubuntu, Mincie i pochodnych należy zainstalować pakiet mono-complete).

W końcu możemy uruchomić Maperitive.exe (Windows) lub Maperitive.sh (Linux), po chwili ukaże się następujące okno:

Maperitive: pierwsze uruchomienie

Po zamknięciu okna asystenta, będziemy mieli przed oczami ulubione okolice autora programu. Jeśli ktoś nie lubi, może wyłączyć przy okazji wyświetlanie siatki geograficznej (w menu: Map » Show Grid) oraz skali (Map » Show Map Scale). Po mapie poruszamy się podobnie jak na stronie openstreetmap.org — przeciągając mapę lewym przyciskiem myszy i zmieniając przybliżenie kółkiem.

Maperitive: widok okna

Renderowanie mapy

Załadowanie stylu

Jeśli interesuje nas renderowanie jednej konkretnej mapy, najprościej będzie zapisać styl (np. paper.mrules w pliku {Maperitive}/Rules/Default.mrules, który jest domyślnym stylem (dla porządku warto zachować jego kopię). Dzięki temu nie będzie trzeba wykonywać dodatkowych czynności aby go wczytać.

W przeciwnym razie będzie trzeba wczytywać styl wpisując w wierszu poleceń (Command prompt):

use-ruleset {Maperitive}/Rules/paper.mrules as-alias=Paper

aby dodać go do dostępnych styli, a następnie wybierając go w menu Map » Switch to Rules » Paper.

Pobranie danych OpenStreetMap

Dane OSM można pobrać bezpośrednio w Maperitive lub wcześniej zapisać je na dysku i wczytać w Maperitive. Pierwsza metoda sprawdza się idealnie jeśli chcemy na szybko sprawdzić lub opracować dane miejsce bez specjalnych przygotowań. Jednak jeśli mamy specjalnie interesujące nas miejsce, które dość często renderujemy, testujemy własne zmiany w stylu lub z innych powodów wielokrotnie renderujemy ten sam fragment mapy — wtedy lepiej jest raz pobrać dane do pliku (co jakiś czas go odświeżając, oczywiście), niż ciągle pobierać te same dane przy każdym uruchomieniu Maperitive.

Aby pobrać dane do pliku najlepiej:

  1. udać się na www.openstreetmap.org,
  2. kliknąć Eksport na górnej belce, po czym w menu bocznym Ręcznie zaznacz inny obszar,
  3. ustawić granice obszaru na mapie,
  4. pobrać przez wygenerowany link "Overpass API",

Jeśli obszar będzie pobierany wielokrotnie można ów link zapisać (np. zakładka w przeglądarce, polecenie wgeta). Aby wczytać plik należy wybrać w menu File » Open Map Sources (skrót klawiaturowy Ctrl+O) i wskazać zapisany plik .osm. Maperitive sam przeniesie nas do obszaru zapisanego w pliku.

Maperitive wczytaj osm.png

Aby pobrać dane w Maperitive wystarczy wybrać w menu Map > Download OSM Data (Overpass API). Domyślnie pobierze się obszar widoczny na podglądzie mapy, można go zmienić klikając na mapie prawym przyciskiem myszy (PPM), wybierając na Place Geometry Bounds Here i rozciągając granicę do pożądanego obszaru.

Download OSM Data (Overpass API)

Po wczytaniu danych OSM dowolną metodą na podglądzie mapy wyświetli się wstępnie wyrenderowana mapa. Możemy teraz wyłączyć podgląd mapy OSM kilkając na gwiazdkę przy nazwie warstwy w okienku Map Sources w prawym dolnym rogu.

Maperitive map sources.png

Wyrenderowanie mapy

Mapę można wyrenderować na kilka sposobów:

  1. pojedynczy plik rastrowy PNG,
  2. pojedynczy plik wektorowy SVG,
  3. kafelki jak na openstreetmap.org.
  4. kafelki w kontenerze SQLite (tzw. MBTiles).

Tutaj omówimy tylko pojedynczy plik rastrowy oraz kafelki, informacje o reszcie można znaleźć w dokumentacji Maperitive.

Pojedynczy plik rastrowy PNG

Metoda jest dobra do tworzenia na szybko niewielkich fragmentów mapy. Wystarczy kliknąć na mapie Place Printing Bounds Here, rozciągnać obszar do pożadanego rozmiaru:

Maperitive printing bounds.png

po czym w wierszu poleceń wpisać:

  • dla mapy w powiększeniu np. 16:
export-bitmap zoom=16 dpi=300 file=nazwa_pliku.png
  • dla mapy w skali np. 1:25 000:
export-bitmap map-scale=25000 dpi=300 file=nazwa_pliku.png

Maperitive bitmap command.png

Jeśli chcemy utworzoną mapę wydrukować należy dodać opcję dpi=*, do druku najlepiej przynajmniej 300. Jeśli plik ma być wyświetlany wyłącznie na ekranie komputera, to można tę opcję pominąć.

Kafelki

Jeśli chcemy przygotować mapę staranniej polecam jednak wyrenderować kafelki, a następnie przy pomocy programu Mobac złożyć mapę PDF (o czym za chwilę). Ponadto kafelki można użyć w innych programach do wyświetlania map, planowania tras itd.

Aby je wyrenderować należy zaznaczyć granicę obszaru przy pomocy PPM > Place Geometry Bounds Here (można wykorzystać wcześniej ustawioną granicę podczas pobierania danych w Maperitive):

Maperitive geometry bounds.png

po czym w wierszu poleceń wpisać:

generate-tiles minzoom=10 maxzoom=17

Maperitive tiles command.png

Oczywiście minimalne i maksymalne zbliżenie można podać własne (przy czym warto mieć na uwadze, że im większe zbliżenie tym dłużej się one generują, odradzam podawanie wartość 18+ dla większego obszaru). Kafelki utworzą się w katalogu Tiles (umiejscowiony w katalogu, z którego Maperitive został uruchomiony, najprawdopodobniej katalog domowy użytkownika lub {Maperitive}). Można też podać własny katalog za pomocją opcji tilesdir=ścieżka/do/katalogu.

Mobac

Mobac to program do tworzenia atlasów i map dla najróżniejszych programów. Ponadto pozwala on też na przygotowanie map papierowych, z czego skrzętnie za chwilę skorzystamy.

Instalacja i konfiguracja

Najpierw należy pobrać oraz rozpakować Mobaca ze strony projektu, do jego uruchomienia potrzebne będzie jeszcze środowisko uruchomieniowe Java lub OpenJDK. Ponadto musimy dodać wygenerowane kafelki do źródeł programu — w tym celu tworzymy plik {Mobac}/mapsources/maperitive.xml o treści:

<?xml version="1.0" encoding="UTF-8"?>
<localTileFiles>
   <name>Maperitive</name>
   <sourceType>DIR_ZOOM_X_Y</sourceType>
   <sourceFolder>/ścieżka/do/katalogu/z/kafelkami/</sourceFolder>
   <backgroundColor>#000000</backgroundColor>
</localTileFiles>

Oczywiście należy podać właściwą ścieżkę do katalogu z wygenerowanymi kafelkami, np. C:\Maperitive\Tiles\ w przypadku Windows lub /home/login/Maperitive/Tiles/ w przypadku Linuksa. Dobrze będzie też uruchomić Javę z maksymalną ilością dostępnej pamięci:

  • na Windows najprościej będzie utworzyć plik wsadowy np. mobac.bat o treści:
java.exe -Xmx1024M -jar Mobile Atlas Creator.jar
  • na Linuksie wystarczy zmodyfikować dostarczony skrypt start.sh

Przy fladze -Xmx1024M należy oczywiście podać wartość właściwą dla dostępnej w komputerze pamięci 1024M dla 1 GB RAM, 2048M dla 2 GB RAM, 4096M dla 4GB RAM itd.

Mobaca uruchamiamy za pomocą utworzonego pliku wsadowego na Windows lub start.sh na Linuksie.

Przy pierwszym uruchomieniu Mobaca zostaniemy poproszeni o podanie nazwy atlasu (dowolny) oraz jego rodzaj (Paper Atlas (PDF)).

Mobac uruchomienie.png

Po kliknięciu OK przejdziemy do głównego okna Mobaca:

Mobac.png

Od razu możemy ukryć prawy panel GPX, który do niczego nam się tutaj nie przyda: Menu > Panels > Show/Hide GPX Panel. Następnie dokonamy kilku zmian w ustawieniach — na dole lewego panelu klikamy na przycisk Settings, gdzie:

  • w zakładce Display możemy ustawić kolor, szerokość i krój czcionki siatki (jeśli z niej będziemy korzystać)
    Mobac settings display.png
  • w zakładce Paper Atlas możemy ustawić:
    • format oraz orientację papieru (w większości przypadków A4, ale można sobie też przygotować np. ścienną mapę B1)
    • marginesy (jeśli chcemy trzymać mapy w segregatorze sugeruję lewy margines — oraz prawy jeśli drukujemy dwustronnie — ustawić na 1,70 cm, aby zrobić miejsce na dziurkacz (a jeszcze lepiej sprawdzić samemu, dziurkacze mogą mieć różne rozmiary))
    • pokazywanie lub nie siatki (WGS 84 Grid)
    • pokazywanie lub nie numerów stron i odnośników do stron na górze i na dole (Page numbers)
    • pokazywanie lub nie skali mapy (Scale bar)
    • pokazywanie lub nie róży wiatrów (Compass)

Mobac settings paper atlas.png

Osobiście zalecam włączenie numeracji stron w przypadku kilkustronicowych atlasów, zwłaszcza jeśli atlas składa się z kilku rzędów stron, reszta ustawień wg własnych upodobań.

Bardzo ważnym ustawieniem jest jeszcze Resolution (czyli DPI) — tu zasada podobna jak z tworzeniem rastra w Maperitive: dla druku powinniśmy ustawić odpowiednio duże, najlepiej przynajmniej 300, dla ekranu komputera może być domyślne 96.

Ponadto można ustawić:

  • Overlap — na ile sąsiednie kartki mają na siebie zachodzić (wg gustu)
  • Crop — minimalna powierzchnia jaka musi być zajęta na stronie, aby została ona do atlasu dodana (tu sugeruję ustawić 100% (i podczas zaznaczania obszaru mocno przesadzić w prawym dolnym rogu), dzięki czemu unikniemy drukowania niepełnych stron.

Przygotowanie atlasu

Korzystając z ogólnej wartswy (np. MapQuest) zbliżamy do obszaru, dla którego przygotowaliśmy kafelki. Następnie:

  1. w zakładce Map Source w lewym panelu zmieniamy warstwę na Maperitive (czy jakkolwiek nazwaliśmy naszą warstwę),
    Mobac map source.png
  2. przeciągając lewy przycisk myszy na mapie zaznaczamy interesujący nas obszar,
    Mobac zaznaczenie.png
  3. w zakładce Zoom Levels wybieramy interesujące nas zbliżenia,
    Mobac zoom.png
  4. w zakładce Atlas Content nadajemy nazwę warstwie atlasu (cokolwiek) i klikamy Add selection
    Mobac add selection.png

Kiedy mapy zostaną dodane do atlasu:

Mobac add selection2.png

możemy w końcu wygenerować PDF(-y) klikając Create Atlas. Otworzy się nowe okno pokazujące postęp w składaniu atlasu:

Mobac creating atlas.png

Po dłuższej lub krótszej chwili (zależnie od rozmiaru atlasu) PDF powinien (lub kilka PDF-ów) się utworzyć.

Mobac created atlas.png

Możemy w końcu sprawdzić i wydrukować atlas.