User:Yarl/text

From OpenStreetMap Wiki
Jump to navigation Jump to search

OSM w weekend, czy jakoś tak :)

1. Trzy zdania wstępu

Witaj, skoro zajrzałeś na tą stronę zapewne wiesz, czym jest projekt OpenStreetMap. W skrócie – OSM to internetowy projekt mający na celu stworzenie darmowej oraz swobodnie dostępnej mapy całej kuli ziemskiej. Każdy, kto ma dostęp do internetu, może edytować OpenStreetMap. Tak po prostu. Poniższy tekst ma to w miarę możliwości ułatwić.

Tekst wydaje się obszerny, jednak staraliśmy się w nim zamieścić jak najwięcej informacji w możliwie prostym języku. W niektórych miejscach odsyłamy do dodatkowych stron z obszerniejszym opisem, jednak zasadniczo informacje zgromadzone na tej stronie powinny wystarczyć do rozpoczęcia przygody z OpenStreetMap.

Oznaczenia w tekście

Aby ułatwić czytanie, w tekście wyróżniono fragmenty tekstu:

Nuvola apps important orange.svg
Ważny fragment

Dodatkowo, fragmenty napisane czcionką maszynową oznaczają tekst "z zewnątrz", np. przyciski programów.

Informacje o projekcie

Jak już zostało wspomniane, tekst ma być możliwie krótki, także podarowaliśmy sobie epickie opisy początków projektu. Informacje na ten temat można znaleźć np. w Wikipedii.

Zatem – zaczynamy! :-)

2. Przechowywanie danych – węzły, drogi, relacje

3. Do obrobienia reszta

Drogi i ulice dwupasmowe

Drogi i ulice dwupasmowe należy wrysowywać jako dwie oddzielne drogi (ways). Każdą w przeciwnym kierunku. Proszę pamiętać o ustawieniu atrybutu oneway=yes.

Innym problemem są łączniki dróg jednopasmowych przecinających drogi dwupasmowe. Jeżeli droga jednopasmowa jest gorszej kategorii niż dwupasmowa, to jej łącznik powinien być tej samej kategorii co droga dwupasmowa. Spowodowane jest to problemami programów rysujących mapę - często w miejscu łącznika jest rysowana przerwa gorszej kategorii.

Nazwy ulic

Bardzo proszę podawać pełną nazwę ulicy. Tzn. zamiast np. "Sikorskiego" podawać "Gen. Władysława Sikorskiego". Innym przykładem może być "ul. Niepodległości" w Warszawie, która jest zupełnie inną ulicą niż "Aleja Niepodległości", która też w Warszawie się znajduje. Proszę też o używanie w nazwach polskich znaków!

Długie drogi (ways)

Bardzo proszę nie tworzyć zbyt długich odcinków dróg (way). Należy je dzielić na krótsze odcinki. Prośba związana jest z tym, że długie, parodziesięcio- lub parusetsegmentowe drogi bardzo trudno się edytuje. Głównie chodzi o dodawanie mostów i wiaduktów oraz zmiany nazw ulic i numerów tras. Dla osoby modyfikującej mapę jest to uciążliwe, a dla autora może sprawiać wrażenie, że ktoś złośliwie przerysował drogę, chcąc "przejąć" jej autorstwo.

Dodatkowo należy pamiętać, że większość programów rysujących mapę rysuje nazwę ulicy/drogi/rzeki tylko raz na jej środku. W wypadku długich ulic i rzek wywołuje to wrażenie "obiektów bezimiennych".

Z drugiej strony, to czy krótkie łączniki dróg nie powinny mieć nazw - bo nie ma miejsca na ich wpisanie - jest zagadnieniem dyskusyjnym. Obecne programy rysujące czasem rozpoznają, że nazwa się nie zmieści i jej nie wpisują, ale nie zawsze. Poza tym programy rysujące mapę nie badają kolizji pomiędzy nazwami różnych, przecinających się ulic.

