Pl:JOSM/Plugins/Tracer2

From OpenStreetMap Wiki
Jump to navigation Jump to search

Wtyczka Tracer2 dla aplikacji JOSM

Tracer2 jest JOSM wtyczką zaprojektowaną, w celu wyodrębnienia obszarów, głównie budynków, z planu (brak zdjęcia).

Wtyczka jest zasadniczo interfejsem aplikacji Tracer2Server, która pobiera grafikę z planu i wyciąga obszary. Czyli do jej działania jest niezbędne uruchomienie Tracer2Server.

Instalator Tracer2Server pod Windows można pobrać z: http://sourceforge.net/projects/tracer2server/

Dla Linux/OS X nie ma instalatora lub pliku binarnego dostępnego w tym czasie. Jednak opis jak stworzyć Tracer2Server ze źródła jest dostępny na tej stronie wiki.

Uruchomienie wtyczki

Po dodaniu wtyczki Tracer2 (Edycja -> Ustawienia -> Wtyczki -> Wtyczki -> Tracer2) ukaże się ikona Tracer2, u dołu, w bocznym, lewym menu Ustawienia.
Po kliknięciu na tę ikonę otrzymamy "Modify list of parameters for server request", klikamy u dołu na "Dodaj nowy". Po kliknięciu na niego wyskoczy okno z parametrami i będziesz proszony o wybór pożądanych parametrów.

Tworzenie zestawu parametrów WMS

W tym dialogu widoczne są tylko aktywne zestawy parametrów.
Jeśli jest tylko jeden zestaw parametrów, to zostanie on automatycznie aktywowany i dialog nie jest pokazany.
Zaleca się wybrać warstwę tła odpowiadający parametrowi zestawu Tracer2.

Po uruchomieniu Tracer2Server można rozpocząć wyciąganie obszar/budynek, klikając na dany obszar widoczny w warstwie tła.

Tworzenie prostego obszaru (budynku)

Istnieją dwa sposoby, aby to zrobić.

Sytuacja wyjściowa: Budynek z WMS-Layer "Germany-NRW-Building"

Metoda 1

Tworzenie nowego obszaru

Metoda 1 - Tworzenie nowego obszaru:

Jeśli klikniemy poza istniejącym obszarem, ale wewnątrz budynku przedstawionego na WMS-Layer, nowy obszar zostanie utworzony i oznaczony odpowiednim tagiem (pierwszy z listy parametrów utworzonej w menu Tracer2).
"Stary", już istniejący obszar (2) pozostaje bez zmian nie naruszony.

Metoda 2

Przekształcenie istniejących obszarów

Metoda 2 - przekształcenie istniejących obszarów

Obowiązkowe wymagania: Istniejący już obszar ma mieć ten sam znacznik, jak ten, który zostanie utworzony. W tym przypadku będzie building=yes.

Jeśli klikniemy wewnątrz już istniejącego obszaru to zostanie on przekształcony.
Oznacza to, że najpierw wszystkie stare węzły będą usunięte, a następnie nowe zostaną dodane, ale spowoduje to, że inne oznaczenia związane z danym obiektem zostaną usunięte.
W tym przykładzie, węzeł wejścia do budynku zostanie usunięty. Węzły, które należą do innych obiektów pozostaną, ale usunięte ze starego obiektu.

Wybieranie odpowiedniego tagu

Po utworzeniu nowego obiektu odpowiedni tag obiektu może zostać wybrany za pomocą klawiszy strzałek.
Można użyć ↑ ↓ aby wybrać żadną "wartość tagu" znanego w JOSM.
Preferowane wartości tagu mogą być wybrane przez ← → (np. building= yes/house/garage).

Tworzenie kolejnych obiektów

Wszystkie dodatkowe, nowo utworzone obiekty, są zawsze oznaczane ostatnio wybraną wartością tagu. ' 'Jeśli tworzymy szkołę, może się zdarzyć, że otrzymamy osadę pełną obiektów oznaczonych jako szkoła, jeśli nie zwracamy uwagi!

Tworzenie obiektów (budynków) z wewnętrznymi obszarami

Tracer2 building inner 0.png

Jeśli chcemy utworzyć, wtyczkę Tracer2, obiekty (budynki) z wewnętrznymi obszarami, obszar wewnętrzny musi być wcześniej utworzona.

Istnieją dwa sposoby, aby to zrobić:

Metoda 1

Tracer2 building inner 1.png

Gdy używasz trybu "match color" (dopasuj kolor), po prostu kliknij w obszarze wewnętrznym (1a).
W przypadku korzystania z trybu "boundary" (granica) ta metoda nie działa ponieważ obszar wewnętrzny zostanie rozpoznany jako granica.

Obszar wewnętrzny (1a) może być utworzony przez kliknięcie bezpośrednio poniżej tego obszaru(1b), ponieważ wtyczka Tracer2 zawsze szuka następnej granicy powyżej punktu kliknięcia.

Metoda 2

Tracer2 building inner 2.png

Po utworzeniu obszaru wewnętrznego (1a), obszar zewnętrzny (2) mogą być również utworzony przez kliknięcie bezpośrednio pod nim.
Wewnętrzne i zewnętrzne obszary mogą być połączone za pomocą relacji "MultiPolygon" po usunięciu wartości tagu w obszarze wewnętrznym.

Obszary sąsiadujące

Tracer2 2buildings.png

Nowo utworzony obiekt jest automatycznie połączony do istniejącego obiektu, jeśli jest oznaczony tym samym tagiem (np. building=yes).
To może jednak prowadzić do utworzenia błędnego obszaru, jeśli zbyt wiele punktów jest blisko siebie. One muszą być skorygowane ręcznie przed wysłaniem nowego zestawu zmian na serwer OSM.

Obszary z przerywaną linią zewnętrznej

Tracer2 building broken line.png

Obszary z zewnętrzną linią przerywaną (kreski, łańcuch kropek, ...) mogą być tworzone przy użyciu trybu "match color" (dopasuj kolor). Ale jeśli wewnętrzny kolor jest używany również jako "wypełnienie" przerywanej linii zewnętrznej, rozpoznanie nie będzie w stanie poprawnie odtworzyć obszar.

Uwaga: Nie zaleca się korzystania z wtyczki Tracer2 w celu importowania takich obszarów!

Ostrożnie, gdy klikamy poza obszarami

Najpierw serwer Tracer2Server próbuje znaleźć zewnętrzną linię obszaru powyżej pozycji kliknięcia.
Jeśli nie ma wyświetlanego komunikatu o błędzie, został utworzony nowy obiekt, który może znajdować się nawet poza widocznym obszarem!

Ograniczenia

Kwadratowe obszary o maksymalnej długości krawędzi 65,536.00 punktów, mogą być obsługiwane przez serwer Tracer2Server, gdy punkt początkowy jest w przybliżeniu w połowie.

Maksymalna powierzchnia może być obliczona według wzoru:
dLat = dLon = Rozmiar tile * 65536 / Rozdzielczość
dLat - odległość "Szerokości"
dLon - odległość "Długości"
czyli:
dLat = dLon = 0,0004 * 65536 / 2048 = 0,0128

Większe obszary mogą być obsługiwane poprzez dostosowanie ustawień "Wielkość kafelka" i "Rozdzielczość".

Ustawienia

Aby wyświetlić / zmienić ustawienia:
1. Otwórz menu ustawień JOSM, naciskając klawisz F12.
2. Wyświetlić ustawienia Tracer2 klikając odpowiednią ikonę' u dołu menu.
W tym menu żądane ustawienia serwera mogą być dodane, usuwane, edytowane i (de-) aktywowane.
Minimum jeden zestaw parametrów musi być aktywny, aby móc pracować z wtyczką.

Tracer2 - Parameter for server request -pl.png
Name
Nazwa ustawień żądanego serwera. Powinna wystąpić tylko raz. Na przykład:
Budynki - WMS mapy.geoportal.gov.pl
Opis
Opis parametru. Podobnie jak informacje o użytkowniku, żadna inna funkcja. Na przykład:
Zbiór budynków według mapy.geoportal.gov.pl
URL

Na przykład:

http://mapy.geoportal.gov.pl/wss/service/pub/guest/kompozycjaG2_TBD_WMS/MapServer/WMSServer?FORMAT=image/gif&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Bud_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}{header(User-Agent,Mozilla/5.0(JOSM)}

lub

http://mapy.geoportal.gov.pl/wss/service/pub/guest/G2_BDOT_BUD_2010/MapServer/WMSServer?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0,1,2,3,4,5,6,7,8,9,10,11&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}

Legenda: Opis poszczególnych kolorów znajduje się na portalu Geoportal2/Orto:

http://mapy.geoportal.gov.pl/imap/
Uwaga
Upewnij się, że nie kopiujesz danych z prawnie zastrzeżonych map.
Wielkość kafelka
Geograficzny rozmiar obszaru obrazu. (0.01 -0.0001)

Na przykład: 0.0004

Rozdzielczość
Rozdzielczość obrazu. (512-4096)

Na przykład: 1024

Tryb
"boundary" (granica) dla obszarów z "ciemnym" konturem.
"match color" (dopasuj kolor) dla obszarów kolorowych bez koloru "ciemnego".

Na przykład: boundary

Treshold
Poziom rozpoznawania (domyślnie 127). Dobiera się doświadczalnie zmniejszając liczbę odwzorowanych punktów na obwodzie.

Na przykład: 64

Points per circle
Maksymalna liczba punktów na okręgu. Łuki są automatycznie tworzone z mniejszą liczbą punktów, w zależności od kąta. (0-32, domyślnie 16)

Na przykład: 16

Tag
Tag dodawany się do oznaczenia nowego obiektu, np. building.
Preferred values
Preferowane wartości tagu. Obsługiwane są tylko wartości znane w JOSM.

Na przykład: yes;house;garage

Ustawienie Tracer2Server na Linux / Mac OS X

Tracer2Server został napisany w C#, jeden z języków programowania dla .NET Framework firmy Microsoft. Linux / Mac OS X mogą być kompilowany z kodu źródłowego za pomocą niezależnej .NET realizacji przedstawionej na Mono Project. Poniższa informacja zawiera opis krok po kroku, w jaki sposób stworzyć działający Tracer2Server zarówno pod Linux jak i Mac OS X.

Zauważ, że nie ma jeszcze obecnie do dyspozycji instalatora pod Linux / OS X.

Etapy przygotowania

Instalacja Monodevelop w rożnych systemach operacyjnych jest opisana tu: https://www.monodevelop.com/download

Linux

Poniższy opis zakłada posiadanie dystrybucji Ubuntu Linux.

1. Pobierz kod źródłowy Tracer2Server

 svn checkout http://svn.code.sf.net/p/tracer2server/code/ tracer2server-code

2. Zainstaluj Mono Framework

 sudo apt-get install mono-complete

3. Zainstaluj MonoDevelop (Mono development IDE)

W starszych wersjach Ubuntu wystarczy:

 sudo apt-get install monodevelop

W nowszych (np. 18.04 LTS) trzeba najpierw dodać odpowiednie repozytorium:

 sudo apt install apt-transport-https dirmngr
 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
 echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
 sudo apt update
 sudo apt-get install monodevelop

4. Uruchom MonoDevelop

 monodevelop

OS X

Tracer2Server na Mac OS X

Pliki źródłowe można pobrać jako plik skompresowany ze Tracer2Server strony projektu.
Zobacz: Code -> Download Snapshot

Dla samodzielnego MonoDevelop instalatora sprawdź następujący URL.

Kompilowanie Tracer2Server

Krok 2: Ustaw Framework docelowy

1. W Mono Develop - Menu: "File" -> "Open": Wybierz tracer2server-code/trunk/src/Tracer2Server.csproj
2. Kliknij prawym przyciskiem myszy na Tracer2Server w folderze projektu, kliknij w menu kontekstowym Opcje > Kompilacja > Ogólne i wybierz Struktura docelowa: .NET Framework 4 (w starszych wersjach: Options w menu kontekstowym, docelowy framework Mono / .NET 4.0 w okienku pod Create -> General)
3. Menu Uruchamianie > Uruchom bez debugowania (w starszych werrsjach: Run -> Start without debugger). Zakładając, że masz już zainstalowaną wtyczkę Tracer2 w JOSM, powinieneś być w stanie korzystać z Tracer2.
Po uruchomieniu projektu MonoDevelop automatycznie tworzy projekt oraz tworzy plik wykonywalny Tracer2Server.exe w katalogu tracer2server-code/trunk/src/bin/Debug. Program ten może być użyty do uruchamiania aplikacji Tracer2Server jako aplikacji niezależnej, tj. MonoDevelop nie jest już więcej potrzebne.
Wystarczy skopiować ten plik do odpowiedniego miejsca. Możemy także użyć "Create" -> "Tracer2Server" w menu, aby utworzyć plik ".exe".

Zobacz też