Polskie kafelki

Dobra wiadomość na początek weekendu - mamy wreszcie testowe wdrożenie polskich kafelków w stylu osm-carto na osmapie:

https://tiles.osmapa.pl

Na razie jest to wdrożenie testowe - z grubsza działa, ale robiłem to pierwszy raz i mogą wyjść jeszcze różne problemy. Zapraszam do zgłaszania ich w tym wątku.

Cechy szczególne (w odróżnieniu od wdrożenia na serwerach OSMF):

  • kafelki obejmują tylko teren Polski
  • powiększenie do z20
  • odświeżanie bazy co 5 minut

Do poziomu z16 włącznie kafelki są prerenderowane, więc mapka działa dość szybko (bo to jest tylko serwowanie obrazków), a powyżej tej granicy trzeba chwilkę zaczekać aż się wyprodukują. Po jakimś czasie powinno być lepiej, bo w popularnych miejscach ktoś już przetrze szlak i kafelki też będą gotowe.

Och, a już zdążyłem się napalić na cały świat z polskimi lub angielskimi nazwami, jeśli są…

Spoko, ja też się napalam na wszystko, tylko wiesz - zaczynamy od jednej dobrze zdefiniowanej rzeczy i powoli dodajemy po kawałku. To ma być jednak beta, a nie PoC…

Zapisujesz gdzieś co trzeba było zrobić by serwer postawić? MIałem ochotę się za coś takiego zabrać ale przerażała mnie konieczność odkrycia tego wszystkiego.

Super, że coś takiego powstaje. Dzięki!

Fajnie byłoby rzeczywiście móc ten setup powtórzyć. Na Discordzie widziałem, że edytujecie configi “z palca” - może dałoby się, gdzieś je zapisać np. jakieś repozytorium na GitHubie?

Dostaję takie warningi w Firefoxie:
Loading mixed (insecure) display content “http://tiles.osmapa.pl/hot/16/36598/21586.png” on a secure page (leaflet.js:5:111025)

Nie piszę, tylko odtwarzam, bo ktoś już napisał :slight_smile: :

https://switch2osm.org/serving-tiles/manually-building-a-tile-server-20-04-lts/

Dość dokładnie podążałem za tym opisem.

Nie wszystko poszło gładko i uczę się co się może popsuć i co z tym robić. Był problem taki, że dane ze skryptu się nie wczytały całkiem, ale skrypt nie dał znać, więc byłem nieświadomy czemu brakuje części elementów. Był też jakiś problem z indeksami i wszystko chodziło strasznie powoli. Dzięki pomocy kolegów udało się znaleźć tę przyczynę i poszło - nie jestem pewien teraz ile tuningowania Postgresa było potrzebne, a ile nie, to znów wymagałoby testów i pewnie czystej instalacji.

To w sumie proste błędy, tylko debugowanie jest trudne, więc trudno to opisać. Wczoraj odkryliśmy w ramach testów, że brakowało różnych losowych elementów, np. Puszczy Darzlubskiej, granic Kampinoskiego Parku Narodowego (ale już nie obszarów chronionych wewnątrz) czy obszaru zabudowanego Karwowo w Sochaczewie - nie było ich chyba w bazie. Nad ranem zrobiłem reimport i się naprawiło. Znów - nie wiem czemu tak było, ale problem naprawiło się łatwo. Teraz aktualizacja bazy nadgania i ma już tylko z godzinę opóźnienia. Ciekaw jestem jak będą się aktualizowały wcześniejsze poziomy przybliżenia i jak szybko będzie widać zmiany w bazie. Ale to wszystko wymaga głównie obserwacji i dopasowywania, żeby się system nie zapchał. Stąd też porobiłem te prerenderowane kafelki, bo nie chciałem zarżnąć serwera i zniechęcić ludzi, że nie da się nawigować. Pewnie jakbym robił nowe wdrożenie od zera, to byłoby łatwiej.

Kafelkom poprawiłem adres na HTTPS, powinno pomóc na ten problem - u mnie Firefox pokazał zwykłą kłódeczkę. To też rzecz, którą wziąłem z gotowców i trzeba było ręcznie zmienić ze względu na lokalne warunki.