W celu dokonywania zmian atrybutów na wybranych odcinkach dróg należy drogę podzielić na mniejsze odcinki. Edytor JOSM posiada opcję dzielenia dróg, patrz sekcję Edytor JOSM.

Podwajanie obiektów

Czasami, w wyniku przeciążenia systemu powstaje efekt podwojenia obiektów w bazie danych - dodawane są identyczne obiekty o innych numerach kolejnych. Należy unikać takich sytuacji, a zauważone poprawiać (da się to zrobić w JOSM, patrz sekcję Edytor JOSM). Podwojone obiekty są nieprawidłowo edytowane (edytuje się tylko kopię znajdującą się "na wierzchu"), oraz nieprawidłowo rysowane w trakcie renderowania map (kolejność obiektów jest nie do końca zrozumiała).

Ślady (traces)

Należy uważać z uploadem śladów (traces). Nie wszystkie są potrzebne. Zasadniczo wartościowe są tylko ślady z miejsc, które jeszcze nie zostały wrysowane na mapę lub które wyraźnie wymagają poprawienia (niektóre ulice są rysowane na podstawie pojedynczych śladów, co obarcza je znacznymi błędami).

Rejestrując ślady, których sami nie będziemy obrabiać i zamieniać na mapę należy pamiętać, aby starać się jechać jednym pasem (w wypadku jazdy drogą wielopasmową tylko w jedną stronę najkorzystniej jest to robić lewym pasem - najbliżej środka), a w miastach nie jechać zbyt szybko (jeżeli będziemy kluczyć po małych uliczkach szybciej niż 50km/h to na każdym odcinku drogi zarejestruje się jeden punkt lub nawet mniej).

Trafna uwaga kol. Steelmana: Dobrze jest zebrać więcej śladów tej samej ulicy. Z moich obserwacji wynika, że GPS jest czuły na około 0,5 metra i tyle wystarczy by wyznaczył kierunek w jakim się poruszamy, ale dokładność ma rzędu 5-10m a zatem z dnia na dzień ta sama ulica może się przesunąć o całą swoją szerokość. Jeżeli zbierzemy ileś śladów tej samej jezdni to po uśrednieniu możemy uważać, że jest ona narysowana dość dokładnie. Dlatego najlepiej jest zachowywać ślady z niezbyt dużą rozdzielczością czasowo-przestrzenną (>30m) a za to przejechać się kilka razy. Można do tego użyć odpowiedniego filtru w gpsbabel, który powycina punkty leżące na prostej i zachowa większą dokładność tylko na zakrętach.

Innym problemem są ślady tworzone przez rowerzystów i spacerowiczów. W wypadku dużych miast ślady zarejestrowane przez rowerzystów i spacerowiczów często nie mają zbyt dużej wartości... Spowodowane jest to tym, że rowerzyści (a jeszcze częściej piesi) często skracają sobie drogę przez trawniki, parki, ciągi piesze, kluczą pomiędzy różnymi obiektami itp. - istnieje na to określenie moose tracks. Dodatkowo ścieżki rowerowe czasem są umieszczane w znacznej odległości od ulicy. Z punktu widzenia rysowania na mapie ulic takie ślady są wręcz przeszkadzające. Jeżeli tworzy się takie ślady i chce się ich używać np. do tworzenia map ścieżek rowerowych lub pieszych wycieczek to myślę, że należy je raczej użyć w edytorze JOSM, a nie ładować do bazy danych systemu, gdzie "zaciemniają" obraz okolicy osobom, które próbują zrobić mapę sieci ulic.

Linie tramwajowe

Linie tramwajowe powinny być wrysowywane jako oddzielne drogi (ways), umieszczone obok ulic. Jest wysoce niewskazane, aby dublować segmenty ulic w celu uczynienia ich odcinkami linii tramwajowych. W szczególności, gdy linia tramwajowa biegnie na środku ulicy dwupasmowej błędnie wrysowanej jako jednopasmowa (patrz sekcja drogi i ulice dwupasmowe). Takie miejsca będą się źle rysować na mapie i będą uciążliwe do poprawienia.

