Akce

Sbírka tipů a triků pro OpenStreetMap

Z JiříKomárek.net

OpenStreetMap je svobodná mapa světa, která je tvořeny dobrovolníky pod svobodnou Open Data Commons Open Database License. Díky tomu ji může každý editovat (webové rozhraní, off-line editory, editory pro chytrý telefon, ...).

Smazání prázdných nodů pomocí editoru Merkaartor

Pokud během svých editací narazíte (například pomocí nástroje na kontrolu chyb KeepRight) na větší množství nodů, které nemají žádný tag, lze je hromadně smazat pomocí editoru Merkaartor. První si stáhnete požadovanou plochu, na které se prázdné nody nacházejí. Pak přidáte nový filtr pomocí "Layers" -> "Add new Filter layer". Zobrazí se vám nová vrstva v levém horním okně pod vrstvou stažené mapy. Dvakrát na tuto vrstvu klepnete a zobrazí se vám malé okno, kde jsou dvě vstupní pole. Jméno není třeba vyplňovat/měnit (ale můžete), nicméně do pole "Filter" zadejte hodnotu[1]

not (Type is Node) or Parent(Type is Way or Type is Relation) or [*] is *

a klikněte na tlačítko OK. Poté tuto vrstvu zneviditelněte kliknutím na oko vlevo od ní, díky čemuž uvidíte jen ty nody, které mají prázdnou hodnotu. Pozor! Můžete však stále označovat všechny body. Proto nyní klikněte pravým tlačítkem myši na tuto novou vrstvu a zadejte "Readonly", čímž docílíte toho, že označovat půjdou už jen prázdné body. Ty tedy tažením myši přes oblast kde leží označíte a pomocí tlačítka delete smažete. Výslednou změnu poté nahrajete na server pomocí tlačítka "Upload".

Samotné prázdné nody vznikají často použitím právě editoru Merkaartor, který pokud mažete nějaký objekt, který má svoji část i v oblasti, kterou jste si nestáhli, odmítne v těchto nestažených oblastech smazat nody k němu patřící, neboť neví, zda-li nejsou vázány na nějaké další cesty. Dávejte si tedy pozor při mazání větších objektů, abyste jej měli vždy celý ve stažené oblasti.

Jak vynutit renderování pole v OpenStreetMap

Vytvoříme-li v OpenStreetMap nějakou změnu (nebo byla-li od posledního renderování nějaká změna provedena) a při větších zoomech se nezobrazuje, lze vynutit nové renderování ručně. Klikneme pravým tlačítkem myši na políčko, které chceme znovu vyrenderovat a dáme "Zobrazit obrázek" ("View Image"). V okně prohlížeče se nám zobrazí jen to políčko a v adresním řádku jeho adresa. V ní jsou různé informace, například kdy bylo naposled přerenderováno. Chceme-li provést renderování okamžitě, dáme za adresu řetězec "/dirty" (až za .png, tj. výsledek bude vypadat xxx.png/dirty) a stiskneme Enter. Měla by se zobrazit hláška "Tile submitted for rendering", což znamená, že náš požadavek byl přijat. Nyní se stačí vrátit zpět na mapu a do minuty by měla být změna viditelná (po obnovení stránky).[2]

Jak spojovat překrývající se plochy v JOSM

Vytvoříte-li nějakým způsobem v JOSM dvě plochy, které se překrývají a chcete-li je spojit (například když používáte plugin Tracer), je možné tak učinit pomocí pluginu BuilingsTools. Ten nainstalujte do JOSM přes "Edit" -> "Preferences" -> "Configure available plugins", vyhledejte plugin "Building Tools" a nainstalujte jej. Poté musíte restartovat JOSM, aby plugin začal fungovat. Poté postupujte následovně:

  1. Vytvořte si několik ploch, které budou mít alespoň jednu překrývající se plochu. To se vám podaří například když budete vytvářet budovy pomocí výše zmíněného pluginu Tracer
  2. Označte všechny plochy (budovy), které chcete spojit. Dělejte tak pomocí nástroje pro výběr za současného držení tlačítka "Shift" při výběru jednotlivých oblastí
  3. Spojte vybrané plochy pomocí klávesový zkratky "Shift + J"
  4. Smažte zbytečné body, například ty, které jsou na jinak rovné hraně, ale vznikly v místech, kde byl původně začátek druhé budovy
  5. Hotovo :-)

Podobného efektu lze dosáhnout pomocí editoru Merkaartor, který má funkci "Join areas" již v základní instalaci. Narozdíl od pluginu BuildingTools v JOSM však Merkaartor neumí tímto způsobem vytvářet polygony.

Reference

  1. http://nezmar.jabbim.cz/logs/openstreetmap@conf.netlab.cz/2013/03/14.html
  2. https://wiki.openstreetmap.org/wiki/Slippy_Map#OpenStreetMap_.22Standard.22_tile_server