<div dir="ltr"><div><div><div>Ahoj,<br><br></div>úplnÄ› k původnímu tvému problému: kamarád zpracovává (vlastními silami!) tohle: <a href="https://skolajih.cz/smerovky/">https://skolajih.cz/smerovky/</a><br></div>Jsou to ručnÄ› pÅ™epsaný rozcestníky do tabulek, transformovaný do RDF, ze kterýho se následnÄ› generujou ty náhledy. Je to včetnÄ› historie. DÄ›lá na tom teď v rámci diplomky. Vidím prostor pro spolupráci. NetÅ™eba OCRkovat, jakmile už existuje strojovÄ› Äitelná podoba ;-)<br><br></div>H.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2018-01-06 21:04 GMT+01:00 Jan Skala <span dir="ltr"><<a href="mailto:speirs@email.cz" target="_blank">speirs@email.cz</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ahoj,<br>
<br>
chtÄ›l jsem se zeptat, co je zač "Detekce z fotek" na <a href="http://osm.fit.vutbr.cz/OsmHiCheck/" rel="noreferrer" target="_blank">http://osm.fit.vutbr.cz/OsmHiC<wbr>heck/</a><br>
<br>
Ptám se proto, Å¾e jsem nÄ›jakou dobu strávil na způsobem detekce v datech (spíše ve fotografiích) zcela chybÄ›jících rozcestníků. Dám to sem jen do zápisu, protože by se to mohlo tÅ™eba hodit, nebo nÄ›koho jiného by nÄ›co napadlo.<br>
<br>
Způsob jak najít chybÄ›jící rozcestník je celkem jednoduchý. Porovnat naÅ¡i mapu s nÄ›jakou turistickou a najít ty, které nám chybí, vypravit se tam a zmapovat. Jenže já mám rád vÄ›ci strojovÄ› zpracované a tak jsem vymyslel následující systém, který využívá naÅ¡e fotky. Krok 1: rozepsat každý rozcestník do XML, krok 2: projít každý rozcestník a zjistit, jestli jeho cíle (položky na tabulkách) existují jako samostatné rozcestníky, pokud ne, tak vypsat.<br>
<br>
Krok 2 je celkem jednoduchý, je to nÄ›jaké XQuery, které má pro formát XML, který jsem stanovil takovouhle podobu:<br>
<br>
for $dest in timy/tim/cil order by number($dest/@vzdalenost)  let $match := timy/tim/jmeno[lower-case(text<wbr>()) eq lower-case($dest/@jmeno)] let $malt := timy/tim/alt[lower-case(text()<wbr>) eq lower-case($dest/@jmeno)] return if (not($match) and not($malt)) then concat($dest/@jmeno,' ',$dest/@vzdalenost,' km od ',$dest/parent::*/jmeno/text()<wbr>,', ',$dest/parent::*/@id,'&#xa;') else null<br>
<br>
Samotné XML vypadá takhle:<br>
<br>
<timy><br>
  <tim cislo="761" id="PJ761" oblast="PJ"><br>
    <jmeno>Neslívský ryb. (rozc.)</jmeno><br>
    <alt>Neslívský rybník (rozc.)</alt><br>
    <cil vzdalenost="0.5" jmeno="Neslívský rybník"/><br>
    <cil vzdalenost="2.5" jmeno="Potoky (háj.)"/><br>
    <cil vzdalenost="16.5" jmeno="MiroÅ¡ov (nám.)"/><br>
    <cil vzdalenost="1" jmeno="Pod Lopatou"/><br>
    <cil vzdalenost="7.5" jmeno="NezvÄ›stice (ŽST)"/><br>
    <cil jmeno="Hádek háj. (rozc.)" vzdalenost="1"/><br>
    <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="4"/><br>
    <cil jmeno="Kornatice (ŽST)" vzdalenost="8"/><br>
    <cil jmeno="Hádecký potok" vzdalenost="1"/><br>
    <cil jmeno="Lopata zříc. (rozc.)" vzdalenost="1.8"/><br>
    <cil jmeno="Lopata (zříc.)" vzdalenost="2"/><br>
  </tim><br>
  <tim cislo="750" id="PJ750" oblast="PJ"><br>
    <jmeno>Lopata (zříc.)</jmeno><br>
  </tim><br>
  <tim cislo="641" id="PJ641" oblast="PJ"><br>
    <jmeno>Pod Lopatou, rozcestí</jmeno><br>
    <alt>Pod Lopatou (rozc.)</alt><br>
    <cil jmeno="Kozel (kemp)" vzdalenost="3"/><br>
    <cil jmeno="Šťáhlavy (ŽST)" vzdalenost="5"/><br>
    <cil jmeno="Šťáhlavy (nám.)" vzdalenost="6"/><br>
    <cil jmeno="Varta" vzdalenost="4"/><br>
    <cil jmeno="NezvÄ›stice (ŽST)" vzdalenost="5.5"/><br>
    <cil jmeno="Hádecký potok" vzdalenost="0.5"/><br>
    <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="5.5"/><br>
    <cil jmeno="Kornatice (ŽST)" vzdalenost="9.5"/><br>
    <cil jmeno="Lopata (zříc.)" vzdalenost="0.3"/><br>
    <cil jmeno="MiroÅ¡ov (nám.)" vzdalenost="9"/><br>
    <cil jmeno="StraÅ¡ice (U LibuÅ¡e)" vzdalenost="20.5"/><br>
    <cil jmeno="Neslívský rybník (rozc.)" vzdalenost="1"/><br>
    <cil jmeno="Potoky (háj.)" vzdalenost="3.5"/><br>
    <cil jmeno="Rokycany (ŽST)" vzdalenost="11"/><br>
    <cil jmeno="Lopata zříc. (rozc.)" vzdalenost="0.3"/><br>
    <cil jmeno="Lopata (zříc.)" vzdalenost="0.5"/><br>
  </tim><br>
  <tim cislo="642" id="PJ642" oblast="PJ"><br>
    <jmeno>Lopata zříc. (odb.)</jmeno><br>
    <alt>Lopata zříc. (rozc.)</alt><br>
    <cil jmeno="Hádek háj. (rozc.)" vzdalenost="0.7"/><br>
    <cil jmeno="MiroÅ¡ov (nám.)" vzdalenost="8.5"/><br>
    <cil jmeno="StraÅ¡ice" vzdalenost="20"/><br>
    <cil jmeno="Pod Lopatou" vzdalenost="0.3"/><br>
    <cil jmeno="Šťáhlavy (ŽST)" vzdalenost="5.5"/><br>
    <cil jmeno="Šťáhlavy (nám.)" vzdalenost="6.5"/><br>
    <cil jmeno="Pod Lopatou" vzdalenost="0.3"/><br>
    <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="5.8"/><br>
    <cil jmeno="Kornatice (ŽST)" vzdalenost="9.8"/><br>
  </tim><br>
