CensusMapper is a Windows 8 app that retrieves U.S. Census Data using the recently released Census API and displays that data on a map using Microsoft’s Bing Maps API. The application is built using XAML and C#. The intent of this version is to establish a proof of concept as well as introduce a design and user-experience direction to be explored and evolved going forward.

Upon startup, the app retrieves the population counts for each U.S. State and displays those counts in a marker positioned in the geographic middle of each state.

CensusMapper - Initial View

The user can zoom and pan to locate points of interest. When the user taps or clicks on a point of interest, the app determines the geo-coordinates of the selected location, makes a Bing API call to get the address information for that geo-coordinate and then makes a Census API call to get the population count for the zip code in which that geo-coordinate is contained.

CensusMapper - Showing points of interest

The data is displayed using custom ControlTemplates created using XAML. There are two custom ControlTemplates in this version: one to display the state counts and another one to display data about the user selected points of interest. The ControlTemplate allows complete control of the layout and display of information obtained from Census API, including embedded graphics, tables and charts.

The app uses the async/await keywords introduced in .NET Framework 4.5 to create a responsive user experience.

The current version of the app retrieves and displays only total population count for states and selected locations. However, the census API provides access to a rich set of data that can be obtained by making further enhancements to the app. The source code for this version of CensusMapper is available on GitHub.

Census API was released in July 2012. The API exposes data from the census surveys conducted in year 2010. You can get more information about the API from U.S. Census Bureau website.

More information about the data sets exposed by the census API can be found here: