psadk
1
Ostatnio stwierdziłem, że przydałaby mi się papierowa mapa do sporządzania notatek w terenie podczas zbierania śladów. Niestety nie znalazłem żadnego przyjaznego dla drukarek stylu OSM (nie, stamenowy Toner nie jest przyjazny, przynajmniej nie w rejonach z dużą ilością wody). Musiałem więc sobie sam poradzić grzebiąc w Maperitive (nawiasem mówiąc całkiem fajny program, gdyby tylko nie wymagał tego potworka Mono…).
I tak wymodziłem następujący styl: http://pastebin.com/Csptd700. Wersja aktualizowana: https://gist.github.com/psadk/70e451cc18851030bcc9
Na poziomie 15 (wg mnie optymalnym pod względem szczegółowości i ilości zużytego papieru) prezentuje się on następująco:

Poziomy 13-16: http://imgur.com/a/OO7nX
Jakieś poprawki pewnie jeszcze by się przydały, ale z grubsza wydaje mi się, że jest gotowy.
Może komuś się przyda. Uwagi mile widziane.
Dzięki, właśnie myślałem nad zrobieniem czegoś takiego.
Piknie! Choć można by porównać to ze stylem, w którym secondary/primary byłyby nieco szersze niż pozostałe?
Idealnie byłby sądzę, mieć primary najszersze i residential/unclassified najcieńsze z tertiary i secondary pomiędzy, odpowiednio też różnicując.
psadk
4
Z primary, secondary itd. spróbuję pokombinować, ale drogi przy różnych skalach to mały ból głowy. Na razie są dwie grupy — primary+secondary+tertiary oraz service+unclassified+residential.
Dodałem kilka zmian, z których najważniejsza jest dodanie natural/man_made=peak:

Postanowiłem też wyróżnić track+tracktype=grade1 od pozostałych tracków… i nie mogę się zdecydować na wzór — pogrubiony:

czy podwójny przerywany:

Ponadto doczytałem o możliwości użycia tekstur i pewnie niedługo zacznę dłubać przy v2 z „bardziej realistyczną” wodą, lasem, trawą itp. (przy czym zostawię v1 z wbudowanymi „szlaczkami”).
Dotychczas znalezione błędy: natural=wood powinien być rysowany jak landuse=forest, ale z uporem godnym lepszej sprawy nie chce się rysować w ogóle. Ponadto rzeka przepływająca przez jezioro niby powinna się renderować pod nim, a nie nad, ale również ma inne plany. Jakby ktoś z doświadczeniem przy Maperitive wiedział dlaczego tak się dzieje, byłbym wdzięczny za wskazówkę.
Edycja: wersja z poprawkami: http://pastebin.com/yPFZFT1Z
Pogrubione jest dużo lepsze (a raczej - jestem do takiego typu oznaczania przyzwyczajony).
Linie zawsze będą się pokazywać nad obszarami. Patrz http://maperitive.net/docs/Map_Layering.html#Symbols%20And%20Layering
psadk
6
Dzięki.
Okazuje się, że natural=wood jednak wyświetla się jak landuse=forest… z wyjątkiem Kampinosu, który jest białą plamą.
psadk
8
Dobry pomysł, dzięki.
Kurczę, jakbym wiedział jakie to będzie angażujące, to pewnie bym się za to nie zabierał. 
Czy ten las który nie chce się pokazywać nie jest czasem relacją? W jaki sposób pobierasz dane do wyświetlenia? Obstawiam że nie pobiera się cały multipolygon.
rogal
11
a nie lepiej grade przy tracku rozróżniać w ten sposób, że drogi lepszej jakości mają linie gęściej a gorszej jakości rzadziej (chyba w normalnych mapach topo tak jest)? Jeżeli wszystkie tracki zrobisz podwójną przerywaną to pojedyncza zostanie Ci wolna na highway=path - a grubością pojedynczej przerywanej rozróżnisz path od footway ;).
Ja bym jeszcze renderował osobno drogi z surface=unpaved - przy mapowaniu taka informacja się przydaje, bo często trafiam na sytuację że w bazie jest informacja, że droga jest kiepskiej nawierzchni a np. kilka miesięcy wcześniej gmina położyła nowy asfalt - a takie niezgodności mają ogromny wpływ na routing :). W drugą stronę też tak jest - niby highway=residential a samochodem strach jechać (a na track się nie kwalifikuje).
jako ciekawostkę wkleję regułki, które przy kompilacji map garminowych wykrywają, czy droga jest kiepskiej jakości (uwzględnia się to w routingu):
highway=*
& (surface=cobblestone | surface=compacted | surface=dirt |
surface=earth | surface=grass | surface=grass_paver |
surface=gravel | surface=grit | surface=ground | surface=mud |
surface=pebblestone | surface=sand | surface=unpaved |
mtb:scale=* |
tracktype ~ 'grade[2-6]' |
smoothness ~ '.*(bad|horrible|impassable)' |
sac_scale ~ '.*(mountain|alpine)_hiking' |
sport=via_ferrata)
psadk
12
Podczas testów w Maperitive, przez Download Map Data (Overpass API). Możliwe, że jak mówisz nie pobiera się cały multipolygon.
Normalnie przy generowaniu mapy interesującego mnie obszaru pobieram *.osm przez Overpass wybierając obszar na osm.org.
Tymczasem wyróżniłem mosty: http://i.imgur.com/2fJwfL7.png
Oraz dodałem natural=tree: http://i.imgur.com/aPvOWGy.png
track grade1 zdecydowałem zrobić pogrubione, podwójną przerywaną zostawię (w odległej przyszłości ;)) dla nieasfaltowych residential, service itp.
Po południu jeszcze spróbuję pokombinować z różnymi szerokościami dróg.
Edycja:
rogal: dzięki za uwagi. I gotowiec do „nieasfaltówek”, właśnie o czymś takim myślałem!
Problem w tym, że w Maperitive nie ma znowu aż tak wiele stylów rysowania linii: http://maperitive.net/docs/Properties/LineStyle.html
A przecież muszę mieć coś jeszcze na chodniki, ścieżki i drogi rowerowe.
Obecnie jest następująco:
- solid: track (grade1 pogrubiony)
- dashlong: path
- dash: footway
- dashdotdot: cycleway
Edycja 2: inaczej spróbuję — wszystkie tracki pogrubię jak grade1 (aby się odróżniały od ścieżek itd.) i porobię różne style linii dla różnych typów tracków. Zobaczymy co z tego wyjdzie. 
Wątpię byś miał ochotę na zabawę z gitem (choć miałoby to sens gdyby się pojawiły jakieś ikonki czy inne dodatkowe pliki), ale http://gist.github.com/ jest proste w obsłudze i to chyba dużo lepsze miejscem na wklejki które są zmieniane i ulepszane.
A mtb:scale=* nie jest doskonałe, mtb:scale = 0- może pojawić się na czymś będącym normalną drogą.
psadk
14
Dzięki.
Na Gita jestem uczulony, ale ten gist wydaje się ciekawy. 
Edycja: mosty do poprawy, kładki dla pieszych renderują się koszmarnie 
rogal
15
IMHO wystarczy tracki podzielić na dwie klasy (lepsze/gorsze), żeby nie wprowadzać zamieszania.
Ja bym dał:
- dash dla tracków lepszych (grade 1-2)
- dashlong dla tracków gorszych (reszta)
- dot dla path i footway (można grubością rozróżniać)
- dash10to2 dla dróg rowerowych
każda mapa jest pewnym uproszczeniem rzeczywistości - a czarno-biała wymaga sporej gimnastyki :). Moim zdaniem dla czytelności warto uprościć sporo rzeczy - tak, aby na pierwszy rzut oka było widać czy mapa zgadza się z terenem a nie czy track jest grade5 czy grade6 ;).
Może połączenie stylów dot (szerokie) i solid (wąskie) na jednej linii może być użyte jako dodatkowy styl linii?
W https://github.com/mkoniecz/bicycle_map_of_Krakow używam
define
min-zoom: 12.5
line-width: 14:1.5; 15:2
line-style: dot
border-width: 0%
draw: line
define
line-width: 1
line-style: solid
draw: line
psadk
17
O, nawet nie wiedziałem, że tak można. 
Tymczasem prawie zwalczyłem nieszczęsne mosty, jeszcze tylko drobny szlif dla mostów na chodnikach, torach i drogach:

Poniekąd cieszę się, że byl problem, bo ta koncepcja bardziej mi się podoba 
https://gist.github.com/psadk/70e451cc18851030bcc9
Brakuje kilku highway:
motorway, motorway_link, trunk, trunk_link, primary_link, secondary_link, tertiary_link (highway1 ?)
living_street (highway2 ?)
pedestrian (footway ?)
z bardziej egzotycznych których w Polsce są pojedyncze egzemplarze
bridleway (path ??)
raceway (highway2 ??)
Może by też pokazywać linie wysokiego/niskiego napięcia? Są to doskonałe punkty orientacyjne (power=line na liniach i power=tower na punktach dla wysokiego napięcia, power=minor_line i power=pole dla niskiego).
psadk
19
Dzięki!
Dobry pomysł, dzięki!
Edycja:
Jeszcze spróbuję dodać barrier=* do renderowania.
I może jeszcze addr:housenumber (z addr:housename i name jeśli są) na budynkach, przynajmniej w miastach jest to przydatne.