Daniele prova con... CREATE VIRTUAL TABLE temp USING VirtualDbf("CIVICI_RAFVG.dbf", "WINDOWS-1250"); ... select * from civici where DENOMINAZI like 'STAZ. PROSECCO/%';
.... 218157|32005|SGONICO|32005|FRAZIONE|STAZ. PROSECCO/PROSEŠKA POSTAJA|27||||2456232.5|13.750329|45.705396|303336 Ciao Marco Il 25 giugno 2014 14:01, Daniele Forsi <dfo...@gmail.com> ha scritto: > Il 24 giugno 2014 14:53, Stefano Salvador ha scritto: > >> +1, a mio parere bisognerebbe fare un confronto preliminare tra i dati OSM e >> i dati contenuti in questo database, in modo da armonizzare per quanto >> possibile la toponomastica. > > sopratutto per correggere gli errori ed eliminare le abbreviazioni se > possibile > > da un controllo veloce sulla colonna SPECIE che contiene la DUG (VIA, > PIAZZA, ecc.): > 1|FRAZIONEv > 9|P.ZZA > 11|PLE > 1|S.DA CONSORZ. > 1|S.DA CONSORZ. DI > 20|STRADA COM > 6|STRADA VICIN. > 2|ZONA ART. > > in allegato trovate il conteggio di tutte le SPECIE > > Anche i numeri civici vano controllati: > select distinct num_civ from civici order by num_civ desc limit 10; > 37903 > 37839 > 37811 > 37807 > 37773 > 37744 > 37712 > 10000 > 7030 > 7029 > select count(*) from civici where length(num_civ) > 3; > 240 > select count(*) from civici where num_civ = '0'; > 3476 > > e c'è qualche nome da non importare: > ROMA DAL N°.. AL N° .. > > accenti e abbreviazioni diverse: > P.S. DI BRAZZA' > P.SAVORGNAN DI BRAZZA` > > questo dove la codifica mi viene fuori errata ma magari è un problema mio: > STAZ. PROSECCO/PROSEŠKA POSTAJA > > In tutto ci sono 10771 nomi diversi > > Per fare questi controlli non servono conocenze GIS, serve solo sapere > un po' di SQL ed è meglio conoscere i luoghi ed è utile spatialite > perché legge direttamente i file .DBF > > per convertire da dbf a sqlite/spatialite: > $ spatialite prova.sqlite > CREATE VIRTUAL TABLE temp USING VirtualDbf("CIVICI_RAFVG.dbf", "ISO-8859-1"); > CREATE TABLE civici AS SELECT * FROM temp; > DROP TABLE temp; > > poi ad esempio per controllare se ci sono valori anomali per le coordinate: > select min(x), max(x), min(y), max(y) from civici; > 0.0|13.910728|0.0|46.603459 > > select * from civici where x = 0; > 1|30003|AMPEZZO|30003111|VIA|GIOVANNI MAZZINI|111||||2456109.5|0.0|0.0|605 > 2|30003|AMPEZZO|30003222|VIA|G.MAZZINI|222||||2456109.5|0.0|0.0|606 > 3|30003|AMPEZZO|30003333|PIAZZA|G.MAZZINI|23||||2456109.5|0.0|0.0|607 > 4|30003|AMPEZZO|30003444|PIAZZA|VENTI SETTEMBRE|5||||2456109.5|0.0|0.0|608 > > -- > Daniele Forsi > > _______________________________________________ > Talk-it mailing list > Talk-it@openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-it > -- Linux Infinite Freedom I'm writing from this place: http://www.openstreetmap.org/?lat=44.39945&lon=8.6798&zoom=15&layers=M _______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-it