You are not logged in.

#1 2016-12-16 16:18:04

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Mapy wektorowe

Na razie mapy wektorowe to przyszłość OSM, ale już chyba dość pewna. Ograniczają nas głównie względy techniczne, ale zalety są oczywiste - warstwy POI, wybór języka napisów na mapie, łatwość forkowania i testowania zmian w stylach... Proponuję więc osobny wątek do dyskusji o nich, skoro wątek o dotychczasowym domyślnym stylu rastrowym jest używany do wszelkich dyskusji o tym, jak powinna wyglądać nasza mapa.

Na początek dwa edytory Mapbox GL (język stylów, który zastąpił CartoCSS) na wolnych licencjach:
- Maputnik (odpowiednik Mapbox Studio): https://www.kickstarter.com/projects/17 … escription
- MVT Styler (prostszy od nich): http://sputnik-maps.github.io/mvt-styler/

Podrzucę jeszcze raz link do artykułu Paula Normana na temat serwowania kafelków wektorowych, bo tu bardzo pasuje:
http://www.paulnorman.ca/blog/2016/11/s … tor-tiles/

Offline

#2 2016-12-16 16:34:20

RicoElectrico
Moderator
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,758

Re: Mapy wektorowe

Ja chciałem dla wprawki zrobić wizualizację area:highway, ale póki co zatrzymał mnie bug w Tilemakerze:
https://lists.openstreetmap.org/piperma … 29610.html
https://github.com/systemed/tilemaker/issues/63

Offline

#3 2016-12-16 20:57:42

Tomasz_W
Member
From: Poznań
Registered: 2014-02-03
Posts: 470

Re: Mapy wektorowe

co oznaczają "warstwy POI"? klikalność mapy, jak na Google Maps?

Offline

#4 2016-12-16 23:17:59

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Warstwy, które można chować, np. sklepy, bary albo pomniki. Mogą być klikalne.

Offline

#5 2016-12-17 04:57:11

rowers2
Member
Registered: 2015-09-25
Posts: 583

Re: Mapy wektorowe

kocio wrote:

Warstwy, które można chować, np. sklepy, bary albo pomniki. Mogą być klikalne.


A co to są kafle czyli coś co się kojarzy ze zbiorem danych na konkretnym obszarze? Dlaczego mapa wektorowa nie może operować na długich liniach a musi ciąć na kafelki, które i tak nie są dostosowane rozmiarem do ekranów i te skraje widoczne są w połowie?

Dlaczego mapa rastrowa nie może przenieść POI do warstwy nakładanej na bitmapę tak aby gdy tych warstw będzie wiele można było sobie filtrować co mapa ma pokazać?

Sądziłem że część map rastrowych ma część POI usunięte z rastra ale ograniczono się tylko do najważniejszych a mapa wektorowa da możliwość filtrowania po każdym tagu zaś filtr będzie zbiorem kombinacji tagów dla tego rodzaju obiektu jaki chcemy z mapy usunąć.

Mapy wektorowe praktycznie wyparły z urządzeń mobilnych mapy rastrowe.
Zatem o co chodzi  tymi kaflami ?
Chodzi o mapy wektorowe pod "Windowsa"?

Offline

#6 2016-12-17 05:35:46

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

rowers2 wrote:

A co to są kafle czyli coś co się kojarzy ze zbiorem danych na konkretnym obszarze?

https://en.wikipedia.org/wiki/Vector_tiles

Jest też dobra wiadomość, że Wikimedia wchodzi mocniej w mapki i ich oprogramowanie (Kartotherian) potrafi też serwować kafle wektorowe, o czym nie ma wzmianki w artykule Paula:

https://www.mediawiki.org/wiki/Maps
https://github.com/kartotherian/kartotherian/

Offline

#7 2017-08-25 16:48:46

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Chyba już gdzieś już to wrzucałem, ale do tego wątku pasuje - przegląd rozwiązań wektorowych:

http://www.paulnorman.ca/blog/2016/11/s … tor-tiles/

Offline

#8 2017-10-07 23:40:36

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Był przegląd serwerów kafelków, ale potrzebne są też jakieś kafelki. Dane wektorowe jakieś są, ale nieaktualne (w tym wypadku z 3 lipca) i mają ograniczenia:

https://openmaptiles.com/downloads/tile … pe/poland/

