Cs:JOSM/Plugins/Tracer

From OpenStreetMap Wiki
Jump to: navigation, search
Dostupné jazyky — JOSM/Plugins/Tracer
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen Kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk bokmål norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português português do Brasil română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
Tracer plugin.png

Tracer je plugin umožňující trasování objektů (hlavně budov) z české katastrální mapy na jedno kliknutí. Repozitář SVN najdete na assembla.com.

Plugin závisí na serveru, který musí běžet. Server ke svému běhu vyžaduje .NET nebo Mono framework:

Instalace a prvotní spuštění

  1. stáhněte si server (na Linuxu vyžaduje mono-2.0 a knihovnu libgdiplus)
  2. rozbalte (unzip) do adresáře (budou do něho ukládána zpracovávaná data)
  3. spusťte jediný soubor archivu, v příkazové řádce se objeví textová informace o jeho běhu
  4. stáhněte si JOSM
  5.  v "Upravit/Nastavení/Plugin" JOSM aktivujte "Tracer" a "WMSplugin"
  6. restartujte JOSM
  7. v "Upravit/Nastavení/WMSplugin" přidejte pomocí Kopírujte výchozí zvolené hodnoty "český CUZK:KM" a "český UHUL:ortofoto"
  8. stáhněte si váš zájmový prostor České republiky z "OSM serveru Soubor/Stáhnout z OSM"
  9. nastavte si kolečkem myši měřítko mapy na 15m (levá horní část mapového prostoru JOSM) a přidejte vrstvu KM kliknutím na "WMS/český ČUZK:KM"
  10. nastavte si kolečkem myši měřítko mapy na 100m a přidejte vrstvu UHUL kliknutím na "WMS/český UHUL:ortofoto"
  11. na pravé straně JOSM je seznam aktivní vrstev, klikněte pravým tlačítkem na vrstvu UHUL nebo KM a zaškrtněte "Alfa kanál"
  12. po zobrazení leteckých snímků a katastrální mapy vyhledejte budovu
  13. v menu Nástroje vyberte Trace
  14. klikněte do volné plochy uvnitř domu
  15. čekejte na dokončení stopování...
  16. v JOSM je nově vykreslen obrys budovy

Linuxová instalace a spuštění serveru:

mkdir tracerserver
cd tracerserver
wget http://osm.templ.net/TraceServer-7.2.zip
unzip TraceServer-7.2.zip
mono Osm.Kn.Trace.Server.exe

Ovládání JOSM pluginu Tracer

Plugin přidává nový editační mód, který se aktivuje stisknutím klávesy T, poté se kliknutím do mapy vyplní prázdná oblast na katastrální mapě budovou. Pokud je v těsném okolí jiná budova, plugin obě automaticky spojí.

Klávesové modifikátory

  • Ctrl slouží k potlačení automatického spojování
  • Alt nepřidá tag building
  • Shift přidá nově trasovaný objekt do výběru místo toho, aby byl původní výběr nahrazen

Dopracování výsledků

  • slučujte dva obrysy do jednoho pomocí "Nástroje/Spojit překrývající se plochy"
  • pro opravení tvaru do přísně pravoúhlého použijte "Nástroje/Ortogonalizovat tvar"
  • instalujte plugin "Multipoly" a použijte "Nástroje/Vytvořit mulipolygon" pro vytvoření děr do obrysu (např. dvorů uvnitř uzavřených budov)


Trace server

Server je třeba spustit před započetím vlastního trasování. Server si ukládá do aktuálního adresáře stažené dlaždice z WMS KN, proto je vhodné server spouštět v adresáři, kde nic jiného není.

Server poslouchá na portu 5050. Plugin posílá serveru HTTP GET požadavky ve tvaru:

http://localhost:5050/trace/simple/[longitude];[latitude]

kde místo [longitude] a [latitude] je doplněná skutečná pozice bodu, kam uživatel kliknul. Používá se desetinná tečka.

Server vrátí "stránku", která obsahuje seznam bodů, které tvoří v tomto pořadí polygon trasované budovy.

lon1;lat1|lon2;lat2|atd.

Prefetch

Defaultně když se v traceru klikne, stahují se dlaždice s okolí 0.001 stupně kolem kliklého bodu. Pokud je nenulový prefetch, tak po stažení a vytrasování budovy začne na pozadí dotahávat dlaždice v okolí 0.001 + hodnota nastavení prefetch. Může běžet jen jedno dotahávání na pozadí najednou, takže pokud se dá příliš vysoký prefetch, tak než to dotahá zadaný velký čtverec, tak už člověk může být jinde. Rozumné hodnoty odhadem jsou mezi 0.001 a 0.003. 0.0015 jsem dal jako default.

Pluginy

(TODO)

Nejnovětší verze je pluginovatelná. Tracer najde hraniční pixely trasované oblasti a udělá z nich polygon. Tento polygon ale obsahuje stovky či tisíce bodů a je třeba jej znednodušit. Proces zjednodušení již dělá pipeline pluginů, které dostanou na vstupu polygon, původní hranici a přístup k bitmapě). Podle toho vygenerují nový (zjednodušený) polygon.

TracePoint[] Filter(TracePoint[] points, IPointSetFilterContext context)

points ... vstupní polygon context ... obsahuje dvě vlastnosti:

  • TracePoint[] OriginalPoints ... původní body polygonu (bez zpracování pluginy)
  • byte[][] BitData ... bitmapa po provedení trace

Pořadí pluginů a jejich parametry je možné nastavovat v konfiguračním souboru.


Existuje i další typ pluginu, který upravuje přímo bitmapu před trasováním. Lze tím např. zacelit menší díry, aby oblast byla uzavřená apod. Příklad takového pluginu:

http://jabi.aspone.cz/osm/TraceServerSamplePlugin.zip