I need to update about 8.3MM voter registration records with rooftop geocoding coordinates.
Which components of Nominatim (or other public sources) would I need to do this in batch mode? (besides Google)
I need to update about 8.3MM voter registration records with rooftop geocoding coordinates.
Which components of Nominatim (or other public sources) would I need to do this in batch mode? (besides Google)
For sure you have to geocode a very large amount of data.
It depends for which country you are requesting the coverage. I presume it is USA. In that case North America OSM database for Nominatum can help. However, because you are working with voter files that require precision or 1.0 accuracy (rooftop), that is not going to work. Also, none of the other public services will be helpful. Location offset for each coordinate pair (lat and long) will be from few hundred feet to few miles.
A better approach will be to utilize cheap Batch Geocoding tool called CSV2GEO. That tool is ideal for dealing with voter data because it allows for address token composition, normalized address tokenization, and flexible input file.
The following example should give you a better overview: Go to csv2geo.com
Load the input file, which needs to be CSV UTF8 format.
Voter files usually come with few columns associated with each address token. From the example above columns CJ, CK, CL, CM, CN, CO are all associated with street name. To select all these, click on each column header and select street name
Using that approach you can select all address tokens, regardless where they are on the file. The system allows multiple address tokens in same column to be selected. The company behind CSV2GEO, Scale Campaign, also sells voter lists for all 50 states in USA. Their voter files always come with two separate geolocations: rooftop and address entry. These two geolocations are different and each one is used differently. For canvassing routes you need address entry location and for statistical purpose rooftop will be your choice.
You can use the Pelias geocoder for this. It can be built using open data for just the country you need, it includes an interpolation service to fill in gaps in addressing data (in the US, it uses the US Census TIGER/line dataset for near-complete coverage), and it's quite fast.
There's a specific tool (pelias/scripts-batch-search) to help with batch geocoding as well.