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.
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.
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?
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…
I to są takie właśnie głównie problemy - nieuwaga, pośpiech, niezrozumienie jak to działa, potrzeba jakiegoś pomocniczego skryptu… 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ą).
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.
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:
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ą.