John Sample

Bits and Bytes
posts - 103, comments - 354, trackbacks - 16


Time for an update on the geocoding project.

The automated download/extract/install is just about complete. During a test run supported by the folks at I found out that the full dataset is too big to run under MSDE's 2 gig limit. Loading Type 1 data properly indexed for forward and reverse Geocoding weighs in at 4 gigs.
This is disappointing since I was hoping anyone would be able to run this for free. It's especially difficult since I don't even have SQL Server at home and I'm developing this with MSDE.

So I've decided to develop 2 versions in parallel. One in SQL Server and the other using Sqlite.

The Sqlite version runs great and will hopefully run in windows and linux.
I haven't done any benchmarking, but forward geocoding takes about the same amount of time.
SQL Server does however shine at the reverse geocoding with results in less than a second with the as yet unreleased .06 scripts. Sqlite can take up to 5 seconds at the moment.

I'd expect an initial version up by the end of the weekend.

posted on Friday, August 12, 2005 6:30 PM


# Why not mySQL

Why not develop one for mySQL instead of sqllite? mySQL is much more supported, more stable, etc... Have you looked into Microsoft SQL Express?
8/12/2005 8:34 PM | Tim

# re: Why not mySQL

Good question.

I have a MySQL (as well as Oracle) version in progress. I'm looking at Firebird as well.
However, the fact that Sqlite is basically drag, drop, run is too good to pass up at the moment. When I write the geocoding functions I do it in C#, then I have to port the code to the different stored proc platforms. With Sqlite I can actually relase this code in a runnable format with a relatively small (2.x gig) footprint compared to the setup with the other platforms.

Well, thats a rather long winded answer.
Short answer: its coming.

8/12/2005 8:52 PM | John Sample

# re: Progress

Very cool - Now I understand why your going with sqllite.
8/15/2005 11:19 AM | Tim

Post Comment

Enter the code you see: