Chapter 6. Finding and Working with Geographic Data
We have spent significant time creating and interacting with maps in our previous chapters. In all our examples, the geographic data was included. In this chapter, we will explain how to find geographic data about any country in the world.
There are typically two sets of data that we will need to create a map in D3:
A dataset that represents the geographic shape of our map (geo data)
Some meaningful data that we want to visualize on the map (for example, population density by US counties or unemployment rate by countries in the world)
This chapter is focused on understanding, manipulating, and optimizing geo data for map visualizations. We will accomplish these goals by:
Explaining three important formats that contain geospatial vector data
Finding, downloading, and working with large amounts of map data
Using techniques to build the right geo data file for your map
There are dozens of file formats that represent geographic information. In this section, we will focus on three file types: shapefiles, GeoJSON, and TopoJSON.
What are shapefiles and how do I get them?
Shapefiles are the most popular vector-based file format. They contain polygons and lines that represent geographic boundaries. The shapefile format was developed by the company Esri as an open standard to work with Geographic Information Systems (GIS). This vector information can also describe other geographic entities (rivers, lakes, and railroads). In addition, the file format has the ability to store data attributes that are useful when working with visualizations (for example, the name of the geographic object, the type, and some relationships). Most importantly for us, there is a large repository of free shapefiles located at http://diva-gis.org. This repository contains a tremendous wealth of data at different levels of specificity and granularity.
Unfortunately for...
At this point, you should feel confident that you can find and modify datasets to your needs. We've covered common locations from where you can acquire data and we've touched on the different types of flags topojson offers. With these skills, it is up to you to make sure your data is trimmed and is acquired to your visualization needs. This closes the circle of developing maps with D3. In the next chapter, we will refine your craft by focusing on testing your visualizations.