[Talk-ro] [RFC] Detecție erori în codurile poștale
Strainu
strainu10 at gmail.com
Mon Nov 11 11:24:43 UTC 2013
Salut,
Ca primă fază a importului codurilor poștale de la date.gov.ro, aș
vrea să generăm o listă cu erori. Mai jos voi descrie procedura pe
care vreau să o urmez, atât pentru a primi feedback, cât și pentru a o
avea scrisă undeva.
1. Extrag toate nodurile și căile cu coduri poștale și încerc să
extrag orașul, strada și numărul; dacă se poate, extrag și numele
blocului. În cazul numerelor de casă care nu sunt formate doar din
cifre, iau primul număr din text dacă începe de la caracterul 0 (adică
"1A" și "1BIS" sunt "1", dar "A1" e eroare)
- pentru noduri folosesc "is_in:city" sau ""addr:city",
"addr:street", respectiv "addr:housenumber"
- pentru căi folosesc "is_in:city", "name" sau "addr:street",
respectiv "addr:housenumber" (dacă avem "addr:street")
- pentru coduri poștale folosesc "postal_code" sau "addr:postcode"
2. Pentru fiecare cod poștal, identific toate intrările din lista de
la date.gov.ro și pentru fiecare dintre ele încerc să fac matching pe:
a. oraș; dacă reușesc, merg la b.; dacă nu reușesc, eroare E6.
b. stradă; dacă reușesc, merg la c.; dacă nu reușesc, eroare E8.
c. număr; dacă reușesc, succes; dacă nu reușesc, merg la d.
d. numele blocului; dacă reușesc, succes; dacă nu reușesc, eroare E10.
Din descriere, complexitatea ar fi pătratică; practic, se poate
optimiza mult aici.
Tipurile de erori aruncate ar fi (E - eroare care nu poate fi evitată,
W - eroare care poate fi evitată):
E1. Nu pot extrage orașul din datele OSM
E2. Nu pot extrage strada din datele OSM
W3. Nu pot extrage numărul din datele OSM - asta e OK pentru străzi,
iar pentru restul căilor și nodurilor pot verifica că nu mai există un
alt cod pe strada respectivă
W4. Codul poștal e invalid, conține 5 cifre: încerc să completez cu 0
și verific dacă dau în E5
E4. Codul poștal e invalid (conține altceva decât 6 cifre);
E5. Nu găsesc codul poștal în datele de la date.gov.ro
E6. Orașul nu corespunde între OSM și date.gov.ro
W7. Sunt greșeli în spelling-ul orașului (de exemplu diacritice
incorecte sau lipsă)
E8. Strada nu corespunde între OSM și date.gov.ro
W9. Sunt greșeli în spelling-ul străzii (de exemplu diacritice
incorecte sau lipsă sau tip de stradă diferit)
E10. Numărul/blocul nu corespund între OSM și date.gov.ro
Întrebări deschise:
I1. Mai sunt și alte moduri (chei) de a extrage informațiile din datele OSM?
I2. La E1, merită să fac o căutare după limita administrativă care
conține coordonatele respective înainte de a decreta eroare?
I3. La W3, dacă avem mai multe segmente cu coduri diferite, e
acceptabil ca fiecare bucată de stradă să aibă alt cod?
Păreri, opinii?
Strainu
More information about the Talk-ro
mailing list