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:
W jakim sensie niebanalne? Wygenerowanie obrazków brzmi trudniej od wygenerowania wektorowych opisów geometrii. A przesyłanie ich tym bardziej.
W jakim sensie ubogie? Te opisy wektorowe są jakąś uproszczoną wersją geometrii na bazie których są tworzone? (tego nie wiem i bym na to nie wpadł). Z tego co widzę to ta twoja mapka też nie robi żadnego czary mary, a bugów nie brakuje. MBTiles to nic innego jak plik bazy SQLite zawierający głównie skompresowane gzipem protobufy kafelek*. Każda z nich składa się z warstw które akurat tak się złoży że sobie wygenerujesz pierdzieląc się z kodem SQL i YAML (albo domyślnych), a każda warstwa składa się z feature’ów otagowanych na zasadzie par key=value. Np. masz sobie w warstwie landcover feature z polygonem otagowanym jako class=grass i na tej zasadzie to co renderuje mapę wie że ma wygenerować tam trawkę. To czy coś nałoży tam teksturkę, czy wygeneruje tysiące trójkątów poruszających się na wietrze w blasku ray tracingu to już nie kwestia MBTiles’ów To wszystko jest dość proste, ale nie wiem dlaczego ubogie. Natomiast nie mam pojęcia na jakim poziomie jest leaflet i style, bo ja dalej podążam swoją ścieżką.
MBTiles z obecnego protobufa Polski (1.4GB) z domyślnymi warstwami dla max zooma 16 (tylko po co aż 16? domyślnie max jest 14 albo 15 i na tym poziomie używane są już oryginalne geometrie) ważyłby pewnie rzędu kilku GB i generował się 2-3h na frajerze ze starym SSD, albo do pół godziny na najnowszym wyjadaczu na Ryzenie Zen 3 i SSD M2 PCI Gen 4 A te obrazki ile ważą?
Generalnie w ekosystemie OSM panuje rozpierdziel i trzeba wychodzić z założenia że musisz sobie sam zrobić, a z tego co widzę to Carto stoi bo Norman się obraził że Mapbox zmienił licencję xD openmaptiles domyślnie też nie działa “najlepiej” i ciężko się doczekać nowych narzędzi… Czekam na release z nowszym postgisem i GEOSem, a od miesiąca jakby ktoś umarł
Natomiast jeśli jest tu ktoś kto ogarnia o co chodzi z prawem patentowym to będę bardzo wdzięczy jak mi wytłumaczy po co Mapbox patentuje rozwiązania i jakie są tego konsekwencje? Czy jeśli implementuje się swoje rozwiązania związane z mapami to trzeba używać “innych sposobów”? https://patents.google.com/?assignee=Mapbox%2c+Inc
Niebanalne technicznie ze względu na ilość detali w osm-carto, nie że sam proces jest niezrozumiały. Kafelki wektorowe zawierają tylko wybraną część danych z bazy i w pewnym sensie same są taką bazą, ale okrojoną i zorientowaną pod wyświetlanie. Czy protobuf Polski zawiera bramy, paczkomaty, brody, biura, strefy postoju przy autostradach itp.? Zobacz ile elementów zawiera legenda: https://wiki.openstreetmap.org/wiki/Standard_tile_layer/Key
Dopóki mówimy o poziomie szczegółowości w stylu GMaps, to są jak najbardziej takie style oparte na OSM i nawet mają do tego wygodny edytor ( https://openmaptiles.org/docs/style/maputnik/ ). Ale to tak jak przewieźć parę pudełek (rower czy auto osobowe raz i po wszystkim) a przewozić węgiel z kopalni - niby chodzi po prostu o transport, ale potrzeba zupełnie innej infrastruktury i skali.
Patrz tutaj. To zapewne też z MBTiles’ów, czy dowolnego podobnego roziązania. Niestety wysokości budynków w OSM są póki co słabej jakości i budki na działkach potrafią być wyższe od bloków, ale jeśli nie szkoda Ci życia, to bez problemu możesz coś takiego sobie generować na podstawie kafelek wektorowych. https://demo.f4map.com/#lat=52.2308819&lon=21.0076329&zoom=18
Piszesz o takich paczkomatach? https://www.openstreetmap.org/node/3891556127
Jeśli w imposm3 zmapujesz sobie punkty otagowane jako amenity=vending_machine i umieścisz to w odpowiedniej warstwie to będziesz miał tak szczegółowo jak sobie tylko chcesz. Radze też zmapować polygony i wyciągnąc z nich centroid, bo na pewno znajdzie się ktoś kto otaguje budynek
A co to ma za silnik, mogę go użyć na wolnej licencji?
Oczywiście, że się da, przecież ArcGIS pokazał, że się da zrobić klon osm-carto na ich silniku, ale niestety jest zamknięty i to nas nie urządza. Jako użytkownik możesz spokojnie korzystać z tego ich stylu, ale jako twórca jesteś całkowicie zależny od nich.
Projekt jest na BSD i chyba wszystko czego używa ma wolne licencje. Mapy na stronie OSM używają czegoś innego? To taki zlepek narzędzi od klokana, mapboxa, maptilera i innych który operuje na postgisie. Jak z wyświetlaniem na stronie to musisz się zorientować, ale jeśli im to działa i po coś to robią od dłuższego czasu, to raczej się da.
Nie pytałem o kafelki (kafelki to format danych a nie silnik), tylko o silnik F4. Jeśli ktoś uważa, że to proste, to niech robi w ten czy inny sposób i niech pokaże efekt. Zwłaszcza jak łatwo przeportować bieżący styl osm-carto na wektory bez grubszego ręcznego dłubania. Na razie są prostsze rzeczy do zrobienia i na nich chcę się teraz skupić.
F4 to tylko przykład tego co da się renderować na bazie wektorów. Właśnie sobie uświadomiłem że openstreetmap.org w 2021 wysyła rastry i jestem w szoku. Styl powinien być nakładany po stronie klienta, więc jeśli leaflet tego nie ogarnia, to widocznie póki co się nie da.