DE:JOSM/Plugins/Tracer2
Beschreibung
Mit dem Plug-in Tracer2 können Flächen aus Grafiken (keine Photos) extrahiert werden. Wobei hier besonders Wert auf Gebäude gelegt wurde. Das Plug-in benötigt den Tracer2Server. Er lädt die Grafiken herunter und extrahiert die Flächen.
Eine Version für Windows kann hier herunter geladen werden. Für andere Betriebssysteme (Linux und OS X) wird weiter unten auf dieser Wiki-Seite Schritt für Schritt erklärt, wie eine lauffähige Version erstellt werden kann.
Tracer2Server unter Linux / OS X einrichten
Der Tracer2Server wurde in der Programmiersprache C# entwickelt, die zum Microsoft .NET Framework gehört. Für Linux bzw. Mac OS X stellt das Mono Project eine unabhängige Implementierung zur Verfügung. In den folgenden Schritten wird beschrieben, wie ein lauffähiger Tracer2Server auch für diese Betriebssysteme erstellt werden kann.
Bisher gibt es noch keinen Installer für Linux / Mac OS X.
Vorbereitung
Linux
Nachfolgende Schritte wurden mit einer aktuellen Ubuntu-Distribution erstellt.
1. Download Tracer2Server Quellcode
svn checkout http://svn.code.sf.net/p/tracer2server/code/ tracer2server-code
2. Mono Framework installieren
sudo apt-get install mono-complete
3. MonoDevelop installieren (Grafische Entwicklungsumgebung für Mono)
sudo apt-get install monodevelop
4. MonoDevelop starten
monodevelop
OS X
Die Quelldateien können als komprimiertes Archiv auf der Projektseite unter Code -> Download Snapshot heruntergeladen werden. Dadurch entfällt der Schritt 1 aus dem Linux-Teil (Download via svn).
Für OS X steht MonoDevelop als eigenständiger Download unter folgender Adresse zur Verfügung.
Tracer2Server erzeugen
1. Im Mono Develop - Menu: "Datei" -> "Öffnen": tracer2server-code/trunk/src/Tracer2Server.csproj wählen
2. In der ProjektMappe auf den Eintrag Tracer2Server rechtsklicken und auf Optionen klicken. Dann im Popup unter Erstellen -> Allgemein als Ziel-Framework Mono / .NET 4.0 wählen
3. Im Menü -> Ausführen -> Ohne Debugger starten.
Wenn in JOSM dann noch das Tracer2 Plugin installiert wurde, sollte es klappen.
Beim Ausführen in MonoDevelop wird eine ausführbare Datei Tracer2Server.exe im Verzeichnis tracer2server-code/trunk/src/bin/Debug erzeugt. Diese Datei kann zukünftig direkt aufgerufen werden (mono pfad/zu/Tracer2Server.exe
). Ein vorheriges Starten von MonoDevelop ist dann nicht mehr erforderlich.
Am besten diese Datei an einen passenden Ort kopieren (z.B. ~/bin oder ähnliches). Übrigens: Diese ausführbare Datei lässt sich auch über Menü -> Erstellen -> Tracer2Server erstellen erzeugen.
Optional: Wenn statt "Debug" die "Release"-Version erzeugt werden soll, so muss man im Menü -> Projekt -> Active Konfiguration -> "Release" wählen und über die Taste [F7] (oder Menü -> Erstellen -> Tracer2Server erstellen) den Tracer2Server neu erstellen. Die ausführbare Datei findet sich in diesem Fall statt in .../bin/Debug in .../bin/Release.
Plug-in aktivieren
Nach Aktivieren des Plug-in Tracer2 über das Menü Werkzeuge 2/Tracer2 wird man zunächst gebeten in einem Dialog den gewünschten Parametersatz auszuwählen, wobei nur aktive Parametersätze angezeigt werden. Wenn nur ein aktiver Parametersatz aktiv ist wird dieser automatisch verwendet und der Dialog nicht angezeigt.
Für die Erfassung der Flächen empfiehlt es sich die Hintergrundebene entsprechend dem Parametersatz zu wählen. Nachdem das Programm Trace2Server gestartet wurde kann man durch Anklicken der Flächen diese erfassen.
Einfache Flächen (Gebäude) erstellen
Dabei gibt es generell zwei Methoden.
Ausgangssituation: Gebäude aus WMS-Layer „Germany-NRW-Building“
Methode 1 – neue Fläche erzeugen:
Klickt man außerhalb der bereits vohandenen Fläche in das zu zeichnende Gebäude des verwendeten WMS-Layers, wird eine neue Fläche erzeugt und mit dem gewünschten „Schlüssel“ versehen.
Die „alte“, bereits vorhandene Fläche (2) bleibt unverändert.
Methode 2 – alte Fläche transformieren:
Voraussetzung: Die bereits vorhandene Fläche muss mit dem gleichen „Schlüssel“ versehen sein, wie die zu erzeugende Fläche. In diesem Fall building=*
Klickt man in eine bereits vorhandene Fläche wird diese transformiert. Hierzu werden zunächst alle alten Punkte entfernt und anschließend neuen Punkte hinzugefügt.
Dies hat allerdings zur Folge das etwaige Eigenschaften der Punkte verloren gehen. In diesem Beispiel wird werden die Eingänge des Gebäudes entfernt. Punkte die zu anderen Objekten gehören bleiben erhalten, werden jedoch vom alten Objekt entfernt.
Gewünschten Schlüssel auswählen:
Nachdem das neue Objekt erstellt wurde kann, wenn die Fläche selektiert bleibt, mit Hilfe der Pfeiltasten der gewünschte Schlüssel ausgewählen werden.
Mit den Tasten ↑↓ kann zwischen allen in JOSM bekannten „Schlüssel-Werten" umgeschaltet werden. Die Tasten ←→ schalten zwischen den bevorzugten Werten (z.B. building= yes / house / garage) um.
Weitere Objekte erstellen:
Weitere, neu erstellte Flächen werden immer mit dem zuletzt angewählten Schlüssel-Wert erstellt. Achtung, es kann sehr leicht passieren, dass man ein Dorf voller Kathedralen erzeugt, wenn man vergisst den Schlüssel nach der Erzeugung einer Kathedrale zu ändern!
Objekte (Gebäude) mit innerem Bereich erstellen
Zum Erstellen von Objekten mit einem inneren Bereich muss erst der innere Bereich erstellt werden.
Hierfür hat man zwei Möglichkeiten.
Man erstellt die innere Fläche (1a), indem man in diese Fläche klickt.
Im Mode „boundary“ ist das nicht möglich, wenn die innere Fläche schwarz ist, da diese Fläche dann als Rand erkannt wird.
Ist die innere Fläche schwarz, klickt man zunächst direkt unterhalb der Fläche (1b). Der „Tracer2“ sucht immer oberhalb der Klickposition nach dem Rand der neu zu erstellenden Fläche. So wird der Rand der Fläche (1a) gefunden und die entsprechende Fläche erstellt.
Zum Erstellen der äußeren Fläche (2) klickt man in diesem Fall ebenfalls direkt unter diese.
Nach Entfernen des Schlüssel-Werts der inneren Fläche können die beiden Flächen über ein Relation „Multipolygon“ zu einer Fläche (hier Gebäude) verbunden werden.
Nebeneinander liegende Flächen
Eine neu erstellte Fläche wird automatisch mit einer Flächen verbunden wenn diese den gleichen „Schlüssel“ besitzt. Dabei kann es aber, wenn mehrere Punkte dicht zusammen liegen, zu Fehlern kommen. Diese müssen von Hand vor dem hochladen korrigiert werden.
Flächen mit unterbrochener Linie
Flächen die durch eine unterbrochene Linie (gestichelt, Strichpunkt usw.) umschlossen werden könne mit „match color“ erfasst werden. Falls jedoch die innere Farbe auch als „Füllfarbe“ des unterbrochenen Rands dient, kommt es zu Fehler bei der Bestimmung der Fläche.
Es wird dann davon abgeraten solche Flächen automatisch zu erfassen!
Achtung beim klicken außerhalb von Flächen
Der Server versucht als erstes oberhalb des Startpunkts den Rand einer Fläche zu finden. Wenn keine Fehlermeldung eingeblendet wird wurde auch eine Fläche erstellt. Diese kann allerdings außerhalb des Sichtbereichs sein.
Einschränkungen
Der Server kann eine quadratische Fläche mit eine maximalen Kantenlänge von 65.536 Punkten verarbeiten, wobei der Startpunkt ungefähr in der Mitte liegt. Die maximale Fläche lässt sich wie folgt berechnen.
dLat = dLon = Tile size * 65536 / Resolution
dLat = dLon = 0,0004 * 65536 / 2048 = 0,0128
Sollte die Fläche diesen Bereich überschreiten ist ein Erfassen nur möglich, wenn die Parameter „Tile size“ und „Resolution“ angepasst werden um die Fläche zu vergrößern.
Einstellungen
Zum Anzeigen der Einstellungen
1. Öffnen des Einstellungsfensters von JOSM durch Drücken auf Menü Bearbeiten/Einstellungen.
2. Anzeigen der Einstellungen von Tracer2 durch Drücken auf das Symbol
Hier können Einstellungen für eine Serveranfrage hinzugefügt, entfernt, bearbeitet und aktiviert werden. Um mit dem Plug-in arbeiten zu können sollte mindesten eine Einstellung aktiviert sein.
Name:
Name der Parameter für eine Serveranfrage. Er sollte nur einmal vorkommen.
Beschreibung: Beschreibung der Parameter. Hat sonst keinerlei Bedeutung
Adresse: Link über den die Grafikteile (Tile) heruntergeladen werden. Kann aus „WMS TMS / Gewählte Einträge / Bilddienst-URL“ übernommen werden. Achtung: Es darf nur Kartenmaterial verwendet werden das für OSM freigegeben ist. Es wird nur WMS unterstützt, kein TMS.
Tile size: Geografische Ausdehnung eines Image.
Resolution: Auflösung eines Image.
Mode: „boundary“ für Flächen mit dunklem Rand. „match color“ für Flächen mit farblicher Abgrenzung.
Threshold: Schwellwert zum Abgrenzen der Bereiche. (todo: bitte näher erläutern)
Points per circle: Anzahl der Punkte aus denen ein Kreis besteht. Kreisbögen werden entsprechend ihrem Kreisanteil mit weniger punkten dargestellt.
Tag: Schlüssel der zum neuen Weg hinzugefügt wird.
Preferred values: Bevorzugte Werte des Schlüssel. Es werden nur Werte unterstützt die JOSM bekannt sind.
Unterstützte WMS-Layer
In dieser Liste sind WMS-Layer einzutragen, die a) von Tracer2 unterstützt werden und b) ein Abzeichnen erlaubt ist.
Name | Beschreibung | Adresse | Tile Size | Resolution | Mode | Threshold | Points per circle | Tag | Preferred values |
---|---|---|---|---|---|---|---|---|---|
Germany - NRW - Building | Nicht mehr verfügbar seit 01.06.2015 | wms:http://www.wms.nrw.de/geobasis/wms_nw_alk_vektor?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nw_alk_vektor_gebaeude&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox} |
0.0004 | 2048 | boundary | 127 | 16 | building | yes;house;garage |
Germany - NRW - Building | ab 01.06.2015 - an neue url angepasst (ggfls. mit Tile Size, Resolution und Threshold experimentieren) | wms:http://www.wms.nrw.de/geobasis/wms_nw_alkis?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=adv_alkis_gebaeude&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
|
0.0002 | 1024 | match color | 80 (ggf. größer wählen, wenn zuviele Nodes erzeugt werden) | 16 | building | yes;house;garage |
ORKA M-V | Manchmal Ausreißer | wms:http://geo.sv.rostock.de/geodienste/stadtplan/wms?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=stadtplan_notext&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}
|
0.002 | 512 | match color | 20 | 16 | building | yes;house;garage |
|