Alignment issues between TIGER 2007 and OSM or Google Maps


Sample 1: OpenStreetMap overlain with US Census 2000 Blocks (darker = higher total population).



Sample 2: Same overlay, but with Google Maps as a base.



Sample 3: TIGER 2000 Census Blocks (light blue) overlain by TIGER 2007 ("current") Census Blocks (dashed purple)
overlain by TIGER 2007 edges (yellow). In Berkeley, the 2007 and 2000 versions of blocks are positionally the same.


My initial testing has been on Alameda County (California) TIGER data.
The two attached image files show an overlay of US Census 2000 Blocks
over an area south of the UC Berkeley campus.  The offset is the same
for both Google and OpenStreetMap (OSM).  This suggests that I've made a
mistake somewhere, because the OSM tiles in the United States are all
rendered from TIGER linework, so the TIGER census blocks should match
exactly.

For the same source shapefile (tabblock00.shp), there's a nearly perfect
match between block boundaries and streets in the area just South of
Oakland's Lake Merritt.  It smells like a datum conversion issue...

The conversion path was from shapefile to PostGIS using shp2pgsql.  I
used a custom projection of 32767 rather than 4269 because the existing
srtext for 4269 had a degree value as 0.01745329251994328, but the US
Census metadata listed a degree value of 0.017453292519943295.  Perhaps
not significant?  My spatial_ref_sys entries for 4269 and 32767 are
otherwise pretty similar:

SRID: 4269
SRTEXT: GEOGCS["NAD83",DATUM["North_American_Datum_1983",
SPHEROID["GRS 1980",6378137,298.257222101,
	AUTHORITY["EPSG","7019"]],
	AUTHORITY["EPSG","6269"]],
PRIMEM["Greenwich",0,
	AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
	AUTHORITY["EPSG","9122"]],
	AUTHORITY["EPSG","4269"]]
PROJ4TEXT: +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

SRID: 32767 
SRTEXT: GEOGCS["GCS_North_American_1983",
DATUM["D_North_American_1983",
SPHEROID["GRS_1980",6378137,298.257222101]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]]
PROJ4TEXT: +proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs

To display census block data in OpenStreetMap, I extract it from PostGIS
with a transform to EPSG 4326, although the coordinates don't seem to
change as a result.  (This seems correct, as datum=NAD83 and datum=WGS84
are, for my purposes at least, are essentially identical.)