(A když jsme u toho párování, porovnávání a podobných mňamek, __normalizace velkých písmen už teď zdaleka nestačí__ - je třeba používat nástroje, který má daný jazyk pro Unicode. Ne proto, že by to jinak nešlo, ale proto, že to tuhle práci udělá samo, i pro případy, který by mě ani nenapadly. Což znamená mj. to, že když ty stringy budeš porovnávat po bajtech, tak tě kousne nejen whitespace, ale i případ, kdy "Bělá" je sice v Unicode rovno "Bělá", ale převedený __na bajty__ bez normalizace do NFC nebo NFD to není identický, protože to první jsou čtyři znaky, a druhý je fskutčnosti znaků šest, totiž "B(kombinující háček)el(kombinující čárka)a", a obojí je rovnocenný způsob zápisu - ani jedno není workaround či hack.
Konec hlášení pro řetězcovou veřejnost ;)) Dne 20. 1. 2017 18:55 napsal uživatel "Lukáš Karas" <[email protected] >: > Ahoj, > > To jsme zase zpátky hledání problému pro řešení - pokud je ten datový > zdroj s jakoukoli Unicode collation (mimo *_bin), tj. stávající stav, tak > to bude hledat i porovnávat bez ohledu na diakritiku, velká a malá písmena, > a dokonce i "exotické" whitespacy. (Exhibit A: Nominatim, zkuste si v něm > trochu zavyhledávat) > > Já chápu, že po třiceti letech Kameníků a win1250 a kdoví čeho ještě máme > všichni (já taky) neurózu z nabôdeníček, ale tady máme systém, který je > (přinejmenším pro latinku) docela slušně promyšlený. Nevynalézejme hranatá > kola. > > HPM > > Dne 20. 1. 2017 6:55 odp. napsal uživatel "Lukáš Karas" < > [email protected]>: > >> Tak tento problém musí všichni řešit už nyní. >> A nemusíš ani chtít párovat OSM s jinými daty, ale třeba jen strojově >> vytvořit >> strom adres z OSM dat... >> >> Například máme název ulice "Pod Lipami" [1] ale adresní nody mají v >> "addr:street" hodnotu "Pod lipami" [2]. >> >> Takže musíš minimálně normalizovat velikost písmen, což je docela sranda >> ale >> dá se to pro latinku s přimhouřeným okem zvádnout, ale co dělat když máš >> administrativní oblast "Bělá u Turnova" [3] ale tag "addr:place" je >> nastaven >> na "Bělá" [4] ? >> >> Je ale pravda že pokud program nenormalizuje bílé znaky tak jej pevná >> mezera >> rozbije, to je potřeba také zohlednit :-( OSM není bohužel (bohudík?) >> relační >> databáze, takže při práci s ní vždy bude docházet ke špatnému provázání >> dat. >> >> Lukáš >> >> >> 1) https://www.openstreetmap.org/way/28714626 >> 2) https://www.openstreetmap.org/node/296700722 >> 3) https://www.openstreetmap.org/relation/426770 >> 4) https://www.openstreetmap.org/node/198686670 >> >> >> Dne pátek 20. ledna 2017 16:45:07 CET jzvc napsal(a): >> > Dne 19.1.2017 v 21:36 Jan Macura napsal(a): >> > > //pardon, odeslal jsem mail předčasně >> > > >> > > 2017-01-19 9:01 GMT+01:00 Lukáš Karas <[email protected] >> > > >> > > <mailto:[email protected]>>: >> > > Ano, zalomení řádku je forma (pokud nepíši poezii). Ale nikdo >> nechce >> > > do osm >> > > dat dávat konce řádku do názvů - tedy to kde zalomit. Ale bavíme >> se >> > > o pevných >> > > mezerách. Tedy kde nezalomit. Je to věcí jazyka, měly by dle mě >> být >> > > součástí >> > > všech strojově čitelných textů - tedy dle mě obsah. >> > > >> > > Chápu, ale pořád mi to nepřijde jako dostatečný argument. Je to jedno >> > > bez druhého – informace o tom, kde nezalomit řádek může existovat jen >> > > pro potřeby jeho zalomení a jsme zpátky u formátování dat (textu) pro >> > > konkrétní potřeby. >> > > >> > > Ale ten hate Jana Martince mě trochu nalomil (sic!). Pokud neexistuje >> > > žádný argument proti, kromě logického (to, co se tu snažím obhajovat), >> > > nemá asi smysl tomu bránit. Navíc, když Ladislav Laska píše, že >> některé >> > > editory s tím umí pracovat, bral bych to v nejlepším duchu OSM (a >> > > dobrovolnictví) jako možnost, ale určitě ne nutnost. >> > >> > Existuje minimalne jeden zasadni argument proti, u znacne casti prvku >> > mapy je jejich nazev zaroven jejich identifikatorem (jednoduse proto, ze >> > neni jiny). A sem opravdu zvedav, az bude nekdo porovnavat (pripadne na >> > sebe navazovat) dve databaze, co rekne na to, ze mu to proti sobe nesedi >> > jen proto, ze na jedny strane sou nejaky divny znaky, coz mu trvalo >> > tyden zjistit. >> > >> > > 2017-01-19 9:11 GMT+01:00 Mikoláš Štrajt <[email protected] >> > > >> > > <mailto:[email protected]>>: >> > > Fun fact: >> > > >> > > RUIAN už skloňování názvů obcí ve své databázi má. V exportu je >> to v >> > > položce obi:MluvnickeCharakteristiky. >> > > >> > > A to je dobře. Plní tak pečlivě funkci registru územní identifikace. >> > > Stejně tak bych čekal "mluvnické charakteristiky" třeba v GeoNames, >> ale >> > > ne v OSM ;-) >> > > >> > > 2017-01-19 10:35 GMT+01:00 Petr Kadlec <[email protected] >> > > >> > > <mailto:[email protected]>>: >> > > A ještě k >> > > >> > > > je extrémně výhodné, aby velikost písmen byla přímo brána jako >> > > > součást obsahu> >> > > To přece není „extrémně výhodné“ [wut?], to je přece _pravda_. Ta >> > > obec se _nejmenuje_ „libčice nad vltavou“˝, ale „Libčice nad >> > > Vltavou“. _Proto_ to tam takhle máme. Ne proto, aby bylo >> jednodušší >> > > to hezky vykreslovat. Stejně tak máme mít třeba „PP Opatřilka//– >> > > Červený lom“, nikoli „PP Opatřilka - Červený lom“ (bez ohledu na >> to, >> > > jakým písmem to pak kdo vykresluje). >> > > >> > > Je to off-topic, ale snad bude strpen. Dokážu si představit takový >> > > datový model, kde jméno objektu nebude řetězec "Kostelec nad Černými >> > > lesy", ale objekt (v OSM tedy relace) se členy "kostelec", "černá", >> > > "les" a vyjádřením jejich vzájemných vztahů , které by velikost písmen >> > > implikovaly. Možné by to bylo, jen je to úplná blbost, takhle to >> > > modelovat (= tím myslím, že je to extrémně nevýhodné ;-) ) >> > > >> > > H. >> > > >> > > >> > > >> > > >> > > >> > > _______________________________________________ >> > > Talk-cz mailing list >> > > [email protected] >> > > https://lists.openstreetmap.org/listinfo/talk-cz >> > >> > _______________________________________________ >> > Talk-cz mailing list >> > [email protected] >> > https://lists.openstreetmap.org/listinfo/talk-cz >> _______________________________________________ >> Talk-cz mailing list >> [email protected] >> https://lists.openstreetmap.org/listinfo/talk-cz >> >>
_______________________________________________ Talk-cz mailing list [email protected] https://lists.openstreetmap.org/listinfo/talk-cz

