OpenStreetMap/Trochę teorii

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania

Nim przystąpisz do edytowania OpenStreetMap zachęcamy, abyś zapoznał się z pojęciami teoretycznymi dotyczącymi projektu. Jest to ważny dział, jeśli chcesz zrozumieć w jaki sposób działa projekt.

Format danych[edytuj]

Dane OpenStreetMap zorganizowane są w bazie danych jako logiczna struktura wykorzystująca język XML. W jej ramach możemy wyróżnić następujące elementy: węzeł, droga oraz relacja. Elementy te to podstawowe komponenty w bazie OpenStreetMap, w których wszystko to, co widzisz na mapie, jest opisane za pomocą atrybutów.

Atrybut[edytuj]

Atrybut (tag) to informacja, którą można przypisać zarówno węzłom, drogom, jak i relacjom. Atrybut składa się z pary: klucza (key) lub nazwy i wartości (value). Klucz i wartość mogą przyjąć dowolną treść, jednak społeczność wypracowała pewne standardy dotyczące nazewnictwa najczęściej mapowanych obiektów. Warto, abyś, zapisał sobie poniższe linki, ponieważ mogą być bardzo przydatne w mapowaniu:

  • Pl:Map Features – tabela zawierająca zatwierdzone przez społeczność atrybuty,
  • taginfo – świetne narzędzie do wyszukiwania już użytych atrybutów w bazie OSM.

Przykład tagu opisanego w języku XML:

<tag k="amenity" v="hospital"/>

Węzeł[edytuj]

Węzeł lub punkt (node) to najmniejsza jednostka danych w OSM. Jest to pojedynczy punkt na Ziemi opisany co najmniej przez parę współrzędnych geograficznych. W skład danych węzła mogą wchodzić różne atrybuty dodawane przez użytkowników.

Przykład węzła opisanego w języku XML:

<node id="1134870332" lat="51.6568478" lon="19.3249549" user="AdamMencwal" timestamp="2011-02-17T13:29:11Z">
  <tag k="highway" v="bus_stop"/>
</node>

Droga[edytuj]

Droga (way) to uporządkowana lista węzłów posiadające własne atrybuty, wyświetlana jako linia pomiędzy kolejnymi węzłami. Przykładem drogi mogą być ulice, ścieżki, ale również cieki wodne czy trakcje energetyczne. Odmianą drogi jest droga zamknięta, tworząca pętlę. Dzięki niej możemy narysować np. rondo. Rozróżnić można obszar (area), czyli zamkniętą drogę wypełnioną w środku. Obszary są używane do rysowania obiektów takich budynki, place, jeziora, wyspy, itp.

Przykład drogi opisanej w języku XML:

<way id="104130196" user="Borch" timestamp="2011-09-04T11:32:39Z">
  <nd ref="1201545194"/>
  <nd ref="1201545175"/>
  <nd ref="1201544973"/>
  <tag k="highway" v="road"/>
  <tag k="name" v="Grunwaldzka"/>
  <tag k="oneway" v="yes"/>
</way>

Relacja[edytuj]

Relacja (relation) to element, który składa się z innych elementów: najczęściej węzłów oraz dróg, czasami także innych relacji. Oczywiście może posiadać także własne atrybuty. W uproszczeniu możesz potraktować relację, jako worek, do którego wrzucane są różne elementy. Dzięki relacjom można np. ciągły szlak rowerowy przebiegający przez różne ulice, ścieżki i chodniki. Innym powszechnym zastosowaniem jest tworzenie tzw. wielokątów złożonych (multipolygon), dzięki którym można utworzyć obszar z dziurą w środku.

Przykład relacji opisanej w języku XML:

<relation id="214998" user="Jacek_lodz" timestamp="2011-09-25T18:34:09Z">
  <member type="way" ref="39440924" role=""/>
  <member type="way" ref="39440905" role=""/>
  <member type="way" ref="39438524" role=""/>
  <member type="way" ref="5063027" role=""/>
  <member type="way" ref="5063029" role=""/>
  <tag k="name" v="Szlak Turystyczny Okolic Łodzi"/>
  <tag k="network" v="rcn"/>
  <tag k="route" v="bicycle"/>
</relation>

Być może zdziwiłeś się, widząc jakieś kody rodem z książek o programowaniu. Nie martw się — są to tylko przykłady, jak to wygląda od środka. Najprawdopodobniej podczas edycji nigdy nie ujrzysz takiego kodu, ponieważ używamy edytorów graficznych.

Źródła[edytuj]

Podstawowym sposobem na zbieranie informacji jest plik GPX. Jest to ścieżka najczęściej jednoliniowa prowadzaca z punktu A do B. Można ją „narysować” przy pomocy GPS poprzez przejście się po obszarze którego nie ma na mapie.

Ważne! Należy jednak pamiętać by nie dodawać surowych śladów GPX prosto do OSM ze względu na ich możliwą niedokładność — do ich poprawy najczęściej używa się skalibrowanych ortofotomap.

Więcej o tym w kolejnych rozdziałach.

Gtk-go-up.svg Skocz na górę Gtk-go-up.svg