Find the weak rows and review them by hand
Most rows of an address list geocode to the house. The few that do not should reach a person, not a report, and that person should see why the answer is in doubt.
What you have
A CSV with an address column. One row names no town, one names a street that exists in many towns:
id,address p1,"233 S Wacker Dr, Chicago, IL 60606" p2,"350 Fifth Avenue, New York" p3,"1600 Pennsylvania Ave NW, Washington, DC 20500" p4,"12 Main St, Springfield"
Steps
1. Judge every row and write a review page for the doubtful ones:
$ gridpin-pro batch usa.bin patients.csv checked.csv --review review.html 4 rows
2. Read the action of each row in the output:
$ cat checked.csv
id | address | gp_precision | gp_street | gp_commune | gp_action |
|---|---|---|---|---|---|
| p1 | 233 S Wacker Dr, Chicago, IL 60606 | house | South WACKER Drive | Chicago | ACCEPT |
| p2 | 350 Fifth Avenue, New York | interp | West Fifth Avenue | York | CONFIRM |
| p3 | 1600 Pennsylvania Ave NW, Washington, DC 20500 | house | PENNSYLVANIA Avenue Northwest | Washington | ACCEPT |
| p4 | 12 Main St, Springfield | near | MAIN Street | Springfield | CONFIRM |
3. Only the rows marked CONFIRM are on the review page:
$ grep -o 'data-row=[0-9]*' review.html data-row=2 data-row=4
4. Ask why a row got its answer before you decide:
$ gridpin explain usa.bin "350 Fifth Avenue, New York" The line was read as street "fifth avenue new york", town not named, house number 350, postcode none (5 readings tried). An answer, but the query needs a postcode to choose among places. Fields: city: confirmed, number: confirmed, postcode: inferred, street: corrected. Exists: maybe (number_interpolated). 1. West Fifth Avenue 350, York (interp) — score -4.40 2. Fifth Avenue 10, York (near) — score -4.40 — lost on: level near instead of interp; the same score: ordered by the sheet's tie rules (town size, distance) 3. FIFTH Street 98, York (near) — score -4.40 — lost on: level near instead of interp; the same score: ordered by the sheet's tie rules (town size, distance)
What you get
ACCEPT rows go straight on. On the review page, which opens without a network, a person picks one of up to five candidates for each CONFIRM row, or marks it not found, and exports decisions.csv; gridpin-pro apply-review puts the choices back into the rows. The whole round, with its output: review and apply-review.
Why it works
explain shows what the engine read in the line (here the town was read as part of the street), which fields it confirmed, corrected or inferred, and how the other candidates lost. That is the reason a reviewer needs: 350 Fifth Avenue, New York without a ZIP code ends on a West Fifth Avenue in York, Alabama, and the page says so instead of hiding it in a score.
Limits
- The score of an answer is not a probability; how often each band is right is measured on confidence bands.
- A person decides the doubtful rows: the tool narrows the list, it does not resolve it.
- Decisions made on one country file are refused on another: the file names its sheet.
All its keys: explain, gridpin-pro batch, apply-review. The functions: explain, --verdict, --review. Part of gridpin-pro, which comes with a Starter or Pro subscription: Free, Starter and Pro.