Map of Paris: Visualizing Urban Transportation


Update: If you are interested in isochronic maps, I have more detailed explaination of the process in my graduate thesis Seeing Differently: Cartography for Subjective Maps Based on Dynamic Urban Data, and the source code (Processing) is on GitHub.

What is your mental map of a city? I bet it’s not measured in miles. This project is part of my work in the SENSEable City’s workshop this semester. In these distorted maps of Paris, the distance between a spot and the city center is not proportional to their geographical distance, but the cost taken to get there.

Standard map vs. driving time map of Paris: the city center expands from congestion, and the edge is denser.

Comparing the isochronic map of Paris under different transportation modes: (unit: minutes, click to zoom in)

Think driving is better? However, if we map the city using carbon footprint as distance: (unit: kg CO2, click to zoom in)

In the workshop I proposed an alternative to Google Maps on smartphone map services. I call it an isogreenic map. This would have a psychological influence on the user when he decides which transportation makes the trip easier:

Made with Processing.
Vector map: openstreetmap.org
Connection data: Google Directions, RATP.com

A demo video that shows how the transformation works:

The Copenhagen Wheel: Data Viz Journal III


Presentation of the Copenhagen Wheel project at UN Climate Summit for Mayors in December was a huge success. I would like to post a few videos here which is related to my work:

The online user interface:

The idea was that pollutant information collected by the sensors embedded in wheels were transmitted to our server through smart phones. A web interface, accessible with both pc and phones, showed pollutant distribution in real time. One could browse his own data, keep a record of his contribution to a greener city, challenge with friends, and get route suggestions according to pollution level. The city management could keep an eye on the city and react to dangerous level of pollutants right away. The complete and high-definition record of pollutant maps could also cross-reference with land use, weather, transportation etc. in urban research and in long term, support policy decisions.

Tools used: Processing

Customizable Production II: Tree


This starts from a project for 4.510: Materializing Design by Prof. Larry Sass.

We made a web applet which support making customizable tree-like canopy for coffee shops. User can access to our website, build his own design in friendly 3d interface, take the generated CAD file to any nearby CNC machine and cut the parts from 3/4” plywood sheets. Following online instructions, he can assemble the parts with a few untrained men. Everything is finished locally.

We have tested the system with prototypes in various scales. The latest ones are 1:6 models made from 1/8” masonite with lasercutter. Metal pieces are cut with waterjet and hand bended. Right now the shape and angle between parts are chosen to simplify design and assembly. Next version in our plan will work with advanced machines and materials to support more flexible and fluid surface designs.


Collaborator: Felecia Davis
Tools used: Processing, Rhino, AutoCAD

The Copenhagen Wheel: Data Viz Journal II


Here are some following up images of the finally coming data. We are still figuring out the UI elements and color schemes.

Bird view of noise level:

Urban section:

CO level flowing through the streets:

NOx accumulative in one single day:

Urban heat islands:

Transportation and noise level:

Representations and Processes


This is an assignment for 4.580: Inquiry into Computation and Design by Prof. Terry Knight. We were asked to design an extension for Louis Kahn’s Richards Medical Center, and look into the relationship between process and representation.

We translated the plan into two types of components: square units and connections. We then built a program that automatically generate connections from any units layout. The appearance of a connection depended on the sizes and distance of two neighboring units. We believed the program somewhat reflected the underlying logic in Kahn’s original design, and could accommodate most possible extending scheme.


Ironically, in class, most designs submitted by the other groups could not be drawn by our program. Of course we could indicate that they do not follow the ‘true’ grammar of the original plan. After all it is impossible for such a program to accommodate any design intention. Processes are limited by the way of representation we choose. Unless we change the mechanism that machines learn and induce, they can only do things that we understand before them.

Collaborator: Ari Kardasis
Tool used: Processing