Ahoj,

Díky za odkaz vypadá to úžasně a muselo to dát pěknou práci! 
Dovedu si představit, že by kde kdo dokázal překlepat pár svých fotek, ale projít všechny fotky co máme v jednom, to, aby člověk nic jiného nedělal.

Honza


Dne 10. 1. 2018 11:31 PM napsal uživatel Jan Macura <macura...@gmail.com>:
Ahoj,

úplně k původnímu tvému problému: kamarád zpracovává (vlastními silami!) tohle: https://skolajih.cz/smerovky/
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 ;-)

H.

2018-01-06 21:04 GMT+01:00 Jan Skala <spe...@email.cz>:
Ahoj,

chtěl jsem se zeptat, co je zač "Detekce z fotek" na http://osm.fit.vutbr.cz/OsmHiCheck/

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.

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.

Krok 2 je celkem jednoduchý, je to nějaké XQuery, které má pro formát XML, který jsem stanovil takovouhle podobu:

for $dest in timy/tim/cil order by number($dest/@vzdalenost)  let $match := timy/tim/jmeno[lower-case(text()) eq lower-case($dest/@jmeno)] let $malt := timy/tim/alt[lower-case(text()) eq lower-case($dest/@jmeno)] return if (not($match) and not($malt)) then concat($dest/@jmeno,' ',$dest/@vzdalenost,' km od ',$dest/parent::*/jmeno/text(),', ',$dest/parent::*/@id,'&#xa;') else null

Samotné XML vypadá takhle:

<timy>
  <tim cislo="761" id="PJ761" oblast="PJ">
    <jmeno>Neslívský ryb. (rozc.)</jmeno>
    <alt>Neslívský rybník (rozc.)</alt>
    <cil vzdalenost="0.5" jmeno="Neslívský rybník"/>
    <cil vzdalenost="2.5" jmeno="Potoky (háj.)"/>
    <cil vzdalenost="16.5" jmeno="Mirošov (nám.)"/>
    <cil vzdalenost="1" jmeno="Pod Lopatou"/>
    <cil vzdalenost="7.5" jmeno="Nezvěstice (ŽST)"/>
    <cil jmeno="Hádek háj. (rozc.)" vzdalenost="1"/>
    <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="4"/>
    <cil jmeno="Kornatice (ŽST)" vzdalenost="8"/>
    <cil jmeno="Hádecký potok" vzdalenost="1"/>
    <cil jmeno="Lopata zříc. (rozc.)" vzdalenost="1.8"/>
    <cil jmeno="Lopata (zříc.)" vzdalenost="2"/>
  </tim>
  <tim cislo="750" id="PJ750" oblast="PJ">
    <jmeno>Lopata (zříc.)</jmeno>
  </tim>
  <tim cislo="641" id="PJ641" oblast="PJ">
    <jmeno>Pod Lopatou, rozcestí</jmeno>
    <alt>Pod Lopatou (rozc.)</alt>
    <cil jmeno="Kozel (kemp)" vzdalenost="3"/>
    <cil jmeno="Šťáhlavy (ŽST)" vzdalenost="5"/>
    <cil jmeno="Šťáhlavy (nám.)" vzdalenost="6"/>
    <cil jmeno="Varta" vzdalenost="4"/>
    <cil jmeno="Nezvěstice (ŽST)" vzdalenost="5.5"/>
    <cil jmeno="Hádecký potok" vzdalenost="0.5"/>
    <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="5.5"/>
    <cil jmeno="Kornatice (ŽST)" vzdalenost="9.5"/>
    <cil jmeno="Lopata (zříc.)" vzdalenost="0.3"/>
    <cil jmeno="Mirošov (nám.)" vzdalenost="9"/>
    <cil jmeno="Strašice (U Libuše)" vzdalenost="20.5"/>
    <cil jmeno="Neslívský rybník (rozc.)" vzdalenost="1"/>
    <cil jmeno="Potoky (háj.)" vzdalenost="3.5"/>
    <cil jmeno="Rokycany (ŽST)" vzdalenost="11"/>
    <cil jmeno="Lopata zříc. (rozc.)" vzdalenost="0.3"/>
    <cil jmeno="Lopata (zříc.)" vzdalenost="0.5"/>
  </tim>
  <tim cislo="642" id="PJ642" oblast="PJ">
    <jmeno>Lopata zříc. (odb.)</jmeno>
    <alt>Lopata zříc. (rozc.)</alt>
    <cil jmeno="Hádek háj. (rozc.)" vzdalenost="0.7"/>
    <cil jmeno="Mirošov (nám.)" vzdalenost="8.5"/>
    <cil jmeno="Strašice" vzdalenost="20"/>
    <cil jmeno="Pod Lopatou" vzdalenost="0.3"/>
    <cil jmeno="Šťáhlavy (ŽST)" vzdalenost="5.5"/>
    <cil jmeno="Šťáhlavy (nám.)" vzdalenost="6.5"/>
    <cil jmeno="Pod Lopatou" vzdalenost="0.3"/>
    <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="5.8"/>
    <cil jmeno="Kornatice (ŽST)" vzdalenost="9.8"/>
  </tim>
</timy>

A výsledek dotazu vypadá třeba takhle:

 Pod Lopatou 0.3 km od Lopata zříc. (odb.), PJ642
 Hádecký potok 0.5 km od Pod Lopatou, rozcestí, PJ641
 Hádek (háj.) 1 km od Hádek (hájovna,rozc.), PJ763
 Pod Lopatou 1 km od Neslívský ryb. (rozc.), PJ761
 Hádecký potok 1 km od Neslívský ryb. (rozc.), PJ761
 Hádek háj. 1.5 km od Zvoníčkovna (NPR), PJ644
 Pod Lopatou 1.5 km od Neslívský rybník, PJ678

...

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.

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!

Honza, http://osm.paws.cz




_______________________________________________
Talk-cz mailing list
Talk-cz@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-cz


_______________________________________________
Talk-cz mailing list
Talk-cz@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-cz

Odpovedet emailem