Pamięć i postrzeganie są zawodne

Przeciętny kierowca nie dostrzega, że droga biegnie po lekkim łuku lub lekko się wije oraz, że ulice najczęściej wcale nie przecinają się pod kątem prostym. W związku z tym, wyrysowując jakąś ulicę z pamięci (nawet krótką) bez użycia śladów z odbiornika GPS, zawsze należy skonsultować własne przekonanie o jej przebiegu ze zdjęciem lotniczym lub satelitarnym. Dodatkowo należy mieć na uwadze, że edytory nie zachowują proporcji - np. w edytorze JOSM wszystko jest lekko "rozciągnięte wszerz", patrz sekcję Edytor JOSM.

Atrybuty obiektów (tags)

Zarówno edytor on-line (Potlatch), jak i JOSM umożliwia przypisanie dowolnych atrybutów (tag) do dowolnych obiektów. Należy jednak stosować przy tym pewne zasady.

Atrybuty (tag) takie jak klasa drogi, kierunek ruchu, nazwa, poziom itp. należy przypisywać drogom (way). Dotyczy to także torów kolejowych, rzek i obszarów zamkniętych takich jak np. lasy i jeziora - też należy je obrysowywać drogą o odpowiednich cechach. Należy pamiętać, że część atrybutów ma sens po przypisaniu ich tylko do węzłów (nodes) i są one wspierane przez programy rysujące mapę. Do takich atrybutów należą np. mini-ronda, stacje benzynowe, lokalizacje miejscowości, znaczniki miejsc i obiektów jak np. muzea i pomniki itp.

Edytor on-line "Potlatch" (dostępny na stronie internetowej projektu)

Wszelkie prace prowadzone w tym edytorze, są prowadzone na żywca na głównej bazie danych projektu. Ponieważ narzędzie to nie ma opcji "cofnij" (undo) zawsze należy pracować ostrożnie i dwa razy pomyśleć zanim się wprowadzi jakąś zmianę.

Nieprzemyślane zmiany mogą spowodować wiele niepowetowanych szkód, w szczególności w zaawansowanych projektach (np. miasto Warszawa).

Trzeba też zwrócić uwagę, że edytor ten umożliwia edytowanie okolicy zanim zakończy pobieranie z bazy danych wszystkich (jakiekolwiek?) obiektów w niej się znajdujących. Po "przesunięciu" roboczego okna w nowe miejsce, należy się przygotować, że aktualizacja widoku może zająć edytorowi od paru do parunastu minut zależnie od obciążenia systemu. Sztandarowymi przykładami błędów podstałych w ten sposób są np. wyrysowanie drogi E75/1 przez Łódź przez kogoś, kto w ogóle nie zwrócił uwagi, że na obszarze miasta Łodzi ta droga jest wrysowana oraz wrysowanie Wisły przez kogoś, kto nie dostrzegł, że od Dęblina, przez Warszawę co najmniej do Płocka Wisła też jest już wrysowana.

W wypadku odrysowywania obiektów wg zdjęć satelitarnych/lotniczych należy używać tego narzędzia tylko do wrysowywania dużych, trudnych do zmapowania obiektów - lasów, rzek - może dróg między miastami. Po prostu dostępne zdjęcia (Yahoo i Landsat) nie są do końca poprawnie skalibrowane i mają względnie małą rozdzielczość. Lokalne rozbieżności pomiędzy różnymi mapami (Yahoo, Landsat, Geonames/Google) mogą wynosić nawet +-100m!. W wypadku rozbieżności zawsze należy uznać wyższość danych z odbiornika GPS (oczywiście o ile pomiar został prawidłowo dokonany). Nigdy nie należy bezmyślnie odrysowywać, lub poprawiać istniejących danych wg jednego podkładu (np. Yahoo). Jest to niszczenie mapy i pracy innych!

