<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,'
') 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>