Bardzo przepraszam, jak próbowałem naprawić mixed content, to niechcący zacząłem znów import, co natychmiast rozwaliło bazę, więc importuję jeszcze raz - to zajmuje prawie 2h… :roll_eyes:

I to są takie właśnie głównie problemy - nieuwaga, pośpiech, niezrozumienie jak to działa, potrzeba jakiegoś pomocniczego skryptu… :confused: Jeśli będziecie chcieli pomocy we własnym wdrożeniu, to dajcie mi znać. Polecam zacząć od jakiegoś małego obszaru w rodzaju województwa (mazowieckie mi się wczytuje w domu w 2 minuty, więc reimport nic nie kosztuje w porównaniu z całą Polską).

Mateusz - jeden z tych problemów, które warto naprawić, to dodanie prostych komunikatów w skrypcie pythonowym, co się udało, a co poszło nie tak, zaoszczędziłoby mi to wiele godzin:
https://github.com/gravitystorm/openstreetmap-carto/issues/4358

Już wszystko wróciło do normy.

Jeśli jakiś kafelek jest nieświeży, to działa stara metoda z “/dirty” na końcu URL-a.

Jest przecież https://www.osmap.pl

Jak już działa renderowanie, to kwestia odświeżania stanu bazy jest opisana tu:

https://switch2osm.org/serving-tiles/updating-as-people-edit/

Musiałem do tego wrócić, bo brakowało części danych i okazało się, że po reimporcie trzeba zawsze podać czas utworzenia bazy - na Geofabrik to było 2021-05-14T20:21:23Z i teraz skrypt nadrabia powoli lag - zostało jeszcze 16h. Co 5 minut nadrabia z godzinę, więc w ciągu 2h powinno być już na bieżąco.

Właśnie wdrożyłem bardziej dyskretne wyświetlanie parkingów ulicznych, więc zapraszam do tagowania:

https://github.com/gravitystorm/openstreetmap-carto/pull/4301
https://wiki.openstreetmap.org/wiki/Tag:parking%3Dstreet_side

Od kilku dni działa też minutowe odświeżanie.

Dzięki, bardzo ładnie to działa!

Zrób paczkomaty :smiley: (Będziesz Wielki)

Najpierw trzeba rozwiązać problem z tagowaniem. Jest nawet sensowny projekt, który unika sztucznego wpychania paczkomatów pod vending, ale póki co mało używany:

https://wiki.openstreetmap.org/wiki/Proposed_features/Parcel_lockers_and_parcel_postbox

Skoro i tak nie jest wyświetlane, to mi wygląda jak dobry przypadek do masowego retagowania.

A czy jest szansa, że na OSMapa.pl wrócą mapy rodzajowe, które kiedyś były - np. mapa konturowa czarno-biała i inne?

a co z https://wiki.openstreetmap.org/wiki/Tag:vending%3Dparcel_pickup

może trzeba jakąś dyskusję wywołać?

Szansa jest tylko wszystko w swoim czasie. Wszystkie wizualizację trzeba tworzyć od początku, bo przy awarii serwera szlak większość z nich trafił.

Cóż, co do definicji paczkomaty to na 100% nie jest żaden vending (nie wrzucamy grosika żeby coś impulsowo zakupić, tylko odbieramy lub wkładamy różne rzeczy, które są opłacone inną drogą). Tylko pytanie, na ile działa uzus w OSM, skoro ileś osób już otagowało jako vending, a propozycja parcel_lockers ma zaledwie ze 30 użyć i nie jest nawet przegłosowana jako prawidłowe tagowanie. Pech też, że to nie jest tylko nasza lokalna specyfika, więc mimo też niezbyt wielkiej ilości tagowania vendingowego (chyba ~2k), już trzeba by z tym wejść w dyskusję międzynarodową.

Biorąc pod uwagę plany InPostu oraz obecną ilość to by chyba wypadało. Tym bardziej, że mocno międzynarodowo chcą iść …

Vendingu jest już ponad 3k i rośnie szybko:

https://taginfo.openstreetmap.org/tags/vending=parcel_pickup#chronology

A w Polsce to już tylko ze 400:

https://taginfo.geofabrik.de/europe/poland/tags/vending=parcel_pickup#overview

Tak więc pytanie kto się weźmie za prowadzenie tej dyskusji.