Należy zwracać uwagę na połączenia ulic (tak żeby na pewno miały wspólny węzeł) (zły przykład) i na to żeby między dwoma węzłami był co najwyżej jeden segment (chyba ma się bardzo dobry powód) (zły przykład) bo wydaje się że w tym programie o wiele łatwiej popełniane są te błedy niż w JOSM.

Proszę też pamiętać o nadawaniu obiektom prawidłowych atrybutów.

W wypadku większych i bardziej precyzyjnych prac dużo lepiej jest używać edytora JOSM.


Edytor JOSM

Rozpoczynając jakąkolwiek edycję i/lub tworzenie nowych obiektów zawsze należy pobrać z serwera aktualną wersję obiektów z danej okolicy!

Zmodyfikowane i/lub nowo utworzone obiekty należy rozsądnie-często (co pół godziny-godzinę) ładować (upload) na serwer. Próba załadowania na serwer obiektów w międzyczasie przez kogoś zmodyfikowanych lub usuniętych nie jest możliwa do przeprowadzenia i kończy się różnymi błędami połączenia (200...400). Sytuację może uratować usunięcie obiektów powodujących problemy. Jednak w wypadku znacznych ilości danych trudno ustalić który obiekt powoduje problemy (a może być tych obiektów znacznie więcej niż jeden).

W sytuacji gdy mamy dwa (lub więcej) identycznych obiektów (patrz p.4), wszystkie obiekty oprócz jednego powinny być usunięte. Aby zobaczyć "co się dzieje" z obiektem (także w ilu kopiach występuje), można użyć środkowego przycisku myszy - należy na wybranym obiekcie kliknąć środkowym klawiszem myszy - wyświetli się okno dialogowe z listą wszystkich obiektów związanych ze wskazanym punktem. Trzymając klawisz "ctrl" można wybrać z listy obiekt do edycji i/lub usunięcia.

Dzielenie dróg. W sytuacji, gdy nagle się okazuje, że istniejąca długa droga gdzieś na swoim przebiegu zmienia swoją nazwę, klasę, staje się mostem/wiaduktem/tunelem to w celu zmiany atrybutów można ją podzielić na mniejsze odcinki bez konieczności usuwania całej drogi i wrysowywania jej ponownie. W celu podziału drogi na mniejsze odcinki należy wybrać opcję zaznaczania i przesuwania obiektów, kliknąć na węźle na którym droga ma być podzielona. Następnie wybrać opcję "Split Way" z menu "Tools". Droga zostanie podzielona w wybranym węźle na dwa odcinki o takich samych parametrach. Jeżeli przez dany węzeł przebiega więcej niż jedna droga, to należy najpierw kliknąć na węźle, a następnie, z wciśniętym klawiszem "Shift", kliknąć na wybranej drodze i dopiero po tym wybrać opcję "Split Way". Uwaga: Po podzieleniu, nowo powstałe obydwie drogi są zaznaczone. W celu wybrania drogi do dalszej edycji należy albo użyć opcji "Unselect All" z menu "Edit" albo, mając wybrane narzędzie do zaznaczania obiektów, kliknąć (normalnie, bez wciśniętego klawisza Shift), na wybranym odcinku drogi.

Trafna uwaga kol. steelman'a: Co do rozciągania to w JOSM należy przestawić rzutowanie na Mercatora. Przy niejakim zniekształceniu odległości W-E daje w naszych szerokościach geograficznych całkiem proste kąty proste. Co zaś się tyczy zdjęć satelitarnych lub lotniczych to gorąco polecam wmsplugin do JOSM. O ile nie rysujemy jakiś malutkich uliczek to nawet zdjęcia z Landsata są całkiem przydatne.

Aktualizacja map

