Pl:Relacja

From OpenStreetMap Wiki
Jump to navigation Jump to search
Osm element relation.svg

Relacje to zbiory obiektów z opisami ról jakie te obiekty pełnią w stosunku do siebie i do całości zbioru. Relacje służą do opisu obiektów złożonych, które składają się z fragmentów, które pozostają w jakimś stosunku do siebie. Same relacje są również obiektami, choć szczególnego rodzaju.

Przykładowo: aby narysować jezioro z wyspą pośrodku, trzeba stworzyć dwa wielokąty: jeden zewnętrzny obrysowujący brzeg jeziora i drugi, wewnętrzny "wycinający" z jeziora obszar wyspy. W takim przypadku relacja "jezioro z wyspą" musi się składać z dwóch wielokątów, z których jeden ma przypisaną role bycia "zewnętrznym", a drugi "wewnętrznym".

Inny przykład: Szlak turystyczny prowadzi kilkoma drogami: najpierw asfaltową drogą lokalną, potem ścieżką przez las, a następnie drogą leśną. Relacja opisująca szlak będzie obiektem "zewnętrznym", składającym się z trzech wybranych fragmentów innych obiektów, powiązanych w odpowiednich punktach z sobą w jeden ciąg.

Inaczej mówiąc, relacje są specjalnym typem obiektów, które grupują inne obiekty nadając im w ramach całości określone role. Jako, że relacje też są obiektami – mogą one mieć własne tagi, inne niż obiekty wchodzące w ich skład.

Ten artykuł jest punktem wyjścia do dyskusji i wreszcie dokumentacją metod obecnie zwykłych, takich jak artykuł Obiekty na mapie dla znaczników. Wprowadzenie w relacje znajduje się w artykule Wprowadzenie w relacje.

Według stanu na luty 2024 baza OpenStreetMap zawiera ponad 11 miliardów relacji.

Użycie

Relacje są używane do tworzenia logicznego modelu (zazwyczaj lokalnego) lub geograficznej relacji między obiektami. Nie są one przeznaczone do przechowywania luźno związanych, ale rozrzuconych obiektów. Niewłaściwe byłoby, na przykład, aby użyć relacji do tworzenia grupy "Wszystkie chodniki w zachodniej Polsce". Jest to szerzej opisane relacje nie są kategoriami.

Obiekty

  • szkoły – gdzie węzeł lub budynek jako Zespół Szkół jest type=site, a poszczególne szkoły są relacjami.
  • szpitale/przychodnie lekarskie, gdzie węzeł lub budynek jest type=site a poszczególne oddziały lub gabinety jako relacje.
  • groby/grobowce/krypty – gdzie miejsce pochówku jest type=tomb a poszczególni zmarli jako relacje do danego grobu.

Rozmiar

Zaleca się, aby stosować nie więcej niż około 300 zależnych elementów. Jeśli mamy objąć więcej elementów, to można stworzyć kilka relacji i połączyć je w Super-Relation. Powód: im więcej obiektów składa się na jedną relację, tym trudniej jest ją obsługiwać, łatwiej popełnić błędy oraz bardziej obciąża zasoby w bazie danych i serwer.

Jadnak warto zauważyć że super-relacje nie są wspierane przez jakiekolwiek konsumentów danych a z upływem czasu i poprawą typowego sprzętu możliwe jest wygodne edytowanie coraz większych relacji.

Oznaczanie

Tagi

Klucz Wartość Opis
type typ relacji Wskazuje, że ta relacja reprezentuje trasę. (obowiązkowe)
name nazwa Nazwa miejsca , szkoły, obiektu ...
typ relacji * (opcjonalnie) Typ miejsca (np. szkoła lub szpital). To może być zbędne, biorąc pod uwagę, że mamy już amenity=*, leisure=*, railway=*, itd.

Elementy

Element Rola Liczba Opis
węzeł label zero lub więcej Definiuje gdzie umieścić etykietę.
obszar relacja perimeter zero lub więcej Powierzchnia lub relacja multipolygon. Definiuje obwód obiektu.
obszar relacja outline zero lub więcej Obszary, które tworzą ściany budynku. Inne nazwy? Może po prostu "wall"?
węzeł entrance zero lub więcej Węzeł lub węzły na obwodzie określające wejście do obiektu.
węzeł linia obszar relacja puste zero lub więcej Cokolwiek chcemy oznaczyć jako część obiektu. Np. budynki, pasy startowe, parkingi, boiska itp.
węzeł obszar relacja contains zero lub więcej Powinno być używane dla POI wewnątrz budynku. Jeśli mamy szczegółowe informacje o takim POI (oddzielne wejście, inny adres, czy coś w tym stylu), byłoby lepiej zbudować oddzielną relację dla każdego POI i następnie umieścić to jako człon relacji tutaj.
węzeł relacja address zero lub więcej To powinno być stosowane dla węzłów i relacji, które zawierały informacje adresowe. Więcej na ten temat w Proposed features/House numbers/Karlsruhe Schema

Role

Role jest opcjonalnym polem tekstowym opisującym rolę elementu relacji. Na przykład, w zakresie relacji dla Wieloboku: role = inner (wewnętrzna) i role = outer (zewnętrzna) są używane do określania, czy wielokąt tworzy wewnętrzną lub zewnętrzną część tego wieloboku.


Rodzaje relacji

Te poniżej proponowane rodzaje relacjirelacjami powszechnie używanymi.

