Mapy drukowane - program do renderowania oraz kwestie licencyjne

Mam kilka pytan dotyczacych przygotowania map OSM do druku.
Przygotowujemy ksiazke opisujaca nasza wycieczkę z południa na północ Polski
(WWW.PPP30.PL) i wiekszosc recenzentow naszego manuskryptu stwierdzilo
ze dobrze by bylo zamiescic mapke dla kazdego dnia i pokonanego w tym dniu
odcinka.
I tu mam pytanie, jakiej aplikacji najlepiej uzyc do przygotowania map do druku?

mapnik, TopoMap etc.?

Na ten moment walczymy z TopoMap v1.7.0.15 ale rezultat nie jest do konca zadowalajacy
t.j. mapy będą w formacie B5 ewentualnie B4 jeśli wydrukujemy na dwóch sąsiadujących stronach.
Problem jest natomiast w znalezieniu kompromisu skali - w niektóre dni przeszliśmy 20-30km
a w niektóre też podróżowaliśmy stopem i wtedy potrafiło to być 80-150km.
Idealnie byłoby aby dało się wydrukować mapę np. 1:100000 ale z zachowaniem szczegółów
wybranej drogi, schronisk czy innych obiektów ‘turystycznych’ która normalnie przy tej skali znikają.

Problem też że plikiem wynikowym jest ogromny ‘nieskalowalny’ TIFF - czy da się zmusić TopoMap
do wygenerowania pliku w formacie wektorowym, który potem dałoby się wczytać do programu
graficznego i tam dopisać interesujące nas szczegóły?

Mam też pytanie o “atribution” … czy na każdej mapce musimy zamieszczać informację
© OpenStreetMap contributors … czy wystarczy, że we wstępie książki umieścimy informację,
że wszystkie mapy są © OpenStreetMap contributors … wraz ze stosownym linkiem do strony
OSM etc.?

Zobacz tutaj, jest opcja wygenerowania mapy w SVG:

https://wiki.openstreetmap.org/wiki/User:Psadk/Maperitive

Jeśli nie da się pomylić to chyba wystarczy informacja na początku.

A jednak się przydaje. :slight_smile:

Trzy ale:

  • w podlinkowanym tekście o generowaniu SVG w Maperitive tylko wspominam, poświęcony on jest innym metodom generowania mapy,
  • generowanie mapy SVG jest w mojej opinii dość kulejące (są różne problemy z optymalizacją dla różnych programów, z nieco innymi opcjami dostępnymi, zresztą w ogóle nie wszystkie opcje z rastrów są dostępne),
  • Maperitive sam w sobie ma pewne ograniczenia w renderowaniu, pewnych uproszczeń programy po prostu nie da się przeskoczyć (niekoniecznie będzie to przeszkadzać w tym konkretnym przypadku).

Jak ja bym podszedł do tematu:

  • ostateczne przygotowanie mapy do wydruku (czy jako gotowego PDF, czy poszczególnych PNG do wstawienia w czymkolwiek) w Mobacu (koniecznie ustawiając DPI!),
  • jako podkład mapy wykorzystał istniejący render (bo po co się męczyć?), do którego bym wygenerował nakładkę z interesującymi szczegółami (np. schroniska, pomniki itd. jako same punkty na przezroczystym tle) – po czym zrobił dwuwarstwowy podkład do Mobaca.

Edycja: inną opcją jest QGIS, też ma jakąś obsługę OSM (żeby dorysować wybrane elementy), ale szczegółów nie znam.

Może też być: © autorzy OpenStreetMap

QGIS to chyba nawet nie obsługuje relacji multipolygon przy imporcie OSM. Można w nim nadać mapie “styl” ale import trzeba by zrobić jakoś inaczej.

Polecam QGIS + Postgres, używam na co dzień i można uzyskać naprawdę ładne mapy, dużo czasu zajmuje opracowanie stylów ale jak się przez to przebrnie to można cuda, tak na szybko:

Bez logowania na forum.quantum-gis.pl nie da się wyświetlić załącznika. Polecam imgur.com.

Chciałem żeby było szybko i tak to wyszło. Poprawione.
Jeszcze jeden przykład:

Do importu danych do Postgresa używam osm2pgsql

Przykładowe polecenie wygląda tak:

osm2pgsql -r pbf -d osm_pl -c -p pl_osm -U forumowicz -W -H 192.168.0.100 -P 5432 -k -G -C 2000 -E 3857 -v /home/forumowicz/Pobrane/pl.pbf

-r pdb: informacja o pliku z rozszerzeniem pdb,
-d osm_pl: nazwa istniejącej bazy danych,
-U forumowicz: użytkownik z uprawnieniami do bazy,
-W: wywołuje zapytanie o wymagane hasło,
-c: zastępowanie istniejących w bazie danych,
-p pl_osm: prefiks nazwy tabel,
-H 192.168.0.100: host
-P 5432 port,
-G zastosowanie multigeometrii,
-C 2000: ustawienia casch,
-E 3857: zastosowanie wybranego układu Pseudo Mercator,
-v: włączenie pyskowania terminala, żeby nam się nie nudziło

Im szybszy dysk i więcej RAM tym mniej kaw wypijemy w międzyczasie.

Edycja: dużo ładnych map zrobionych w QGIS można też obejrzeć na flickr.com w grupie QGIS http://www.flickr.com/groups/qgis/pool/, spora część z prezentowanej tam twórczości zawiera dane z OSM, a ja czasem szukam tam inspiracji :slight_smile:

Fajne mapy :slight_smile:

Stylowanie odbywa się przez Ustawienia > Zarządzanie stylem…?

Tym jak wyświetla się dana warstwa steruje się we właściwościach warstwy, w zakładce styl. Ze względu na to, że dane z OSM są mocno rozbudowane to sprawdza się metoda “Oparta na regułach”.
Tutaj przykład dla poligonów z mapki czarno-białej (zadziała przy założeniu, że używamy domyślnego schematu tabeli używanego przez osm2pgsql):

Zarządzanie stylem służy do porządkowania symboli, które dopracowywało się długimi zimowymi wieczorami :slight_smile:

To ja wrzucę swoje 2 grosze :wink:

osm2pgsql domyślnie robi indeks tylko na geometrii i hstore - warto założyć dodatkowe na często używanych kolumnach, różnica w szybkości jest duża :).

Innym fajnym narzędziem do importu OSM → PostGIS jest imposm, jest to tyle dobry, że łatwo definiuje się własne regułki, np. zamiast jednej kobyły typu osm_planet_polygon masz tabelę z jeziorami, osobną z budynkami, itp - możesz też dość precyzyjnie filtrować co trafia do takich tabel. Do tego ma opcję generowania uproszczonych widoków dla małych poziomów zoom-a.

No i jest bardzo szybki - całe planet-osm na domowym laptopie przemieliło mi w 9h, gdzie wg. opisów osm2pgsql trwa to nawet kilka dni.