Here's the first stab at the cross db interface dll.
It includes address parsing, forward geocoding, intersection geocoding, and address suggestions.
Before you try to use it please read the following carefully:
During the implementation of the fall through address finding I needed to change one of the indexes. You will need to modify the IDX_NAME index before attempting to use this API.
Drop the index and recreate it with the following statement, it should work on both Sql Server and MySQL:
CREATE INDEX IDX_NAME ON TIGER_01(FENAME, ZIP3, FETYPE, ZIP, FEDIRP, FEDIRS)
All of the methods have two parameters in common; DbConnectionString and DbType.
Please don't use the reverse geocode methods, they aren't finished.
The Geocode method returns a GeoResult object.
It contains 2 collections, a Location collection and a Address collection.
The Location collection will contain a Location object if the address was found and geocoded.
The Suggestions collection will contain address objects if the specified address wasn't found but the API has suggestions as to what to try next.
For example if you searched for “1234 Main Dr 55555“ which doesn't exist the API may find “Main St 55544“ and return it to you.
Until I can completey integrate the FIPS data ZIP Code is required.
All the external dependencies (data access, etc.) were included in the Geocode.dll using ILMerge.
The NDoc documentation can be found here:
http://www.johnsample.com/misc/geo2/api/doc/index.html
And the DLL:
http://www.johnsample.com/misc/geo2/api/Geocode.01.zip
I expect the updates to be coming more often now so send me any bug reports. I'm sure there will be no shortage of them to find.
Also, I get about 20 emails a day about this project. I try to respond to most but please don't be insulted if I don't get back to you right away.
You need to use the database structure defined in the latest installer, it will not work with the structure in the original geocoding article.