ale dziś znalazłem kod do samodzielnego generowania takich kafelków, w dodatku w różnych formatach:

https://github.com/tilezen/vector-datasource#formats

Gdybyśmy stawiali eksperymentalny serwer kafelków dla Polski to by było jak znalazł. Ciekawe byłoby dla mnie zwłaszcza wypróbowanie wektorowego forka osm-carto, może nie trzeba by było generować ich na żądanie, tylko korzystać z przygotowanych wcześniej, ale jeszcze nie wgryzłem się w detale techniczne:

https://github.com/geofabrik/openstreet … R_TILES.md

Offline

#9 2017-10-08 20:35:26

RicoElectrico
Moderator
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,758

Re: Mapy wektorowe

https://lists.openstreetmap.org/piperma … 30011.html

W PostGIS 2.4 mamy ST_AsMVT() czyli kafle wektorowe prosto z bazy! big_smile

Offline

#10 2017-10-08 22:35:03

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Też to przeczytałem, ale nie zrozumiałem - umiesz przybliżyć jak to praktycznie wygląda?

Offline

#11 2017-10-08 22:45:29

RicoElectrico
Moderator
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,758

Re: Mapy wektorowe

Tu masz jakieś źródło sprzed paru miesięcy:
https://github.com/openmaptiles/postserve

a tutaj dokumentację: https://postgis.net/docs/manual-dev/ST_AsMVT.html

Wychodzi na to, że atrybuty (klucz-wartość) podaje się jako JSONB.

Offline

#12 2017-10-09 07:48:04

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Wychodzi na to, że ta funkcja może się sprawdzić do serwera z samymi nazwami w różnych językach (może być i prościej i szybciej), ale już niekoniecznie dla wektorowej wersji osm-carto:

We also found out that MVT’s are good for rendering client side, but not so good when you want to render tiles with a lot of features.

However, it is not all about speed. More importantly, having MVT’s in the database as a building block lets you build the SQL on top, which gives you a lot of flexibility.

