Wyświetlanie na domyślnej mapie

Na tym poziomie pokazuje tylko place=city. Na z8 zresztą jest tak samo i pustki są tam jeszcze bardziej widoczne. Ale Łódź widać.

Tak jak myślałem - to problem z nazwami województw, po ich wyrzuceniu widać nawet Katowice. Ale dlaczego np. mazowieckie przestało zakrywać Warszawę, tylko na odwrót, to nie wiem - potrzebuję kogoś kto by to przeanalizował:

nazwa kraju
nazwa stolicy
nazwy województw
nazwy dużych miast

taka jest kolejność i priorytet z project.mml.

Hm, a która część kodu to definiuje?

Okazuje się, że zwykłe przetestowanie nowego Mapnika, który poprawia błąd położenia nazw wielokątów ( https://forum.openstreetmap.org/viewtopic.php?pid=672898#p672898 ) jest jeszcze bardziej upierdliwe niż sądziłem: Kosmtik korzysta z node-mapnik (npm), ten standardowo korzysta z pakietowania pod mason (własny wynalazek Mapboksa - https://github.com/mapbox/mason ) i dopiero na końcu jest Mapnik… Czyli na razie nadal nie bardzo mam jak sprawdzić Mapnika v3.0.16 jeśli nie chcę sobie zaśmiecać systemu.

Sądzę, że zwykła kolejność warstw w pliku, bo nie widać tam innego mechanizmu.
Jak zamienisz miejscami blok z “id: state-names” z “id: placenames-medium” to się przekonamy:)

Dzięki, zajrzę tam pewnie kiedyś.

Swoją drogą ciekawe, co by było gdyby stolice województw (i odpowiedników na świecie) wepchać przed nazwy jednostek administracyjnych, które reprezentują? Niby teraz jest bardziej logicznie, ale takie proste eksperymenty dają czasem nieoczekiwane rezultaty.

Pewne zmiany mogą nastąpić po wspominanej wyżej aktualizacji Mapnika na serwerach OSMF, bo wtedy niektóre nazwy obszarów mogą się przesunąć, ale trudno powiedzieć nawet na ile to będzie zauważalne. Najbardziej cierpią miasta ulokowane w środku takiego obszaru. W zasadzie potrzebny byłby algorytm relokujący nazwy obszaru (w granicach tego obszaru) aby nie wchodzić na nazwy punktów. Mapnik o ile pamiętam oferuje taki mechanizm, ale tylko dla linii.

[Aktualizacja:] Zgłosiłem ten pomysł: https://github.com/mapnik/mapnik/pull/3780#issuecomment-346735991

Wydawało mi się, że dokładnie do tego służą punkty z rolą label w relacjach.

Nie pamiętam jak to jest (trzeba sprawdzić w kodzie), ale to nigdy nie załatwi sprawy do końca, bo zależy jakie miejscowości zechcesz wyświetlić, jakiej wielkości czcionką, z której strony punktu itd.

Widzi mi się, że jeśli można nazwę obszaru przesunąć punktem z rolą label, to przynajmniej na domyślnej mapie problem powinien być rozwiązany…

Oczywiście można, tylko wtedy można się też zastanawiać, czy to nie jest tagowanie pod renderowanie. Dlatego właśnie szukam rozwiązania, w którym to automat renderujący kombinuje jak pomieścić labelki w danym przypadku mając ogólne dane, a nie mapowicz je preparuje pod konkretną mapkę.

Można spróbować zwiększyć zakres ruchu nazw miast przy unikaniu konfliktów. Teraz są to 4 piksele. Dla niskich poziomów zoomu umiejscowienie miast może być niedokładne, byle błąd nie rzucał się w oczy.

A nie dałoby się zrobić na wzór map papierowych?
Nazwy obszarów (województw) większe i blade, a nazwy punktów (miast) mniejsze, wyraźnie się odcinające od tła i na wierzchu?

Jeśli idzie o barwy, to przecież już tak jest - nazwy obszarów administracyjnych są fioletowe, a miasta czarne. Tylko co masz na myśli “pod spodem”? Żeby nazwy miast nakładały się na nazwy obszarów? Wydaje mi się, że na papierowych tak się wcale nie robi, tylko ręcznie przesuwa nazwy obszarów, czyli to, co ja bym chciał żeby robił automat. No, jeszcze jak obszar jest wyjątkowo wielki, to czasem np. nazwy miast się mieszczą między literami nazwy obszaru, ale to nie ten przypadek.

Trzeba by przetestować ten pomysł, możesz spróbować (mogę pomóc przy konfiguracji środowiska testowego)?

Ale skoro mamy więcej ruchu jeśli idzie o nazwy obszarów niż nazwy punktów, to w tym kierunku należy iść tak czy siak. Przykład: Madryt na z4-z5 - dopóki nie ruszysz etykiety kraju, to nie widzę szans na wydobycie stolicy na wierzch, dopiero na z6 dało się obie pomieścić:

http://www.openstreetmap.org/relation/5326784#map=6/41.245/-0.890

Widziałem gdzieś taką mapę i to chyba online - wielka czcionka outline bez wypełniania z nazwą regionu, więc mimo częściowego zakrycia przez inne elementy napis wciaż był czytelny.

Ha, właśnie przypadkiem wyczaiłem czemu przykładowy fragment mapy w osm-carto to centrum Chicago - wygląda na to, że to nawiązanie do innego, wcześniejszego stylu:

OSM Bright 2012

OSM Carto 2014

OSM Carto 2017

Ciekawe różnice w kolorze wody. Najlepiej jest w wersji z 2012.

OSM Bright to zupełnie inny styl, ale zgodzę się :wink:

Podobno jest coś, co pozwala na przesuwanie etykiet, i to także dla wielokątów, ale przyznaję bez bicia, że nie zrozumiałem czy to jest to, o co mi chodzi, czy może coś innego. Chodzi o parametr X:

opis:
https://github.com/mapnik/mapnik/wiki/TextSymbolizer#placements

kod:
https://github.com/mapnik/mapnik/blob/bfb071233eefe96607079d3b41c127a3e3c41b79/src/text/text_layout.cpp#L60-L87

Czy ktoś potrafi wyjaśnić po polsku jak to właściwie działa?