</timy><br>
<br>
A výsledek dotazu vypadá tÅ™eba takhle:<br>
<br>
 Pod Lopatou 0.3 km od Lopata zříc. (odb.), PJ642<br>
 Hádecký potok 0.5 km od Pod Lopatou, rozcestí, PJ641<br>
 Hádek (háj.) 1 km od Hádek (hájovna,rozc.), PJ763<br>
 Pod Lopatou 1 km od Neslívský ryb. (rozc.), PJ761<br>
 Hádecký potok 1 km od Neslívský ryb. (rozc.), PJ761<br>
 Hádek háj. 1.5 km od Zvoníčkovna (NPR), PJ644<br>
 Pod Lopatou 1.5 km od Neslívský rybník, PJ678<br>
<br>
...<br>
<br>
A Å™Ã­ká, který rozcestník chybí a který na nÄ›j odkazuje, aby se snadno určila pÅ™ibližná poloha. TÅ™eba položka vzdálenost není nutná, ani ten ref není důležitý. Problém je, kde získat pÅ™epis tÄ›ch tabulek. Kostra je daná OSM daty, kdy víme, jak se rozcestník jmenuje. Ale potÅ™ebujeme také odkaz na sousední rozcestníky, které nám v datech tÅ™eba chybí. Proto je tÅ™eba z fotek získat destinace. RučnÄ› opisovat, to Å¡Ã­lenost (pro jednoho ÄlovÄ›ka), proto jsem tuhle cestu jako celek zavrhl. NicménÄ›, když jsem vidÄ›l "detekce z fotek" tak mi svitla nadÄ›je na strojové Ätení :) proto se ptám. A jak Å™Ã­kám, dávám to do zápisu, aby moje celkem nÄ›kolikahodinová práce ÃºplnÄ› nezapadla.<br>
<br>
Na závÄ›r jen dodám, Å¾e nevím kolik procent vÅ¡ech rozcestníků (KÄŒT) nám chybí, a jestli to má vůbec cenu, ale programování zdar!<br>
<br>
Honza, <a href="http://osm.paws.cz" rel="noreferrer" target="_blank">http://osm.paws.cz</a><br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Talk-cz mailing list<br>
<a href="mailto:Talk-cz@openstreetmap.org" target="_blank">Talk-cz@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/talk-cz" rel="noreferrer" target="_blank">https://lists.openstreetmap.or<wbr>g/listinfo/talk-cz</a><br>
</blockquote></div><br></div>