Pl:Zaawansowane edycje JOSM
Instalacja | Pierwsze kroki | Proste edycje | Zaawansowane edycje | Wtyczki | Wyszukiwarka | Częste pytania | ||||||||||||||
Zaawansowane edycje JOSM
Zapisywanie i ładowanie plików .osm
W większości przypadków prawdopodobnie będziesz musiał trzymać się pobierania danych i przesyłania swoich zmian. Po przesłaniu zmian "zapisałeś" skutecznie swoje zmiany. Co więcej, udostępniłeś swoje zmiany, aby inni mogli je zobaczyć na mapie i wprowadzić dalsze zmiany. OpenStreetMap to współpraca internetowa! Jednak JOSM może również pracować z plikami w lokalnym systemie plików, zapisując i otwierając pliki na/z lokalnego dysku. Działa to podobnie jak każda normalna aplikacja komputerowa.
Użyj menu Plik → Zapisz jako..., aby zapisać dane (i zmiany) w pliku na dysku lokalnym.
Użyj menu Plik → Otwórz..., aby otworzyć wcześniej zapisany plik do edycji lub przesłania z dysku lokalnego.
Format pliku JOSM jest XML reprezentacją danych OpenStreetMap w standardowym formacie OSM XML. JOSM rozszerza to nieznacznie do przechowywania szczegółów zmian w danych OpenStreetMap, czyli wszelkie zmiany, które nie zostały przesłane już w momencie zapisywania pliku. Jest to ważna funkcja, która oznacza, że JOSM może być używany jako edytor offline w następujący sposób:
Edycja offline
Gdy mamy połączenie internetowe ...
- Pobieramy obszar mapy (może to być jedno lub kilka ramek).
- Zapisujemy dane jako plik
.osm
na dysku lokalnym.
Gdy nie mamy połączenia internetowego ...
- Otwieramy plik
.osm
z dysku lokalnego. - Możemy otwierać ślady GPS i nakładać je na dane (może to również działać w trybie offline).
- Wprowadzamy zmiany, np. dodaj informacje lokalne, które zostały przechwycone podczas pomiarów.
- Zapisujemy zmiany z powrotem do pliku. Plik zawiera informacje o wszystkich zmianach, w tym o przenoszeniu i usuwaniu danych.
Gdy wrócimy do połączenia internetowego ...
- Otwieramy plik z dysku lokalnego na JOSM.
- Z menu Plik → Uaktualnij dane, aby ponownie pobrać obszary, w których pracowałeś. Rozwiązujemy wszelkie konflikty (patrz następna sekcja)
- Klikamy przycisk Przesyłanie danych, aby zapisać zmiany na serwerze OpenStreetMap.
Filtrowane danych
Możemy filtrować dane OpenStreetMap (np. za pomocą tagów, aby uzyskać ekstrakt tematyczny) poprzez manipulowanie plikami .osm
na dysku lokalnym przy użyciu narzędzi takich jak Osmosis, Osmconvert, Osmfilter lub przez żądanie filtrowania dane z wyspecjalizowanego API, takiego jak XAPI lub Overpass API.
Następnie można załadować filtrowane dane do JOSM. Może to być najlepszy sposób na obejrzenie ich, ale należy zachować ostrożność podczas edycji.
Nie należy usuwać ani przenosić żadnych węzłów bez uprzedniego wykonywania zwykłego niefiltrowanego pobierania, aby uzyskać wszystkie połączone elementy.
Rozwiązywanie konfliktów
Podczas edycji za pomocą JOSM istnieje szansa, że inne osoby będą mogły edytować ten sam obszar danych w tym samym czasie. JOSM pobiera dane tylko wtedy, gdy o to poprosisz, co oznacza, że możesz mieć dość długie sesje edycyjne, niekoniecznie zauważając potencjalne konflikty z innymi autorami. Ogólnie dobrym pomysłem jest regularne przesyłanie, jeśli możesz to zrobić, aby zmniejszyć szansę, a także wpływ wszelkich konfliktów. Ale dobrym nawykiem może być pobranie przed przesłaniem.
Akcja pobierania nie zastępuje zmian danymi z serwera. Nie musisz się martwić o utratę jakichkolwiek zmian, ale oznacza to, że masz szansę zobaczyć wszelkie zmiany, które inni użytkownicy mogli wprowadzić (lub nowe dane, które dodali) przed przesłaniem.
Oczywiście zmiany wprowadzone przez innych użytkowników są czymś, co powinieneś sprawdzić przed przesłaniem swoich. Jeśli inny użytkownik zmienił dokładnie ten sam element, który również zmieniłeś, JOSM zgłasza "konflikt". Na tym etapie jeszcze nie możesz przesłać swoich zmian. Jesteś zmuszony rozwiązać konflikty przed przesłaniem. Ta funkcja ma na celu pomóc Ci znaleźć obszary, w których zderzyłeś się z innymi użytkownikami. Pozwala wybierać i decydować, czy w każdym przypadku nadpisywać zmiany innych osób. Po rozwiązaniu konfliktów możesz przesłać swoje zmiany.
Włącz widoczność panelu konfliktu po prawej stronie. Tutaj są wymienione konflikty i możesz otworzyć okno, aby rozwiązać każdy z nich. Masz wybór, którą wersję zachować, swoją lub ich. Różne zakładki i ekrany mają na celu pomóc ci zrozumieć, co konkretne dane reprezentują w każdym przypadku. To może wydawać się nieco skomplikowane i niejasne, ale zawsze sprowadza się do prostego wyboru: zachowaj swoje lub ich. "Ich" odnosi się do bieżącego stanu danych na serwerze, który jest zmianą ze stanu elementu, w jakim był podczas początkowego pobrania, tj. wygląda na to, że ktoś inny edytował ten element.
Odklejanie i rozplątywanie
Na stronie Proste edycje JOSM opisaliśmy, jak edytować węzły i sposoby, a także operacje takie jak podziel/połącz i przywróć linie. Sprawy mogą być nieco bardziej skomplikowane, gdy dane są splecione, nakładane lub splątane w skomplikowany sposób, ale pamiętaj, że zawsze możesz spróbować wprowadzić zmiany, a następnie cofnąć kilka kroków do tyłu, jeśli coś nie działa. Możesz także tymczasowo przesuwać węzły, a nawet usuwać elementy, aby zrozumieć powiązania i nakładki, zanim cofniesz przywracanie danych. Oto kilka dodatkowych technik edycji:
Nakładające się linie, gdzie dwie lub więcej linii są narysowane dokładnie jedna na drugiej pomiędzy tymi samymi dwoma węzłami, może to nastąpić przez przypadek lub może być poprawną reprezentacją czegoś (dwie linie powinny normalnie się nie nakładać w ten sposób, ale możesz natknąć się na obszary użytkowania terenu z węzłami współdzielonymi z sąsiadującymi drogami). W takiej sytuacji może być konieczne wybranie jednej lub drugiej z zachodzących na siebie linii. Można to zrobić na różne sposoby:
- Środkowe kliknięcie odsłania menu kontekstowe pokazujące różne znaczniki wszystkich elementów pod myszą.
- Przytrzymanie Ctrl pozwoli ci kliknąć menu, aby zmienić wybór.
- Alternatywnie powtórzone środkowego kliknięcia spowoduje przełączenie wyboru.
- Jeśli nie masz środkowego przycisku myszy, przytrzymaj klawisz Alt po prawej stronie klawiatury i powtórz lewy przycisk myszy, aby przełączać wybór.
Odklejanie linii, jest opcją w menu Narzędzia. Jeśli dwie (lub więcej) linie są połączone w jednym węźle, ta opcja utworzy drugi węzeł, uwalniając jedną linię od drugiej. Zauważ, że zwykle skutkuje to "duplikatem węzła" (dwa różne węzły umieszczone dokładnie jeden na drugim) z zaznaczonymi obydwoma węzłami. Jako kontynuację lub po prostu, aby zrozumieć sytuację, możesz wyczyścić zaznaczenie, a następnie przeciągnąć tylko górny węzeł na jedną stronę. Powinieneś to zrobić, aby uniknąć pozostawienia duplikatu w danych. Są one zwykle uważane za złe, często powodując zamieszanie i problemy z łącznością. Dane te nie powinny być potrzebne. Akcja "odklejania linii" może być również użyta z wybranym elementem linii, aby wyciągnąć ją z dowolnego węzła, który współdzieli wzdłuż całej jej długości. Jeśli chcemy ponownie scalić takie węzły, należy użyć opcji Narzędzia → Połącz węzły – ale pamiętajmy, że powoduje to scalenie wszystkich węzłów, które są bardzo blisko.
Opisane tutaj funkcje są szczególnie przydatne do pracy ze złożonymi danymi. W menu Narzędzia jest kilka innych czynności, które można zainstalować za pomocą wtyczek.
Relacje
Relacje są rodzajem elementu, który może być używany do reprezentowania bardziej zaawansowanych rodzajów obiektów mapy i geodanych, takich jak ograniczenia tras i zakrętów. Elementy takie jak "węzły" i "linie" mogą być członami relacji. Relacje mogą być także członami innej relacji (hierarchia) Każdemu z nich można nadać nazwę dla "roli", a ogólna relacja otrzymuje tagi. Więcej informacji znajduje się na stronie Relacja.
JOSM zapewnia interfejs dający nadrzędność surowej edycji nad relacjami. Istnieje kilka sposobów uzyskania dostępu do głównego okna dialogowego relacji.
Panel relacji można być po prawej stronie. Włącz widoczność, klikając przycisk po lewej stronie. Panel zawiera listę wszystkich relacji w pobranym obszarze i zawiera przyciski do tworzenia, edytowania, duplikowania, usuwania i wybierania relacji.
Panel Znaczniki/Człony relacji
, którego zwykle używasz do przeglądania i edycji tagów, będzie również pokazywał relacje, tym razem tylko te z wybranego elementu.
Aby utworzyć zupełnie nowe relację, należy użyć panelu relacji, ale oba panele dają dostęp do okna edycji istniejących relacji. Główne okno edycji relacji jest podzielone na trzy obszary. U góry możemy edytować tagi relacji. W lewym dolnym rogu znajduje się lista elementów, które są członami, z kolumną dla ról. Lista jest uporządkowana (która może być lub nie istotna). W prawym dolnym rogu znajduje się lista wyboru elementów. Ta lista jest powiązana z wyborem elementów, który aktualnie masz w widoku danego tła. Dostosowujemy swój wybór w tle, aby wprowadzić elementy do listy, które następnie można dodać do relacji.
Tworzenie nowej relacji
- W panelu
Relacje
klikamy przycisk Tworzy nową relację. - W oknie
Tworzenie nowej relacji na warstwie ...
dodajemy odpowiednie tagi. - Dodajemy człony relacji oraz dodajemy odpowiednie role.
- Klikamy OK, aby zamknąć okno
Tworzenie nowej relacji na warstwie ...
. - Przykład wideo
Dodawanie nowego członu do relacji
- W głównym oknie wybieramy linie/węzły do dodania do relacji.
- Wybieramy wymaganą relację z listy relacji w panelu
Relacje
. - Klikamy przycisk
Otwórz wybraną relację w edytorze relacji
. - W oknie
Edytowanie relacji
wybieramy istniejącego członu (jeśli jest obecny), obok którego znajduje się nowy węzeł/linia i klikamy odpowiedni przyciskDodaj wszystkie prymitywy ...
w obszarze wyboru. - Klikamy OK, aby zamknąć okno
Edytowanie relacji
JOSM umożliwia sortowanie członów relacji i jest to zalecane w przypadku niektórych typów relacji. Na przykład relacje szlaków, wieloboki, ... Sortowanie członów pozwala zapewnić, że człony są połączone i zlokalizować wszelkie niepołączone ze sobą linie. Aby posortować elementy, kliknij przycisk A-Z w edytorze relacji.
Oficjalna dokumentacja relacji JOSM
To bardzo krótki opis edycji relacji w JOSM. Zobacz: Dokumentacja pomocy "Relacje", bardziej wyczerpujący opis tych funkcji.
Wcześniej zdefiniowane tagi
JOSM obsługuje wstępne ustawienia tagowania rozproszonego. Jest to plik konfiguracyjny XML, który opisuje GUI do wprowadzania tagów (lub właściwości, adnotacji, czasami nazywane Map features) dostępnych w menu Szablony w JOSM. Pliki XML można umieszczać w dowolnym miejscu w Internecie lub w lokalnym systemie plików użytkownika.
"Szablony" mogą być dodawane przez użytkowników w preferencjach JOSM Ustawienia
pod opcjami Ustawienia mapy w zakładce Szablony. Po dodaniu szablonów (menu lub pojedyncze przyciski) można teraz dodawać do paska narzędzi w preferencjach JOSM Ustawienia pod pozycją Pasek narzędziowy
.
Aby uzyskać więcej szczegółowych informacji, odwiedź następujące linki na http://josm.openstreetmap.de:
Istnieje wiele innych sposobów używania i dostosowywania JOSM wraz z różnymi wtyczkami JOSM. Aby uzyskać dodatkowe wskazówki i porady dotyczące używania JOSM, zobacz Zaawansowaną stronę trików i wskazówek
Wskazówki i praktyczne porady
- Mamy kilka przedmiotów nakładających się na siebie i nie widzimy ich poprawnie? Klikając środkowy przycisk myszy wyświetli nam się okno z wszystkimi obiektami pod myszą (na Apple / Mac OS X, ta umiejętność jest zależna od typu myszy. To nie wydaje się być możliwe za pomocą myszy z jednym przyciskiem. Wraz z Mighty Mouse kulka przewijania może być skonfigurowana jako "Przycisk 3" aby wykonać to zadanie.)
- Oprócz wcześniejszej sztuczki, jeśli przytrzymamy klawisz Ctrl (po kliknięciu środkowego przycisku myszy), to utrzyma się okno, w którym można wybrać obiekty z listy. Możliwe, że trzeba przytrzymać klawisz Alt oprócz klawisza Ctrl przy wyborze.
- Jeśli przytrzymasz klawisz Alt podczas usuwania linii, JOSM zachowa węzły tej linii.
- Używajmy okna poleceń, aby mieć oko na to co się dzieje. Jest to bardzo przydatne, ponieważ pomaga zauważyć, że przypadkowo przeniesiono linię, której nie zamierzaliśmy przenieść.
- Możemy szukać błędnie wpisanych tagów wybierając wszystko (Ctrl+A), a następnie patrząc na listę znaczników. Jeśli wybierzesz wiersz i wciśniesz "edyt", rozwijana lista zawiera wszystkie używane odmiany. Aktualnie NIE naciskajmy OK tutaj, ponieważ wszystko zmieni. Zamiast tego, należy użyć narzędzia wyszukiwania, aby znaleźć złe tagi.
- Funkcja wyszukiwania w JOSM jest bardzo obszerna. Możemy dopasować z klucz:foo i wartości:bar. Istnieją słowa kluczowe "wybranych" dla aktualnie wybranych obiektów, "zmodyfikowane" dla rzeczy zmienionych w tej sesji i "niekompletnych". Warunki można odwrócić dodając poprzedzający minus i używając symbolu | jako OR (LUB). Szczegóły są na Wyszukiwarka JOSM. Ściśle związana funkcja filtru pozwala ukryć niektóre dane, na przykład: source=JerzyK | note="bing hires imagery"
- Zobaczmy jakie ulice nie zostały oznaczone – szukając 'highway=* -name=*' i zobaczmy, co zostało podkreślone.
- Jeśli mamy komunikat o błędzie lub problem z linią/węzłem a znamy tylko identyfikator? Szukamy dla "id:<number>".
- Niektóre menedżery okien w systemie Linux (KDE, enlightenment) mogą złapać kombinację Alt-MouseButton. To może być bardzo niepokojące, jeśli chcesz utworzyć nową linię, która jest dołączona do innej. Można to obejść przez wcześniejsze kliknięcie przycisku myszy, a następnie wciśnięcie Alt, następnie zwolnienie przycisku myszy, a na końcu zwolnienie Alt. Czasami można również nacisnąć inny, nieużywany, modyfikator wraz z Alt aby zabezpieczyć menedżera okien przed uchwyceniem go.
- W przypadku kiedy domyślne ustawienie opóźnienia ruchu węzła staje się irytujące, może zostać zastąpione w zaawansowanych ustawieniach
edit.initial-move-delay
(w milisekundach, domyślnie200
) iedit.initial-move-threshold
(w pikselach, domyślnie15
). Obie te wartości mogą być wprowadzane w "Trybie eksperckim" w panelu 'Ustawienia -> Ustawienia zaawansowane'. - Mamy plik
.osm
, z którego chcemy usunąć jakieś elementy? JOSM normalnie nie usunie rzeczy, ale oznaczmy je "action = delete" w zapisanym pliku. Jeśli jednak najpierw zmienimy plik aby użył tylko negatywnych identyfikatorów ID (sed -e 's/id="/id="-/' lub podobnie), a następnie JOSM rzeczywiście usunie elementy które chcemy usunąć i zaktualizuje plik zredukowany kiedy będzie go zapisywał. Alternatywnie, można użyć XMLStarlet. - Jeśli szukamy przycisku "Odwróć zaznaczenie"? Używamy funkcji "szukaj" i wyszukujemy wyrażenia "-selected".
- Zapisujemy bieżącą sesję (jeśli potrzeba 5 minut, aby otworzyć wszystkie warstwy): w zaawansowanych ustawieniach (tryb ekspercki), zmieniamy atrybut "sesji" na "true" (bez cudzysłowów), a następnie uruchomiamy JOSM ponownie.
- Tworzymy adres URL bieżącej lokalizacji, którą edytujemy w JOSM klikając prawym przyciskiem myszy na długość/szerokość (znajduje się w dolnej, lewej części JOSM).
- Czy aby przypadkowo nie przesunęliśmy linii, a potem zdaliśmy sobie sprawę, że zapominaliśmy, gdzie początkowo była i nie chcemy, aby te zmiany zostały przesłane do serwera? Można to usunąć z lokalnej warstwy, ale NIE usuwać go z serwera. Aby to zrobić, wybieramy linię o której chcemy zapomnieć, a następnie naciskamy Ctrl+⇧ Shift+P. W JOSM jest to tzw oczyszczanie.
- Czy chcesz zmienić trochę wygląd Map Editor? Na przykład, aby zaznaczyć węzły bez znaczników na drogach, które nie mają żadnego powiązania pomiędzy różnymi liniami? Tworzymy trochę niestandardowy styl MapCSS i wstawiamy do JOSM. Rozwiązaniem przedstawionego przykładu. Więcej na temat stylów.
Nieregularne zakładki
JOSM posiada wbudowane wsparcie dla zakładek obejmując obszar prostokątny. Ale co, jeśli chcemy "zakładkę" dla skomplikowanego kształtu?
- Pobieramy ręcznie dane, które chcemy, w kilku etapach.
- Zapisujemy je do pliku
.osm
. - Otwieramy plik
.osm
w edytorze tekstu, usuwamy wszystkie węzły, linie i relacje, tak aby pozostała struktura składa się z jednego elementu <osm> i kilku zaledwie elementów <bounds>. - Należy przechowywać zmodyfikowany plik w bezpiecznym miejscu. Za każdym razem kiedy chcemy pobrać obszar, otwieramy plik i wybieramy "Update" z menu Plik.
Sztuczki geometryczne
Zaczynamy od utworzenia sensownej projekcję pod Ustawienia → Ustawienia mapy, takie jak Mercator.
- Obrót obiektów: wybieramy wszystko, co chcemy, aby obrócić, przytrzymujemy ⇧ Shift+Ctrl i klikając przeciągamy, aby obrócić.
- Chcemy naprawić zniekształcony obrys budynku tak aby wszystkie kąty miały 90°? Zaznaczamy go i naciskamy przycisk Q, skrót dla
ortogonalizacji obrysu.
- Upewnijmy się, że używamy projekcję taką jak Mercator. Jeśli używamy coś takiego jak WGS84, to obiekty zostaną zniekształcone podczas renderowania.
- Nie ma znaczenia, jaki to jest kształt – może być "F" kształt lub kwadrat – ale musi to być zamknięta linia i ma tylko dwa węzły na stronę (wszystkie kąty muszą być zbliżone do 90°, a nie do 180°).
- Możemy to zrobić w odniesieniu do linii. Najpierw zaznaczamy budynek/budynki, a następnie dodajemy dokładnie dwa pozostałe węzły do wyboru, w celu określenia linii względem której wszystko należy wyrównać. Następnie naciskamy Q i presto!
- Chcemy oddzielić dwie lub więcej linii, które mają taki sam węzeł? Zaznaczamy węzeł i naciśnij przycisk G, skrótu dla rozgrupowania obiektów.
- Dostajemy mnóstwo kopii oryginalnego węzła wszystkie w tym samym miejscu. Pamiętajmy, aby połączyć je wszystkie razem.
- Jeśli również wybierzemy jedną z linii, które dzielą wspólnie węzeł(y) przed rozgrupowaniem, następnie po rozgrupowaniu wyboru, zostanie zastąpiona jedną zawierającą tylko kopię, które zakończyła się w sposób wybrany.
Podręczne ciągi wyszukiwania
- Jeśli narysowaliśmy tylko kilka linii i chcemy szybko wybrać część z nich, dzięki czemu można oznaczyć je np.
highway=path
jednym zamachem, a następnie wyszukiwać: untagged type:way inview. - Aby wybrać linię którą zmodyfikowaliśmy na podstawie innego źródła niż oryginalnego, wykorzystujemy to: source (modified | new | user:myself).
- Jeśli zmodyfikowaliśmy kawałek wybrzeża i chcemy usunąć wszystkie oryginalne informacje źródłowe i stworzyć-według-tagu na węzłach które przesunęliśmy, wybieramy ten kawałek wybrzeża i wykonujemy: 'pgs modified child selected allindownloadedarea.