Twin Cities Metro in 3D

posted: July 11, 2005

I extended the Demographics app to build out part of the twin cities metro area:


Click to enlarge

I didn't have to do much to the code other than create a new collection class that obtains the city boundaries of my choice. Included are these cities: Chaska, Chanhassen, Eden Prairie, Bloomington, Richfield, Edina, Eagan, Burnsville, Minnetonka, Hopkins, Maple Grove, Plymouth, Golden Valley, St. Louis Park, Minneapolis, St. Paul, Crystal, New Hope, Robbinsdale, Falcon Heights, St. Anthony, Roseville, Columbia Heights, New Brighton, Maplewood, Woodbury, Little Canada, Oakdale, Mendota Heights, South St. Paul, and North St. Paul.

You can see in the image that I was able to fix up some of the lighting/mesh defects that I was experiencing in my last post on this topic. Everything looks smooooth, and the depth/shadows look pretty cool.

So, my ultimate vision is to somehow represent demographic data on the map such as income, education, population, etc. Two ways of accomplishing this are through relative height and color. The idea is that a city with a higher unit value (e.g. high population) will be taller and colored darker (e.g. red) than a city with a lower unit value (e.g. short and green). With some random data I applied these two characteristics to each city:


Click to enlarge

More screenshots

Close up of the different heights/colors (notice the missing chunk [the airport] in the southern area between Minneapolis/St. Paul:


Click to enlarge

View from the bottom:


Click to enlarge

Lighting from the bottom creates a neat effect:


Click to enlarge

By the way, I'm not sure what that sliver is over in the negative x/negative z space. I probably accidentally marked a city I didn't want for inclusion in my cities collection.