To drażliwy temat. Oficjalna mapa posiada dwie alternatywne warstwy o rożnym czasie aktualizacji: Mapnik (domyślna) i Osmarender. Wg moich obserwacji warstwa Maplink jest aktualizowana w środy - tzn. wtedy rozpoczyna się aktualizacja i powoli są renderowane mapy wg. stanu danych z ostatniej środy. Pełna aktualizacja warstwy Mapnik dla wszystkich powiększeń (zoom level) może zająć cały tydzień (a w wypadku wystąpienia jakiś problemów w systemie nawet dłużej). Oznacza to, że aby obejrzeć zmiany na mapie na tej warstwie czasem trzeba czekać nawet 2 tygodnie.

Aktualizacja warstwy Osmarender powinna być przeprowadzana na bieżąco - gdy serwer samoczynnie wykryje zmiany w danych. Jednak w rzeczywistości, zależnie od obciążenia serwera, może to zająć nawet parę dni. Mapy na tej warstwie są rysowane (renderowane) przy pomocy rozproszonej sieci tiles@home.

Aby względnie szybko zobaczyć wprowadzone zmiany, należy skorzystać z mapy na stronie http://www.informationfreeway.org/ . Gdy ogląda się mapę na poziomie powiększenia 12 (Zoom Level 12) można wymusić aktualizację wybranego fragmentu (klawisz ctrl + prawy klawisz myszy). Aktualizacja wybranego fragmentu mapy może zająć serwerowi informationfreeway, zależnie od obciążenia, od 1 do nawet 24 godzin (o ile nic złego się z nim nie dzieje...). Mapy są rysowane (renderowane) przy pomocy rozproszonej sieci tiles@home. Gdy system jest przeciążony, nie należy zbyt często wymuszać aktualizacji, ponieważ może się zdarzyć, że nowsza wersja mapy będzie zastąpiona starszą (gdy rysowanie starszej wersji zakończy się później niż rysowanie nowszej wersji). Lepiej poczekać parę-parenaście godzin i dopiero gdy po tym czasie nie objawi się nowa wersja mapy, to wymusić ponownie jej aktualizację.

Należy też zwrócić uwagę, że powyżej omawialiśmy aktualizowanie widoków mapy w dużych powiększeniach (powyżej Zoom Level 12). Mniejsze powiększenia są aktualizowane znacznie rzadziej - jak uzbiera się zmian i/lub zachodzi taka potrzeba (do aktualizacji małych powiększeń potrzeba znacznie więcej "zasobów" komputerów).

Najszybciej i najpewniej można wygenerować aktualną mapę za pomocą oprogramowania dostępnego w ramach projektu tiles@home. Nawet przy braku hasła umożliwiającego wysyłkę przerysowanych map na serwer jest to bardzo pomocne narzędzie, ponieważ po utworzeniu mapy off-line na lokalnym dysku, umożliwia autorowi zmian wychwycenie potencjalnych błędów, które powstaną podczas aktualizacji map na serwerze.

Uwaga: Zarówno oficjalny serwer, jak i oprogramowanie tiles@home korzysta z różnych wersji programów rysujących mapy! Np. oficjalna mapa na warstwie Mapnik aktualnie nie uwzględnia wielu obiektów jak np. mosty, wiadukty (ale robi to tiles@home). Oprogramowanie ciągle się rozwija i może dochodzić do znacznych różnic wyglądu mapy nawet w ramach jednej "rodziny" lub "wersji kodowej" oprogramowania (np. na skutek pracy różnych wersji oprogramowania tiles@home zainstalowanych na różnych komputerach w sieci).

Dane z UMP

Uwaga: obecnie nie jest zalecane importowanie danych z UMP ze względu na zmianę licencji.

Dane te potrafią być (względnie) bardzo nieprecyzyjne. Jeżeli w danej okolicy nie ma żadnych obiektów, można ich spokojnie użyć. Jeżeli jednak dana okolica zawiera już jakieś obiekty, to często okazuje się, że są one (na podstawie GPS lub podkładów) lepiej narysowane niż w UMP... W takiej sytuacji zawsze należy indywidualnie przeanalizować sytuację, a ew. działania ograniczyć do pojedynczych obiektów, których brakuje w OSM lub co do których mamy pewność, że są w UMP wrysowane dokładniej niż w OSM.