Oprava start_date

8 zpráv
Zpět na přehled

Oprava start_date

8 zpráv PMJ 3 účastníků 5 min čtení
  1. Petr Schönmann pschonmann na gmail.com #m143b70
    Ahoj, včera jsem již pustil jednu opravu a pak jsem si vzpoměl že bych vlastně měl zkonzultovat vetsi upravy s mistnimi :) Nuž první byla obdobná ( https://www.openstreetmap.org/changeset/50203344 ), jednodušší a nepočítám s komplikacemi než u této. Tak bych chtěl schválení. Vytáhnul jsem si data přes OverPassTurbo ( datumy ze start_date která jsou psána ve formatu DD.MM.YYYY správně to má být YYYY-MM-DD ) [out:xml][timeout:600]; {{geocodeArea:Czech Republic}}->.searchArea; ( node["start_date"~"[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{4}"](area.searchArea); way["start_date"~"[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{4}"](area.searchArea); relation["start_date"~"[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{4}"](area.searchArea); ); (._;>;); out meta; Předělal sed -E 's/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/\3-\2-\1/g' startdate_dot.osm > startdate_dot_new.osm Uvedl změněným prvkům action="modify" pomocí skriptu https://github.com/liotier/OSMtools/blob/master/OSMXML_mark_modified_JOSM-style OSMXML_mark_modified_JOSM-style startdate_dot.osm startdate_dot_new.osm Kontrola ~/osm$ grep "start_date" startdate_dot_new.osm | egrep -v "v=\"[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}" ~/osm$ A chystám se změny nahrát. Prosím o kontrolu, jestli tam není nějaká bota. Soubory jsou ke shlednuti tu http://leteckaposta.cz/816329941 Díky
  2. Jan Macura macurajan na gmail.com #m38e258
    Ahoj, dobrá iniciativa. Je to nepravděpodobné, ale nemohlo by se stát, že je datum vyplněné ve formátu MM.DD.YYYY? Pak by se z toho vytvořil zdánlivě validní řetězec, který by ale mohl obsahovat třeba 30. měsíc. Je-li to možné, navrhuji přidat do skriptu kontrolu, že část MM je v rozsahu 01?12. Resp. vlastně by možná bylo lepší, kdyby se to pak provedlo ve druhém kroku u všech dat(umů), i u těch, které už ve "správném" formátu byly. Šlo by to? H. 2017-07-12 14:43 GMT+02:00 Petr Schönmann <pschonmann na gmail.com>:
  3. Petr Schönmann pschonmann na gmail.com #m126392
    Já to nahraju tak jak jsem si to připravil. Potřeboval jsem jen kontrolu zda není někde bota. Ale pokud script najdeš, klidně jej vystav na github. @Jan Macura ... zaměňuje se vpodstatě jen YYYY za DD ( zrcadlově ) takže k tobě zmiňované záměně dojít nemůže. Dneska večer pokud se nenajde nějaká fatální chyba nahraju soubor co změní start_date z tečkového formátu na validní YYYY-MM-DD
    Hmm, a já myslel, že jsem všechna nesprávná start_date opravil. Ale evidentně ne :-( Takže za mně palec nahoru. Ad postup, když jsem to před těmi třemi lety dělal, taky jsem na to měl nějaký skript. Možná se mi ho podaří večer najít (jestli nezapomenu). Nicméně, posledně jsem zkoušel level0 editor a šlo to dobře. Jednoduchá textová struktura, žádné xml, není potřeba dávat příznak změny - to si najde sám. Akorát nemá rád dlouhotrvající dotazy. To pak skončí na timeout. Je potřeba mu to trochu nakouskovat. Marián Ahoj, včera jsem již pustil jednu opravu a pak jsem si vzpoměl že bych vlastně měl zkonzultovat vetsi upravy s mistnimi :) Nuž první byla obdobná ( https://www.openstreetmap.org/changeset/50203344 ), jednodušší a nepočítám s komplikacemi než u této. Tak bych chtěl schválení. Vytáhnul jsem si data přes OverPassTurbo ( datumy ze start_date která jsou psána ve formatu DD.MM.YYYY správně to má být YYYY-MM-DD ) [out:xml][timeout:600]; {{geocodeArea:Czech Republic}}->.searchArea; ( node["start_date"~"[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{4}"](area.searchArea); way["start_date"~"[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{4}"](area.searchArea); relation["start_date"~"[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{4}"](area.searchArea); ); (._;>;); out meta; Předělal sed -E 's/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/\3-\2-\1/g' startdate_dot.osm > startdate_dot_new.osm Uvedl změněným prvkům action="modify" pomocí skriptu https://github.com/liotier/OSMtools/blob/master/OSMXML_mark_modified_JOSM-style OSMXML_mark_modified_JOSM-style startdate_dot.osm startdate_dot_new.osm Kontrola ~/osm$ grep "start_date" startdate_dot_new.osm | egrep -v "v=\"[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}" ~/osm$ A chystám se změny nahrát. Prosím o kontrolu, jestli tam není nějaká bota. Soubory jsou ke shlednuti tu http://leteckaposta.cz/816329941 Díky
    -- S pozdravem Petr Schönmann https://www.facebook.com/klikklakcz
  4. Marián Kyral mkyral na email.cz #m2d03e1
    Hmm, a já myslel, že jsem všechna nesprávná start_date opravil. Ale evidentně ne :-( Takže za mně palec nahoru. Ad postup, když jsem to před těmi třemi lety dělal, taky jsem na to měl nějaký skript. Možná se mi ho podaří večer najít (jestli nezapomenu). Nicméně, posledně jsem zkoušel level0 editor a šlo to dobře. Jednoduchá textová struktura, žádné xml, není potřeba dávat příznak změny - to si najde sám. Akorát nemá rád dlouhotrvající dotazy. To pak skončí na timeout. Je potřeba mu to trochu nakouskovat. Marián
  5. Petr Schönmann pschonmann na gmail.com #mbc26bf
    Tak ještě kontrola validnosti datumu na vstupu. Žádný 13+ měsíc nebo 31+den tam není grep start_date startdate_dot.osm | egrep -v "([1-9]|[0-2][0-9]|3[01]).([1-9]|1[0-2]|0[1-9]).[0-9]{4}" nic nevyhodí. Přestupné roky taky ok ~/osm$ grep start_date startdate_dot.osm | egrep -e "29.(2|02).[0-9]{4}" <tag k='start_date' v='29.02.1940' /> <tag k='start_date' v='29.02.2012' /> <tag k='start_date' v='29.02.2008' /> <tag k='start_date' v='29.02.2008' /> <tag k='start_date' v='29.02.2004' /> <tag k='start_date' v='29.02.2004' /> <tag k='start_date' v='29.02.2000' /> <tag k='start_date' v='29.02.2012' /> <tag k='start_date' v='29.02.2004' /> <tag k='start_date' v='29.02.2012' /> <tag k='start_date' v='29.02.2012' /> Měsíce co mají 30 dní nemají taky více dní než by měli mít ~/osm$ grep start_date startdate_dot.osm | egrep -e "3[1-9].(2|4|6|9|11|02|04|06|09).[0-9]{4}" Nic nevypsal Ještě něco co je třeba podchytit ?
  6. Marián Kyral mkyral na email.cz #m517b56
    Já to nahraju tak jak jsem si to připravil. Potřeboval jsem jen kontrolu zda není někde bota. Ale pokud script najdeš, klidně jej vystav na github. @Jan Macura ... zaměňuje se vpodstatě jen YYYY za DD ( zrcadlově ) takže k tobě zmiňované záměně dojít nemůže. neřekl bych DD.MM.YYYY -> YYYY-MM-DD -> OK MM.DD.YYYY -> YYYY-DD-MM -> průser ;-) Marián
  7. Marián Kyral mkyral na email.cz #mba7807
    Čau, za mně OK. Jdi do toho :-D Marián
  8. Jan Macura macurajan na gmail.com #m1567ef
    2017-07-13 10:14 GMT+02:00 Petr Schönmann <pschonmann na gmail.com>:
    Tak ještě kontrola validnosti datumu na vstupu. Žádný 13+ měsíc nebo 31+den tam není Přestupné roky taky ok Měsíce co mají 30 dní nemají taky více dní než by měli mít Ještě něco co je třeba podchytit ?
    Pecka, cpi to tam! ;-) H.
Napsat odpověď e-mailem… Odpovědět

Otevře váš e-mailový klient. Odpovědi pak sledujte zde na webu.