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ą.
To są obrazki? Są jakieś powody przeciwko użyciu mapy wektorowej? Nie wiem jak na froncie, ale MBTiles’y generujesz z protobufów regionów przy użyciu openmaptiles.
O których obrazkach mówisz, w sensie rastra? Tak, są rastrowe, bo przejście na wersję wektorową jest zdecydowanie niebanalne przy tej ilości elementów. MBTiles albo jakiekolwiek inne wektorowe są szalenie ubogie i nie wiadomo jak wyglądałaby wydajność. Na razie jest albo styl na bazie osm-carto, ale na własnościowym silniku ArcGIS (czyli wystarczyłoby “tylko” napisać otwarty silnik zgodny z ArcGIS…), albo zaczątki portu na wersję wektorową, ale nawet na niskich poziomach niekompletne i od roku nieruszane: