200 likes | 326 Views
Mapy i dane Open Street Map. Technogie map cyfrowych Andrzej Chybicki. Open Street Map - OSM. Darmowe Wektorowe Model danych Nawigacja + inne dane (wysokość budynków, nazwy) Możliwość edycji Możliwość pobrania Projekt społecznościowy. OSM vs Google. Architektura. Struktura danych.
E N D
Mapy i dane Open Street Map Technogie map cyfrowych Andrzej Chybicki
Open Street Map - OSM • Darmowe • Wektorowe • Model danych • Nawigacja + inne dane (wysokość budynków, nazwy) • Możliwość edycji • Możliwość pobrania • Projekt społecznościowy
Struktura danych • Węzły • Drogi • Relacje
Struktura danych • Węzły • Podstawowy element • Szerokość i długość geograficzna • Samodzielne – punkty POI • Zbiór – ulice, obszary • Drogi • Lista węzłów • Otwarta – ulica • Zamknięta – budynek, obszar
Struktura danych • Relacje • Grupy obiektów (węzłów i/lub dróg) • Przykład: linia autobusowa (zbiór ulic i przystanków) • Tagi • Opisują elementy • Składają się z klucza i wartości • Przykład: • building • yes, house, residential, garage, hut, apartments ...
Baza danych • Każdy z elementów posiada tabele: • current • history • current_tags • history_tags • Inne dane • Changeset'y • Użytkownicy • Dane z plików gpx
API 0.6 • Wyłącznie do edycji • Wykorzystuje REST • Dostęp do danych poprzez URL
API 0.6 • Pobieranie danych: • GET /api/0.6/map?bbox=left,bottom,right,top • Przykładowy wynik (plik XML):
API 0.6 – wysyłanie danych • Utworzenie changeset'a • PUT /api/0.6/changeset/create • Odpowiedź: identyfikator • Wysyłanie zmian • POST /api/0.6/changeset/#id/upload • Wysyłany plik w postaci OsmChange • Zamknięcie changeset'a • PUT /api/0.6/changeset/#id/close
Format OsmChange • create, modify, delete
Projekty - ID • Najnowszy edytor do map OSM • Napisany w JavaScript z użyciem biblioteki d3js • Dostępny z przeglądarki • Nie jest zoptymalizowany pod urządzenia mobilne
Projekty – OpenCycleMaps • Mapa dla rowerzystów (National Cycle Network w UK) • Trasy lokalne i regionalne • Parkingi i sklepy rowerowe
Projekty - F4 • Wizualizacja mapy w 3d • Renderownie obiektów w czasie rzeczywistym • Wszystkie potrzebne informacje pochodzą z baz OSM