[ https://carto.com/blog/inside/MVT-mapnik-vs-postgis/ ]

Offline

#13 2018-04-16 00:53:08

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Jeszcze jeden skutek rozmowy z talajem na SotM PL - podobno Mapnik nie tylko jest w stanie produkować kafelki wektorowe (zdaje się że za pomocą https://www.npmjs.com/package/mapnik-vector-tile ), ale wydajność jest dobra nawet przy ~200 warstwach (na mapy.cz; osm-carto zawiera "tylko" ~80 warstw). To zachęcające, bo może ułatwiłoby migrację z mapek rastrowych do wektorowych. W dodatku to jest przyszłościowe rozwiązanie, ponieważ Seznam, dla którego Jiří pracuje, tyle zainwestowało w profesjonalną kartografię na bazie Mapnika, że nie porzucą tego dla jakiejś innej technologii i właśnie w ten sposób chcą przechodzić na wektory (podobno dane dla Czech i Słowacji mają skądinąd, a OSM wykorzystują dla reszty świata, ale to tylko taka ciekawostka).

Na początek wyobrażam sobie, że do standardowego wyświetlania kafelków rastrowych dokładnie z tych samych danych produkowałyby się równolegle kafelki wektorowe z nazwami - jeszcze tylko jakaś aplikacja do wyboru języka po stronie klienta i wyświetlanie tego jako nakładki na OSM.org (takiej jak uwagi, dane mapy czy ślady GPS). Chodzi mi o podobny efekt jak na OSM RU (tylko mniej toporny...):

http://openstreetmap.ru/#map=3/38.75/45.18&layer=MY

Jendrusk, co o tym myślisz? Ktoś tego próbował?

Offline

#14 2018-04-16 14:52:47

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Na konferencji wyklarowało mi się, że danych mamy już dużo, ale wąskim gardłem staje się wykorzystanie ich nie tylko przez firmy. Dla typowego użytkownika oznacza to po prostu mapki. Dlatego zaczynam myśleć nad tym, żeby obok mapping party zacząć uczyć ludzi jak robić mapy, czyli styling party. Na początek tylko dla pojedynczych osób, żeby zobaczyć co jest ważne, a co nie i nabrać wprawy, ale docelowo - wcześniej czy później - będą w końcu maszyny z kafelkami wektorowymi, a do nich będzie można robić spersonalizowane style, i to dużo różnych.

Żeby do tego doszło, trzeba zaczynać od podstaw edukacji. Widzę w tej chwili 3 zasadnicze drogi:

1. uMap, czyli tworzenie własnych nakładek tematycznych. Proste i efektowne, ale dość jednorazowe i nie integruje się z danymi - tylko dokładamy dodatkową warstwę. No, chyba że korzysta z Overpassa, ale to już trochę trudniej.

2. QGIS, czyli mapki robione desktopowo, do wydruku albo zrobienia obrazka do wklejenia gdzieś. Trochę upierdliwe (import danych dla Polski to ~1,5h, pobieranie z Overpassa to też lekkie programowanie), ale uczymy się prawdziwego stylowania wszystkich elementów i już widzimy dlaczego nie działa apel, że "wystarczy przecież dodać ten tag".

3. Założyć konto na MapBoksie i nauczyć się korzystać z MapBox Studio: https://www.mapbox.com/mapbox-studio/ . To jest fajne, bo darmowe (limity są wystarczające pewnie: https://www.mapbox.com/pricing/ ), dane są już na miejscu (i to są dane OSM jak rozumiem), a w dodatku jest klikalny edytorek.

Oczywiście na przyszłość marzy mi się, żeby tworzenie spersonalizowanych stylów w ramach OSM było równie proste, ale na razie mamy bardziej zasadnicze problemy z rozwojem i oporem fundacji, więc się nie ma co szarpać.

Offline

#15 2018-04-20 12:08:18

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Jakby ktoś chciał się zacząć bawić w wektory, to są codziennie aktualizowane kafelki w formacie MVT jako pliki MBTiles:

http://osmlab.github.io/osm-qa-tiles/

Są dla całej planety (24 GB), ale też dla poszczególnych krajów (Polska ma niecały 1 GB).

Offline

#16 2018-04-23 08:46:08

RafalR
Member
Registered: 2010-01-12
Posts: 171

Re: Mapy wektorowe

Pobrałem Polskę i udało mi się wyświetlić mapę ale jest tam tylko jeden zoom (12), powiększanie i pomniejszanie odpada tongue

{"scheme":"tms","basename":"poland.mbtiles","id":"18042018173604.planet","filesize":"35426836480","name":"poland.mbtiles","description":"poland.mbtiles","version":"2","minzoom":12,"maxzoom":12,"center":[19.072265625,51.98250490493645,12],"bounds":[14.150390625,49.03786794532644,23.994140625,54.92714186454645],"type":"overlay","format":"pbf","vector_layers":[{"id":"osm","description":"","minzoom":12,"maxzoom":12,"fields":{}}],"legend":null,"tiles":["http://localhost:4000/\\{z}\\{x}\\{y}.pbf"],"tilejson":"2.2.0"}

Offline

#17 2018-04-23 09:41:49

ndrw6
Member
Registered: 2018-01-22
Posts: 5

Re: Mapy wektorowe

Kocio, danych wcale nie mamy za dużo. Owszem drogi są w porządku ale w adresach jest tyle dziur, że gdy próbuję coś znaleźć nawet nie próbuję OSM. A że (przynajmniej w niektórych krajach) adresy są powiązane z budynkami to potrzebne są i one.

Co do potrzeb użytkowników - OSM przede wszystkim potrzebuje bardzo dobrej domyślnej mapy, a nie bazy danych, kursów jak renderować swoją mapę lub jak edytować dane. Gdy OSM będzie powszechnie używane to edytorzy się sami. W obecnej chwili naszym de-facto interfacem do OSM jest Maps.Me, bo po prostu dobrze działa.

Jestem jak najbardziej za kaflami wektorowymi ale ze względu na problemy z Web-GL renderowanymi na żywo po stronie serwera i serwowanymi jak zwykłe kafle rasterowe. Można też nadal używać kafli rasterowych i, jak wspomniał rowers2, nakładać przezroczyste kafle z nazwami w różnych językach, liniami kolejowymi/autobusowymi, ścieżkami rowerowymi, punktami. Może to nie jest tak efektowne jak kafle wektorowe ale działa.

Offline

#18 2018-04-23 10:47:18

RicoElectrico
Moderator
From: Trójmiasto
Registered: 2012-07-01
Posts: 1,758

Re: Mapy wektorowe

RafalR wrote:

Pobrałem Polskę i udało mi się wyświetlić mapę ale jest tam tylko jeden zoom (12), powiększanie i pomniejszanie odpada

To są QA tiles, więc jak nazwa wskazuje służą do analiz ku kontroli jakości mapy.
Niezbyt się nadają do renderu.
Ja się nie wgłębiałem w ten temat, bo niestety słabo się nadają do pewnych analiz - dostarczony do ich przetwarzania program nie potrafi ładować kafelków sąsiadujących z  przetwarzanym, żeby mieć margines-bufor wokół tegoż.

Offline

#19 2018-04-23 11:17:16

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

ndrw6 wrote:

Kocio, danych wcale nie mamy za dużo. Owszem drogi są w porządku ale w adresach jest tyle dziur, że gdy próbuję coś znaleźć nawet nie próbuję OSM. A że (przynajmniej w niektórych krajach) adresy są powiązane z budynkami to potrzebne są i one.

Nie mówiłem w sensie, że nie potrzebujemy więcej, tylko że jest ich już tak dużo, że niepraktycznie się z nich korzysta. Narodowe forki osm-carto zwykle (poza najsilniejszymi społecznościami jak np. Niemcy czy Francuzi) robią mapkę tylko swojego kraju. Podejrzewam, że właśnie dlatego, że cały świat to już wymaga lepszego sprzętu. Zwykły użytkownik tym bardziej nie ma z nich pożytku (poza oglądaniem na gotowych mapkach).

ndrw6 wrote:

Co do potrzeb użytkowników - OSM przede wszystkim potrzebuje bardzo dobrej domyślnej mapy, a nie bazy danych, kursów jak renderować swoją mapę lub jak edytować dane.

Mógłbyś rozwinąć co to dla ciebie znaczy? Najlepiej w odpowiednim wątku:

https://forum.openstreetmap.org/viewtopic.php?id=26176

Podpowiem tylko, że jakiś ogólny zarys jak to obecnie rozumiemy jest tu:

https://github.com/gravitystorm/openstr … OGRAPHY.md

ndrw6 wrote:

Można też nadal używać kafli rasterowych i, jak wspomniał rowers2, nakładać przezroczyste kafle z nazwami w różnych językach, liniami kolejowymi/autobusowymi, ścieżkami rowerowymi, punktami.

Czekam kto to zrobi i wdroży, bo też bym poszedł na takie częściowe rozwiązanie.

Offline

#20 2018-04-23 21:28:49

jendrusk
Member
From: Bialsko-Biała
Registered: 2012-08-07
Posts: 292

Re: Mapy wektorowe

Cześć Kocio (@All)

Przepraszam, że nie odezwałem się wywołany do tablicy - raz że rzadko tu zaglądam, dwa że powoli zaczynam robić bokami...

Przyznam się że nawet całego wątku nie przeczytałem.

Postawiłem kiedyś taki konstrukt ale klient sobie zażyczył duże zmiany w stylu i zawartości kafelków - Jak tłukłem do głowy, że ilość danych w kaflach poszczególnych leveli jest specjalnie tak dobrana żeby złapać kompromis między szczegółowością mapy a wydajnością zarówno renderowania jak i generowania samych kafli to mnie nikt nie słuchał po cichu komentując, że się mi nie chce robić... Jak już zrobiłem i na podstawie pierwszej doby oszacowałem, że na 4c./8t 32G Ram HDD Tier5 to się będzie generować 130 dni to się rozmyślili...

Ja się opierałem na openmaptiles i TileServer Klokantecha.

Rozwiązań jest wiele i trzeba by je dobrze przejrzeć zanim się na coś zdecydujemy(cie) - to fundamentalna decyzja która - jeśli będzie podjęta na szybko - będzie nas kopać w dupę jeszcze długo.

W razie W polecam do kontaktu Skype - jedrus305 smile

Offline

#21 2018-04-25 16:27:54

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Dobre wieści (choć jeszcze wczesne): wygląda na to, że są szanse na migrację OSM Carto na kafelki wektorowe.

Andy radzi, żeby zrobić to stopniowo, tzn. żeby zacząć od wewnętrznego generowania kafelków rastrowych na serwerze z tych kafelków wektorowych. To pewnie wygląda na niepotrzebne kombinowanie, ale dzięki temu nie trzeba od razu zajmować się aplikacją po stronie klienta, a przy okazji jest zgodność wsteczna dla tych, którzy korzystają z tego podkładu albo mają po prostu słabsze maszyny. W zasadzie to rozwiązanie już jest w użyciu, bo Andy stosuje je od 4 lat w warstwie rowerowej i transportu publicznego:

https://www.youtube.com/watch?v=NoLJHgqDCzc

Co ważne, Andy jest aktywny w dziale technicznym OSMF (Operations Working Group), więc są szanse, że to nie będzie tylko sztuka dla sztuki, tylko że naprawdę ten nowy styl po prostu zastąpi OSM Carto - tak jak wcześniej OSM Carto zastąpiło styl z Mapnik XML.

Jest też szansa, że włączy się w to Rory McCann, który 2 lata temu zrobił fork wektorowy (czyli jeszcze za czasów serii v3.x):

https://2016.stateofthemap.org/2016/con … ase-study/
https://github.com/geofabrik/openstreet … ctor-tiles

Być może nie warto będzie go odświeżać do serii v4.x, tylko zrobić nowy fork, ale na razie najważniejsze,  że te dwie osoby plus Paul Norman to już 3 ekspertów od kafelków wektorowych, którzy mogą sensownie wspomóc ten proces. Zaczynam być dobrej myśli, że wreszcie zaczniemy używać współczesnych technologii, które dają więcej możliwości i dobrze świadczą o projekcie, zamiast siedzieć w średniowecznych kafelkach rastrowych.

I tak warto mieć polski serwer na nasze projekty, ale ta migracja mogłaby się odbywać na serwerach fundacji, co dużo by uprościło technicznie i organizacyjnie.

Offline

#22 2018-04-27 11:35:03

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Taka ciekawostka jak sobie postawić lokalny serwer mapek wektorowych za pomocą gotowych kafelków:

https://blog.klokantech.com/2018/04/map … ocker.html

Jak ktoś ma Linuksa, to powinno być łatwo, bo to w Dockerze. Dla innych systemów Docker też może już być, ale jeśli ma się starsze Windows czy macOS, to zawsze pozostaje kombinacja VirtualBox i instalacja np. Ubuntu w środku, a dalej już tak samo.

Interesujące są też uwagi jak oni te kafelki produkują.

Offline

#23 2018-04-27 15:39:54

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Żeby dłużej nie zwlekać, otworzyłem bilecik w sprawie migracji osm-carto na kafelki wektorowe:

https://github.com/gravitystorm/openstr … ssues/3201

Offline

#24 2018-04-27 19:11:26

jendrusk
Member
From: Bialsko-Biała
Registered: 2012-08-07
Posts: 292

Re: Mapy wektorowe

Dokładnie dockerów klokantecha używałem - jak piszesz nie jest szczególnie trudno (na początek)... Grzebanie w stylu to już inna akcja, zwłaszcza jak chcesz dodatkowo zmienić poziomy wyświetlania. Sam proces przygotowania danych do kafelków jest dość złożony, bo dla kafli niskich zoomleveli wszystkie dane na nich widoczne (woda, ląd, główne granice administracyjne) są uproszczane w bazie więc np. dla granic państw jest tam zdublowany (chyba) 5 razy zestaw danych, każdy dla innego docelowego ZL i każdy z innym stopniem generalizacji...

Magia... mimo, że dość przejrzyście napisana to sam stopień złożoności implikuje to, że trzeba się dobrze skupić żeby zacząć w tym grzebać smile

Offline

#25 2018-04-30 02:48:14

kocio
Administrator
From: Warszawa
Registered: 2013-09-04
Posts: 3,478
Website

Re: Mapy wektorowe

Tak powoli zaczynam zbierać konkretne rozwiązania, bo idea jest już jasna.

Andy napisał, że jego style jadą na jakichś własnych wynalazkach bazujących na tilelive (https://github.com/mapbox/tilelive) - domyślam się, że nie na wolnej licencji. Rory z kolei mówił, że w Geofabrik próbowali tilelive-copy (czyli pewnie to samo), ale działało powoli, więc napisał kawałek własnego softu (https://github.com/rory/tileigi), który jest o wiele szybszy, za to ma jeszcze różne błędy. Czy ktoś może potestować trochę te narzędzia?

Offline

Board footer

Powered by FluxBB