Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

Incorporated Places

Incorporated Places randomly chooses an incorporated place weighted by its population, zooms in to it, and pans around the area. Approximately every 90 seconds, it chooses a new place and zooms to it and beings again. You can click to cycle through road, satellite, and hybrid map modes. Other than map mode, the viewer has no control over the experience.

It is intended to make the viewer appreciate the country's geography, think about the people living in each place, and, most importantly, please viewers aesthetically.

The code

The map uses a JSON file containing the population and name of every incorporated place in the country. To create the JSON data file, use, which takes as input a U.S. Census incorporated places population dataset and outputs the JSON to the second positional argument:

./ SUB-EST2009-IP.UTF-8.csv places.js

N.B.: uses Python's csv module, which currently has problems with inputs that are not UTF-8. Thus, it is necessary to convert the character set of the Census's csv:

iconv -f ISO-8859-1 -t UTF-8 SUB-EST2009-IP.csv > SUB-EST2009-IP.UTF-8.csv


Infinite thanks to the Google Maps team for creating a map so fun to look at and an API so easy to use, I had to create this.