OSM dla programisty

W przeciwieństwie do większości komercyjnych i urzędowych rozwiązań mapowych, OpenStreetMap wyróżnia się pełnym (zarówno do pobrania, jak i edycji) dostępem do danych źródłowych. Fakt ten jest niesamowicie istotny dla twórców aplikacji i usług, oznacza bowiem znacznie szersze możliwości oraz większą paletę narzędzi. W tym artykule omówię podstawowe aspekty użycia OpenStreetMap we własnych aplikacjach.

Licencja

Od przeprowadzonej w 2012 r. zmiany licencji dane OSM są dostępne na zasadach licencji Open Database License. W przypadku wykorzystania niezmienionych danych, jedynym obowiązkiem nakładanym przez licencję jest właściwe oznaczenie źródła danych. Jeśli natomiast dane OSM mają być łączone z innymi, należy je albo odseparować (w przypadku aplikacji GIS, najprościej poprzez umieszczenie na osobnej warstwie), albo opublikować połączoną bazę danych (np. o zweryfikowanej topologii, lub wzbogaconej treści) na takich samych zasadach jak oryginał.

Wytworzone na podstawie niezmienionych danych OSM produkty (jak mapy cyfrowe i drukowane) i usługi (np. wyszukiwanie, wyznaczanie trasy) mogą być sprzedawane i licencjonowane na dowolnych zasadach, pod warunkiem właściwego oznaczenia źródła danych.

Możliwość edycji

Elementem wyróżniającym OSM na tle innych, podobnych projektów jest zapewnienie równych praw do edycji wszystkim użytkownikom. Brak tu wyznaczonych moderatorów, poziomów uprawnień, obowiązku zdobywania doświadczenia itp. Zasada ta czasem budzi kontrowersje i dyskusje nad jej zmianą, ale obecnie się na to nie zanosi. Jedynym wymogiem jest posiadanie konta, przy czym nie jest wymagane tworzenie nowego loginu i hasła – można wykorzystać OpenID.

Edycji danych można dokonywać za pośrednictwem jednego z edytorów ogólnego przeznaczenia (przeglądarkowe iD lub Potlatch, desktopowe JOSM lub Merkaartor, mobilny Vespucci), ale też wyspecjalizowanych aplikacji mobilnych umożliwiających szybkie zbieranie danych określonego typu (np. punktów POI, hydrantów, słupków kilometrowych, punktów adresowych) bezpośrednio w terenie.

Każdy może stworzyć własną aplikację umożliwiającą edycję danych OSM. Aktualna wersja API projektu nosi numer 0.6 i jest udokumentowana na tej stronie.

Własny wygląd mapy

Wolny dostęp do danych źródłowych i większości narzędzi do renderowania obrazów map daje możliwość stworzenia własnego, niepowtarzalnego stylu graficznego. Właściwie każdy program do renderowania map z surowych danych geograficznych może być użyty w tym celu. Do najłatwiejszych w obsłudze i najlepiej dostosowanych do danych OSM zalicza się TileMill oraz Maperitive.

Działanie w trybie offline i w sieciach wewnętrznych

OSM daje wiele możliwości wykorzystania bez połączenia z głównym serwerem projektu. Najprostszą jest pobranie zestawu obrazów mapy – tzw. kafelków – i przechowanie ich w pamięci urządzenia. Należy pamiętać, że o ile nie ma żadnych formalnych ograniczeń co do ilości czy czasu przechowywania danych, regulamin serwera osm.org zabrania masowego pobierania kafelków ze względów technicznych – powoduje to bowiem duże obciążenie serwera. Należy wtedy zwrócić się do wyspecjalizowanego dostawcy lub uruchomić swój własny serwer.

W urządzeniach mobilnych oprócz gotowych kafelków mapy, można zastosować również renderowanie wprost z danych wektorowych. Dla systemu Android istnieje np. biblioteka MapsForge.

Możliwość działania offline nie jest ograniczona wyłącznie do obrazów map. Na podstawie pobranej kopii danych można uruchomić także inne usługi, np. nawigację.