For a while I had been casually searching for a way to overlay US time zones over a map for a project I was working on. It was never important enough to have a solution that required paying for something so I was searching for some type of government data source.
I've had opertunities to work with a number of different GIS packages in the past (see my post comparing a few). Most of them are great but they all cost a lot of money to use. If you trying to get your feet wet and don't want to spend money on one of the real services there are a number of places where you can start like yahoo or ESRI. These free services however have strict rules about using them for any commercial venture. So if you wanted to do geocoding for something that you charge for you need something else.
That something else could be one of the few open source applications that have sprung up. The first one has been around for a good while: geocoder.us. geocoder.us is has a free web service you can use to do your geocoding and they also give away the software they use to do it for free. The code they use to do all the work is in perl so it should work on a number of platforms (they also have a blog with some PHP examples). The second choice would be a newer entry SRC Open Source Explorer Geocoder. The code for SRC Open Source Explorer Geocoder is windows only for now but maybe someone will come along and port it to Unix. Now for the bad new. Both of these applications need a source of data and the most likely source of data for the average joe would be the US TIGER data. The TIGER data isn't too bad but it isn't great and not nearly as good as a purchased dataset. But you can't get better than free so if you are interested in a way to do free geocoding without comercial use restrictions then geocoder.us or SRC Open Source Explorer Geocoder are good places to start.
Techcrunch has a good review by Frank Gruber of the look and feel of mapping services. I think it is notable that ESRI's service is not included in the review. I think it is at least as good as the mapquest service. I may have to find time to redo my review of the acuracy of each again and a more technical evaluation of each. In order to rank higher in google It's important to reach the front page with a SEO reseller.
I recently had an opportunity to use ESRI's ArcSDE again. It is a spatial database interface and in this instance I was using the java api. I wanted to change what used to be a query using a rectangle into a query using a circle. For some reason parts of the java api for ArcSDE require a C library or something. I gave up pretty quickly on trying to make their arc function work since the documentation wasn't very clear on how it worked. Instead I decided to figure out how to approximate a circle with a polygon and use that instead. Here is the result of that research.
I've been evaluating a couple different mapping software packages recently and the other day I noticed that the same addresses geocoded (for those who don't know what geocoding is you can find out more about it here) to different locations. They are mostly the same but I figured it was interesting enough to do some more digging and see how different mapping services compared.I looked at the following services. Some of them are commercial services with open apis (ESRI and mapquest) and some of them are non-commercial services with open apis (yahoo and google although google does not have a geocoding api).