Styl do Maperitive dla map drukowanych

Napisałem w Development: http://forum.openstreetmap.org/viewtopic.php?id=26478

Gdzie na wiki powinienem to umieścić?

Zaloz nowa stronke na wiki. Jak ja nazwiesz, tak sie bedzie nazywac…

No nie wiem, może jest jakaś konwencja przyjęta, żeby umieszczać to np. w MaperitiveStyle/Nazwa lub coś w tym stylu.

Ochrzcij Twoje dziecko… Uzywasz jakiejs nazwy roboczej dla Twojego projektu?

OK, już widzę, że jest kategoria Maperitive/Rules i ludzie w większości wrzucają w User:Login/Maperitive Rules/Nazwa.
http://wiki.openstreetmap.org/wiki/Category:Maperitive/Rules

Mhmm, a czy jest sens pakowac energie w prace jesli wiemy ze program jest A. na zamknietym kodzie B. nie bedzie rozwijany? Dla mnie to byloby super gdyby zastapilo czarnobiale kafelki z fieldpapers.
BTW: walczylem z tym Maperitive przez godzine, ale na moim Ubuntu nie chce dzialac, co bym nie robil.

Skoro już zacząłem, to przynajmniej skończę w miejscu, który mnie jakoś zadowala. Może do tego czasu Maperitive nie padnie. :wink:
A potem pewnie przepiszę do czegoś innego. Pewnie TileMill, choć konieczność instalacji, konfiguracji i ogólnie utrzymania bazy danych mnie odstręcza. Aha, przypomniało mi się: ktoś wcześniej sugerował QGIS — jakkolwiek w miarę go znam, wydaje mi się, że tak ogólnie to trochę strzelanie z armaty do muchy. :slight_smile:

Na Debianie najpierw zainstalowałem samo mono-runtime bez pakietów zalecanych:

aptitude -R install mono-runtime

ale się wywalał przy uruchamianiu. Stwierdziłem, że nie chce mi się patrzeć czego konkretnie brakuje i zainstalowałem mono-complete (bez zalecanych oczywiście):

aptitude -R install mono-complete

I działa (uruchamiam załączonym Maperitive.sh o treści:mono --desktop Maperitive.exe “$@”) . Choć mam trochę niepotrzebnego śmiecia w systemie.

Bo sam program działa, wypuszczane są poprawki na tyle by działał dalej a jak przestanie działać to można zawsze go puścić w VM? Nie ma dla niego jakiejkolwiek alternatywy (jest TileMill i inne ale to jest znacznie trudniejsze w obsłudze, tutaj problem z samym importowaniem danych i generowaniem mapy jest niemal zerowy - i całość wysiłku idzie w tworzenie stylu).

Kolejne propozycje: wyświetlanie fixme, historic=wayside cross, historic=wayside_cross/man_made=cross/historic=wayside_shrine.

Dzięki, gdy wrócę do domu, to dodam.

Dla fixme dawać tylko ikonkę (prawdopodobnie wykrzyknik lub coś w tym stylu), że w danym miejscu jest jakieś fixme, czy dodać też treść danego fixme? Niby dobrze by było dodawać, z drugiej strony przy dłuższych opisach mapa może tracić na czytelności.

Treść, przy wizycie w terenie warto o tym wiedzieć - może małą czcionką by nie blokowało?

Czy jest gdzieś tutorial pokazujący w prosty sposób, jak samemu wyrenderować sobie kawałek mapy?

Może http://maperitive.net/docs/#Tutorials dadzą radę.

A jeśli nie - do czego dotarłeś? Udało ci się w Maperitive użyć domyślnie wbudowanych stylów?

Nie dotykałem wcale tematu. Ekipa z Górzna chciała by się nauczyć, jak w prosty sposób wygenerować sobie taką mapę.

No właśnie myślałem, żeby napisać jakąś instrukcję, ale nie mogłem się zebrać. :slight_smile:
Nie mam w tej chwili dostępu do komputera z Maperitive i piszę z pamięci, więc odrobinę mogę pokićkać nazwy. Gdy wrócę do domu poprawię i nieco rozwinę opis.

Przygotowanie kafelków

  1. Trzeba pobrać plik stylu do katalogu Rules. Jeśli Maperitive służyć będzie tylko do tej mapy, najprościej zapisać plik jako default.mrules (można zarchiwizować oryginalny default.mrules), wtedy bez dodatkowego działania i ustawiania od razu ten styl będzie się wczytywal.
  2. Na mapie w Maperitive (powinien się domyślnie wczytać Mapnik) wybieramy z grubsza rejon, który nas interesuje. Klikamy prawym przyciskiem myszy na mapie i wybieramy Set geometry – pojawi się prostokąt na mapie, rozciągamy go do obszaru, który nas interesuje. W górnym menu wybieramy Cośtam (no nie pamiętam, chyba Map, ale głowy nie dam) > Download cośtam cośtam OverPass Turbo – zostaną pobrane dane z OSM, i wyrenderowany zostanie mapa wg stylu nad Mapnikiem. W okienku w prawym dolnym rogu wyłączamy widoczność warstwy Mapnik klikając na ikonkę obok jej nazwy (sumie nie wiem czy to konieczne ;))
    2b. Możemy również wyeksportować plik .osm wcześniej (np. przez OverPass lub na osm.org) i wczytać go przez File > Open file. Po czym ustawić geometry i wyłączyć warstwę Mapnika
  3. W wierszu poleceń na dole wpisujemy:
generate-tiles minzoom=10 maxzoom=17

Oczywiście warstwy można ustawić dowolne, przy czym należy mieć na uwadze, że wysokie zoomy znacząco wydłużają generowanie kafelków, zdecydowanie odradzam maxzoom=18 (albo i wyższy) na większym obszarze. Kafelki zapiszą się w katalogu Tiles.

Drukowanie mapy

Osobiście do przygotowania mapy do wydruku polecam Mobaca (poniekąd nielubianego przez OSM ;)).

  1. Tworzymy plik 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/Maperitive/Tiles/</sourceFolder>
   <backgroundColor>#000000</backgroundColor>
</localTileFiles>

W Windows ścieżka oczywiście będzie miała postać C:\cośtam\itd.
2. Uruchamiamy Mobaca, wybieramy rodzaj mapy do wydruku PDF. W lewym panelu klikamy Settings, przechodzimy do zakładki Paper atlas – tu ustawiamy:

  • format arkusza (powiedzmy A4),
  • marginesy (ja chcę jak największą więc 1 cm, tylko lewy nieco większy - 1,7 cm, żeby objechać kartkę dziurkaczem i wsadzić do segregatora)
  • DPI (do druku to ze 300, przy domyślnym wyjdzie pikseloza!)
  • polecam ustawić crop na 100%, w ten sposób jeśli strona nie będzie w całości zapełniona, to zostanie pominięta w PDF-ie
  1. Na jakiejś ogólnej wbudowanej warstwie zbliżamy do interesującej nas okolicy, zmieniamy na warstwę Maperitive, zaznaczamy interesujący nas obszar (jeśli wcześniej daliśmy crop na 100% to nieco większy w okolicy prawego dolnego rogu)
  2. Zaptaszamy interesujące nas zbliżenia, np. 15+16+17, wpisujemy jakąś nazwę dla zaznaczonej warstwi i klikamy Add selection
  3. Klikamy Create atlas

Ech, opis Mobaca pisany z pamięci jest fatalny, za kilka dni to napiszę jak należy (+ dodam instrukcję dla kieszonkowego atlasu A5 lub A6), ale teraz te wypociny muszą wystarczyć.

Można też eksportować do bitmapy, można poradzić sobie wtedy bez Mobaca (Tools | Export to bitmap) i drukujemy plik. Stosuję to jak chcę mieć jakiś konkretny kawałek terenu do jednorazowego wykorzystania.

Przydaje się też umiejętność drobnego zmieniania stylu - np. pokaż specjalnie wszystkie drogi bez surface=*, wtedy ma się ładnie pokazane co chce się zmapować.

Małe jednorazówki może i faktycznie szybciej i wygodniej będzie przez export-bitmap. Przy czym tu chyba trzeba dać Set printing area (czy jak to się zwało, coś z print w każdym razie). Tu trzeba dodać zoom=poziom (np. 16) i stanowczo zalecam dodać dpi=300 oraz file=nazwa.png, np.

export-bitmap zoom=16 dpi=300 file=mapa.png

Ale jednak będę upierał się, że “poważniejszą” mapę szczególnie interesującego nas obszaru lepiej przygotować do druku przez Mobaca.

Oczywiście, takie mapki robię jak wiem że gdzieś w mieście będę czekał przez kilka/kilkanaście minut. I dzięki za info o Mobacu, myślę że przyda się.

Dość wylegiwania się, czas wrócić do grzebania. :slight_smile:

Wstępnie dodane (jeszcze wymagają szlifu/znalezienie lepszej ikonki):

  • paśnik (amenity=game_feeding OR amenity=feeding_place): ⟰
  • ambona myśliwska (amenity=hunting_stand): Ħ
  • krzyże i kapliczki (historic=wayside_cross OR man_made=cross OR historic=wayside_shrine): :latin_cross:
  • schronienie (amenity=shelter): :umbrella:
  • fixme (fixme=*): ❢ treść ❢

Ikonki czcionką DejavuSans:

Do wieczora postaram się napisać porządną instrukcję tworzenia mapy (i muszę w końcu wrzucić styl na wiki).

Dadaj jeszcze “highway=street_lamp”