[Geowanking] TIGER processing
bthoen at gisnet.com
Fri Jan 20 18:46:04 PST 2006
Since I'm not Perl-conversant, I used Daniel Egnor's geocoder
(http://ofb.net/~egnor/google.html) instead of geocoder.us. This uses TIGER
data to geocode addresses and includes all source code in C. (There's also
some Python and C++, but you don't need that for the geocoding part.) This
code won the Google 2002 programming contest (he applied it to geocoding
documents.) I added some changes to fix a bug and get it to run with TIGER
2004SE (but it will also work with TIGER 2005FE.) It geocodes using the
straight-line street segments created from the from and to coordinates, but
with a little extra work you could modify it to follow the street exactly.
You'll want the FIPS55 data for cities and ZIP code ranges (see
http://www.itl.nist.gov/fipspubs/55new/nav-top-fr.htm) but there are ZIP
codes associated with the left and right sides of the streets in TIGER (but
they are often wrong or incmplete) and you can extract ZCTA polygons from
TIGER which are like ZIP code zones, but not exactly the same thing.
However, Egnor's geocoder just uses the ZIP codes as found in TIGER RT1
data and the FIPS 55 data to get the range of ZIP codes for a populated
The address indexing scheme he uses is very clever -- you could also adapt
it to find street intersections, and his recursive address parser isn't too
shabby either. It's harder to fool than the one used in geocoder.us.
As to parsing TIGER data into base maps, I'd really like to see something
that could do the whole nation as a batch process on a Linux machine. While
I'm wishing, how about something in C that doesn't need a gui environment?
Just for grins I recently wrote a tool that uses MS Access and VBA to
convert a county at a time into MapInfo StreetPro-like tables and other
background layers. It works great, but the gui environment is not helpful
if you have a lot of counties to do, and the fact that it has to run in
Windows is even less convenient, but the effort was just an experiemnt to
learn how TIGER is put together and to see what Access and VBA were capable
of. But if I was to do this again, I'd take the approach you're trying.
Also, since I've recently been poking around inside TIGER and been able to
make maps out of it, feel free to ask me if you have any questions about
what can be squeezed out it. TIGER is a pretty amazing free data source for
- Bill Thoen
On Fri, Jan 20, 2006 at 09:35:48AM -0600, David Bitner wrote:
> Quick question for you. I don't want to reinvent the wheel. I'm
> looking to write a script use wget or some such to grab all the 2005fe
> Tiger files and set up a process to merge the files into some national
> datasets. I'd like to write the code so that to update to further
> TIGER releases all you would have to do is change the url for the
> fetching process.
> Things I'd like to end up with:
> geocoder.us index
> (is TIGER the source for the city, state and zip lookups too?)
> streets shapefile either merged or perstate with shape index with
> overviews (local roads filtered out, roads generalized)
> Properly generalized/merged base map datasets like congressional districts etc.
> Basically, I'd like a process that we could give to anyone so they
> could freely get the most up-to-date US basemap (suitable for
> Mapserver in my case) possible (rather than paying the several hundred
> to couple thousand bucks that a lot of folks are charging to do this
> work). I'm trying to get some national basemaps together for a
> non-profit I'm doing work for.
> Any pointers to existing code? Any comments? Anyone else interested
> in this kind of thing?
> Geowanking mailing list
> Geowanking at lists.burri.to
More information about the Geowanking