Úvod
Tento projekt jsem vytvořil jako pomůcku při zadávání bodů záchrany (BZ) na území ČR do Openstreetmap (OSM). Před lety jsem původně od Lesů ČR (jako zřizovatele bodů, v dnešní době spravuje body záchrany HZS ČR) obdržel kompletní seznam bodů záchrany po celé ČR. Jelikož licence, kterou mi k tomu poskytli, nesplňuje požadavky pro přímé zadání do OSM, rozhodl jsem se, že na to půjdu od lesa.
Vizualizace
Pro názornost jsou body, které chybí v OSM, zobrazeny pomocí služby uMAP červenou barvou. Body, které již v OSM existují, jsou vykresleny světle modrou. Problémové body jsou zobrazeny tmavě modrou barvou. Černou barvou jsou znázorněny body, které se nepodařilo v terénu dohledat.
Popis funkce
V seznamu LČR je obsaženo 2171 bodů záchrany ve formátu csv (stav je z roku 2020). Skript po načtení seznamu začne generovat dotazy, které odesílá na službu Overpass turbo. V OSM existují dva způsoby značení bodů záchrany, a to:
Pro jeden bod se tedy odesílají dva dotazy. Jelikož délka jednoho dotazu je omezená, proto jeden dotaz obsahuje maximálně 20 bodů. Dotaz je proveden tak, že server vrátí všechny body záchrany v okruhu 100 m od zadané souřadnice. Seznam odeslaných dotazů se ukládá do souboru comm_wr.txt.
- Všechny nalezené body se ukládají do souboru OSMBZ.csv.
- Nalezené body, které mají problém s hodnotou REF (např. hodnota chybí nebo neodpovídá seznamu LČR), jsou uloženy do souboru OSMbodychybejiciref.csv. Co jsem zatím zjistil, tak většina chbějících REF se nachází pod hodnotou NAME, takže to se dá opravit od stolu. Dále jsou zde body se vzdáleností větší než 100 m od souřadnice převzaté od LČR. Pro zajímavost je vypočtená vzdálenost těchto bodů uložena do souboru dist.txt (uvedené vzdálenosti jsou v metrech).
- Body, které je potřeba do OSM doplnit, se ukládají primárně do OSMbodybezref.csv bez hodnoty REF. Následně jsou pro lepší přenositelnost převedeny do formátu gpx (stáhnout gpx) a geojson .
- Body, které se nepodaří v terénu dohledat, se do mapy zanesou s klíčem removed:highway=emergency_access_point (hodnotu REF nechat prázdnou), takto označené body budou nasledně zapsány do souboru BZneni.csv.
Script se spouští každých 24 hodin.
Zdávání bodů záchrany
Pro práci offline lze stáhnout gpx soubor s body, které je třeba do OSM doplnit. V OSM existují dva způsoby zadávání bodů záchrany viz výše. V obou případech je potřeba vyplnit hodnotu REF viz příklad zde. Hodnota REF se vždy skládá ze dvou písmen a tří číslic a měla by se vyplňovat bez mezer a prázdných znaků. Naopak nuly je třeba zapsat všechny. Pozor je třeba dávat u zadávání bodů v Osmandu, kde při zadávání highway=emergency_access_point je přednastavena pouze hodnota NAME.
V ideálním případě by bylo vhodné pořídit fotografii bodu a nahrát ji do Fody, protože LČR nemá v těch bodech úplný pořádek, takže by se mohlo stát, že číslo bodu v reálu bude jiné než to na seznamu.
V případě, že v se reálu na zadané souřadnici bod záchrany nenachází, pošlete jeho souřadnice mě (případně do sekce issues). Předpokládám, že by takových bodů nemělo být moc.
Značení bodú záchrany v terénu
Na sereveru openstreetmap.org se standartně body záchrany nevykreslují - ukázka.
Server openstreetmap.cz bod záchrany "vykresluje" v případě, že je nahraná jeho fotografie ve Fody - ukázka.
Aplikace Osmand body záchrany vykresluje standardně - ukázka
Statistika
Skript vytváří soubor statistika.csv, kam se ukládají tyto hodnoty: datum, celkový počet bodů v OSM a přírůstek. Do tohoto souboru je hodnota zapsána jen pokud se počet bodů v OSM zvýšil. Tyto hodnoty jsou také zpracovány pomocí koláčového diagramu, kde je stav BZ znázorněn v procentech a ve sloupcovém grafu kde jsou znázorněny přírůstky v jednotlivých dnech.
Stahování souborů
GPX soubory:
- Body záchrany chybějící v OSM: OSMbodybezref.gpx
- Problémové body záchrany: OSMbodychybejiciref.gpx
Poděkování
Rád bych poděkoval uživateli mahdi1234 za inspiraci jeho projektem na tříděný odpad a za jeho cenné rady.