Skocz do zawartości

Przetwarzanie OpenStreetMap na systemie wbudowanym #2 - Parsowanie formatu .osm


Pomocna odpowiedź

Na programowaniu się nie znam, ale na OSM tak, więc pozwolę sobie na komentarz :).

Format danych warto dostosować do zastosowania. Kafelki są gotową wizualizacją, czyli rastrem tego, co można podejrzeć na stronie OSM. Plik osm (GML) natomiast jest plikiem (w praktyce) wektorowym (co pokazałeś w pierwszej części artykułu) i bazodanowym, pozbawionym wizualizacji - to są surowe, ale OBIEKTOWE dane. Jeśli potrzebujemy np. mapy jako statycznego podkładu do aplikacji wyświetlającej położenie użytkownika, to format osm jest często złym pomysłem (choć jest lżejszy niż kafelki). Jeśli potrzebujemy możliwości kliknięcia w dom czy drogę, albo własnej symbolizacji (kolor, symbol) na bazie atrybutów obiektu - wtedy jak najbardziej.

Niestety OSM nie wystawia serwera usługi WMS/WMTS, co jest - wg mnie - wygodniejszym i bardziej klarownym rozwiązaniem pobierania kafelków.

  • Lubię! 2
(edytowany)

@Leander Jakiś czas temu zastanawiałem czy kafelki pobierane z serwera są danymi wektorowymi czy rastrowymi (o czym wspomniałem w części IV). Dziękuję za odpowiedź, bo rozwiałeś mi tę wątpliwość. Odnośnie zaprezentowanego formatu - zdecydowałem się na dane wektorowe przede wszystkim z powodu właśnie rozmiarów kafelków rastrowych oraz urządzenia w którym wykorzystuje format. Lecz tak jak mówisz, wszystko zależy od aplikacji.

Edytowano przez kronikary
  • Lubię! 1
(edytowany)

Kafelki - jeśli widzisz dokładnie to, co widać na stronie (w serwisie mapowym), to są to rastry generowane z kompozycji mapowej. Wygenerowanie tego typu wizualizacji w locie z danych wektorowych (które są tylko geometrią) to dodatkowe zadanie (w niektórych narzędziach są wtyczki, które robią ładną mapę z chociażby danych BDOT10k - polska baza państwowa). Wspomniany WMS ma fajną cechę, bo dane na serwerze mogą być wektorem, użytkownik dostaje je zrastrowane, ale jest możliwość odpytania serwera o dane z bazy na podstawie współrzędnych z rastra. Czyli dostaję obrazek, klikam w punkt i mam pełną tabelę atrybutów, bo odpytuję bazę za pośrednictwem rastra (widać to dobrze w narzędziu identyfikacji na geoportalu). W kafelkach działa to inaczej (nie licząc kafelków w usłudze WMTS). Tu jest o "tilesach" z OSM: https://wiki.openstreetmap.org/wiki/Tiles Z tego, co widzę, to często jest png.

Edytowano przez Leander
  • Lubię! 2

Wydaje mi się że zasadne było by trzymać przetworzony OSM w postaci binarnej, a całość wrzucić do Quadtree aby szybko filtrować obiekty z danego obszaru.
A przynajmniej ja tak bym do tego podszedł 🙂

 

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...