<div dir="ltr">Ciao,<br><div><div class="gmail_extra"><br><div class="gmail_quote">2018-04-17 10:51 GMT+02:00 Cascafico Giovanni <span dir="ltr"><<a href="mailto:cascafico@gmail.com" target="_blank">cascafico@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-">Il giorno 28 marzo 2018 11:46, Andrea Musuruane <span dir="ltr"><<a href="mailto:musuruan@gmail.com" target="_blank">musuruan@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-m_-1809307504866858298gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-m_-1809307504866858298gmail-m_-4048444149381580392gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>Nel file description viene messo l'indirizzo. Sarebbe meglio riuscire a metterlo in addr:street e addr:housenumber (per quelli che hanno un numero civico, per gli altri l'informazione mi sembra inutile).<br></div></div></div></blockquote><div><br></div></span><div>Onestamente non saprei come processare la stringa... l'unica certezza di questo campo è il codice postale alla fine. La ho assegnata a description, pensando che il mappatore occasionale possa eventualemnte aggiungere il civico manualmente. Anche il no rari riferimenti kilometrici (<a href="http://p.es" target="_blank">p.es</a>. "Ss 356 Km 45+5112") potrebbero essere utili per mettere qualche milestone, seppure mi pare siano relegate ad ogetti historic.</div></div></div></div></blockquote><div><br></div></span><div>Si può fare in questo modo.<br><br></div>Estrai tre valori dalla stringa in base alla seguente espressione regolare:<br></div><div class="gmail_quote"><div>(.*),*\s+(\d+\/*\w*),*\s+(\d{5<wbr>})<br></div><br></div><div class="gmail_quote">Se l'espressione regolare non è soddisfatta si scarta la stringa.<br></div></div></div></blockquote><div><br></div></span><div>Ho applicato al regexp in qgis (necessario anteporre un ulteriore backslash ad ogni backslash)</div><div>regexp_substr ("Indirizzo", '(.*),*\\s+(\\d+\\/*\w*),*\s+(<wbr>\\d{5})' )</div><div><br></div><div>ed estrae il nome strada per circa metà dei record. Speriamo che il modulo online che il MISE sta pubblicando per i gestori ci semplichi la vita :-)</div></div></div></div></blockquote><div><br></div><div>Giocando con awk e grep (la sintassi della regexp è leggermente differente) si possono vedere i valori che vengono estratti:<br>awk -F ";" '{print $6}' anagrafica_impianti_attivi.csv | grep -E '.*,*[[:blank:]]+([[:digit:]]+\/*[[:alnum:]]*),*[[:blank:]]+([[:digit:]]{5})'<br><br>e quelli che vengono scartati:<br>awk -F ";" '{print $6}' anagrafica_impianti_attivi.csv | grep <b>-v</b> -E '.*,*[[:blank:]]+([[:digit:]]+\/*[[:alnum:]]*),*[[:blank:]]+([[:digit:]]{5})' <br><br></div><div>I falsi positivi sono proprio pochi (la regola cerca di scartare tutti gli indirizzi che non hanno numero civico e cap), soprattutto considerando il marasma che c'è nei dati sorgente.<br><br></div><div>Concordo comunque sull'auspicio che i dati debbano essere standardizzati alla fonte.<br><br></div><div>Ciao,<br><br></div><div>Andrea<br><br></div><div><br></div></div></div></div></div>