Przyjęte relacje

Rodzaj relacji Status Element Komentarz Statistyka Ilustracja
multipolygon w rzeczywistości obszar Obszary, których obwód składa się z wielu dróg, lub które mają w sobie wewnętrzne obszary. Używane np. do rysowania obrysu domów lub granic.
Multipolygon Illustration 6.svg
route w rzeczywistości relacja linia Trasy autobusów, trasy rowerowe, szlaki piesze i numerowane ulice.
CycleLayer2.png
route_master zatwierdzony relacja Zawiera tylko (parallel, opposite, variant, …) trasy; bardzo często używany do grupowania wariantów tras w transporcie publicznym.
restriction w rzeczywistości węzeł linia Wszelkiego rodzaju ograniczenia skrętu.
B2B.svg
boundary w rzeczywistości linia Grupowanie granic i oznaczanie enklaw i eksklaw.
Boundary.png
public_transport zatwierdzony węzeł linia Część OSM schematu komunikacji publicznej. Głównie używany jako public_transport=stop_area.
Bayview trstwy.jpg
destination_sign zatwierdzony linia Grupowanie znaków kierunkowych na lub przed skrzyżowaniami.
LA2-blagulskylt.jpg
waterway zatwierdzony linia Grupowanie odcinków cieków w całe rzeki, strumienie, kanały...
enforcement zatwierdzony węzeł linia Grupowanie urządzeń do kontroli ruchu; fotoradary, kamery na podczerwień, wagi, ...
Fixed speed camera.svg
connectivity zatwierdzony węzeł linia Wskazuje, w jaki sposób pasy w elemencie „od” łączą się z pasami w elemencie „do”.
Laneconnectivity.svg

Rzadkie relacje

Rodzaj relacji Status Element Komentarz Statistyka Ilustracja
associatedStreet controversial węzeł linia Grupowanie elementów związanych z ulicą. Patrz Karlsruhe scheme
Housenumber-karlsruhe-de.png
superroute controversial relacja Należy unikać, ponieważ superroute zawiera tylko (spójne) trasy.
CycleLayer2.png
site w użyciu linia Relacja do grupowania elementów terenu/węzła, takich jak szkoły, obiekty biurowe ... site=stop_area został zmieniony na public_transport=stop_area. Zobacz Relations/Proposed/Site
network w użyciu węzeł linia relacja Relacje stosowana do grupowania obiektów będących w sieci.
CycleLayer2.png
building in use linia Czasami używany do grupowania elementów tworzących budynek w prostym modelowaniu 3D, ale zwykle nie jest wymagane.
Building part areas in building area.svg
street zaproponowany węzeł linia Relations/Proposed/Street, Relations/Proposed/Collected_Ways i Relations/Proposed/Collected_Ways_Simple dążą do poprawy relacji associatedStreet
bridge zaproponowany linia Grupowanie wszystkich elementów mostu. Zobacz Relations/Proposed/Bridges and Tunnels
tunnel zaproponowany linia Grupowanie elementów tunelu. Zobacz Relations/Proposed/Bridges and Tunnels
user defined zaproponowany Wszystkie powszechnie używane wartości według Taginfo Taginfo Statistic pictogramm.png

Rendering

Jeśli etykieta label jest obecna, należy umieścić etykietę w miejscu tego węzła. Jeżeli więcej niż jedna etykieta węzła istnieje (np. bardzo duże obiekty), należy wtedy umieścić etykiety na każdym węźle, jak tylko poziom powiększenia pozwala. Jeśli nie istnieje label, należy użyć środek strefy obszaru obwodowej. Jeżeli to niemożliwe, należy użyć środka strefy wszystkich obiektów powiązanych.

Na niższych poziomach powiększenia renderuj tylko powierzchnię obwodową i węzeł etykiety, ukrywając wszystkie inne elementy, aby zmniejszyć zagęszczenie.

Przykłady

Wielokąt złożony

W relacji multipolygon, rola inner i rola outer są używane do określenia, w jaki sposób obrys tworzy wewnętrzną lub zewnętrzną część powierzchni wielokąta.
Na przykład, wewnętrzna droga może być zdefiniowana jako wyspa na jeziorze (odwzorowywana jako "relacja").

Trasy autobusowe

Każdy wariant trasy autobusowej jest reprezentowany przez relację z type=route, route=bus i kilkoma zalecanymi tagami, takimi jak name=*, ref=*, from=*, to=* i operator=*.

Pierwszymi elementami relacji trasy są węzły reprezentujące przystanki z rolą stop. Są one uporządkowane w sposób, w jaki poruszają się po nich pojazdy. Następnie dodawane są linie, które utworzą uporządkowaną sekwencję wzdłuż węzłów przystanków. Drogi nie otrzymują ról.

Proponowane relacje

(Uwaga: niektóre propozycje mogą być przestarzałe lub być w sprzeczności z definicją!)

Łączenie i dzielenie tras i węzłów

Skrzyżowania, przecięcia dróg o różnej klasie i nasypy

Ograniczenia skrętu i prawo pierwszeństwa ruchu

Hierarchie obszarów i inne relacje dla obszarów

Adresowanie

Inne

(podzielony trasa)

Projekty

  • Low emission zone: Strefy miejskie z wymuszeniem obniżonego zanieczyszczenia powietrza spalinami.

Projekty w Niemczech

Narzędzia

Zobacz też