As I mentioned in the comments, I noticed that all three distortion rectangles were attached to data with the id property ending in ZZ , while all other paths had identifiers ending with numbers.
After some Google searches, I came up with what I think is the answer.
According to this document on the census.gov website,
In Connecticut, Illinois, and Michigan, a state member did not designate the current (113th) congressional districts to cover all state or equivalent territory. The code "ZZ" is assigned to areas where the congress area is not defined (usually large ponds). These unrecognized areas are considered statewide as a single congressional district for reporting purposes.
It seems that these three undefined constituencies will make up three rectangles. It is not clear at what point in the process they cause the problem, but I believe there is a simple solution to your immediate problem. While searching for information on ZZ code, I came across this makefile in an mbostock project called us-atlas .
It seems he faced a similar problem and managed to filter out congressional districts undefined when ogr2ogr started. Here is the corresponding code from this file:
# remove undefined congressional districts shp/us/congress-ungrouped.shp: shp/us/congress-unfiltered.shp rm -f $@ ogr2ogr -f 'ESRI Shapefile' -where "GEOID NOT LIKE '%ZZ'" $@ $<
I am sure that if you run your ogr2ogr in your shapefile using the flags listed here, it will solve the problem.
jshanley
source share