Using Kepler.gl

The WPA Slave Narratives are a rich, but complicated, source base for researchers studying the history of slavery or even the history of the oral history project itself. There are many ways to explore the narratives, with close readings being the most common. But the narratives also are inherently about place and space–each interview was done in a particular place with a person who had been formerly enslaved at a specific location recorded by interviewers. That makes this source base a particularly interesting one to explore using digital humanities mapping tools, such as Kepler.gl.

Kepler.gl offers a powerful tool for mapping projects. With Kepler.gl, you can turn geographic information into many different kinds of interactive maps that can then be embedded in other sites. While Kepler.gl is reasonably user-friendly, you have to start with properly formatted geolocation data and it helps to have a clearly written guide in front of you to explain the different options that are available and to lay out the steps one has to take to change facets of the map’s appearance or the information that the map conveys.

The first step for using any mapping tool is assembling geographic data that can be uploaded to the tool. That data can include many different kinds of information—in the case of the information that I used to test the program, which was information about WPA ex-slave interviews done in Alabama, the data set included the name of the interviewee, categories related to the interviewees identity, the date of the interview, and of course the geographic location where the interview took place. Those locations must be georeferenced as latitude and longitude measurements. Longitude and Latitude information for different locations can be found through free georeferencing sits like mapcoordinates.net.

Once the data is assembled in proper format in a csv file, with columns that contain the spatial data clearly labeled as longitude and latitude, it can easily be uploaded to kepler.gl by simply dragging the file into the upload box. Once data is uploaded, the user has a range of choices about the kind of map they want to create.

  • First, click on the “Layers” icon in the far left of the second row on the upper-left menu. Under the menu that appears on the side, you can click on “Basic” to choose between different types of maps. Point maps, cluster maps, and heat maps all display the exact same data but in slightly different ways. On point maps, each item appears as a point on the map, although kepler.gl cannot represent multiple points at the same location. Cluster maps, then, can be particularly useful when there are multiple items in the same geographic location since the size of the cluster will depend on the number of items associated with a particular location. A heat map offers a similar way to visualize the locations where the data points are concentrated.
  • Whichever of these kinds of maps you choose, there are tools in the “Layer” menu that allow you to change the color and size of the points as they appear on the map.
  • Clicking on the “Base Map” icon—on the far right of the second row of the top menu—you can choose whether the base map should be colored light or dark, as well as what layers you want to appear on the base map (whether you want borders to be visible, for example). To click on or off map layer elements, you click the eye symbol next to that layer name.
  • You can also use kepler.gl to layer two different kinds of maps on top of each other or to see them side-by-side in a dual map view. To do that, go back to the Layer menu and click “Add a layer” and choose a different type of map to view. For the new map, you will need to go to the “columns” section and then will need to go to the boxes marked “Lat” and “Long” and use the pull down menu to select Latitude and Longitude, respectively, from the data categories. The map on your screen will now have both types of maps layered on top of each other. To see them side by side you can click on the dual map button at the top of the far right of your screen. That will now show two copies of the layered maps next to each other, but by clicking on the “Layer” icon on the right hand side of each map, you can choose which layer you want that particular map to display so that you can easily compare the two different kinds of maps.
  • You can also have kepler.gl use the information from other categories of your data in the map. In a Time Map, kepler.gl will create a timeline at the bottom of the map that shows when different events took place. You can click on the play button to see the dots appear on the map in the chronological order in which they took place. To create a time map, go to the Filter icon in the second row of the top left menu (which helpfully looks like a funnel) and click on “Add filter.” From the pull down menu, choose the category that correlates to the time in your data. Press the play button and the points will appear on your map as they took place. You can control the speed of the playback, as well as whether the timeline itself appears on the map display.
  • In a Category map, you can map different categories of data from the same dataset. However, because kepler cannot do multiple filters per dataset, you will need to upload your data a second time if you want to map by two different categories (such as by whether the interviewees had worked in the house or the field). To add your data again, click on “Add Data” under the Layers menu and upload the same data you used previously. Both datasets will now appear, each represented in a different color. You can click on the title box near the top of the Layer menu to change the name of the layer (from Points to, for example, House). You can then click on the Filter button, choose one of the datasets, select the field that corresponds to what your trying to map (in this case, the category is “Type of Slave” and click on house under the Values menu. Do the same with the other dataset choosing the field instead and the map will now color code the dots representing each interview by whether the interviewee had been a house or field slave.
  • Finally, you can also create a network map that shows movement or connections among your data if you have the appropriate data to do so (namely two different sets of geographic data for each individual item). To create a network map, go to the Layers menu and select the “Arc” option. Click on the Lat0 and Long0 boxes and select the first Latitude and Longitude information. Then click on the Lat1 and Long2 boxes and select the second set of geographic data. In the case of the WPA narrative, this data was first, the geographic locations where an individual was interviewed, and second, the geographic data for where they had been enslaved. You can see the map in 3D by clicking the 3D icon on the right to get a better visual sense of the data. The map below shows what a 3D arc kepler map looks like.
  • You can export an image of the any map (not an interactive version) by clicking on the Share button in the far right side of the top row in the menu box and choosing “Export Image.” That will take you to a screen where you can choose the size and resolution for your downloaded image. This export function is tricky, however, and it may take multiple tries with downloading the image in different sizes and resolutions for it to work. Alternatively, if you want to embed an interactive version of a map in a website, you can choose “Export Map” where you can export an html version.
Mapping is an exciting research tool that highlights the spatial nature of a dataset. Mapping allows a researcher to focus on space as a category of analysis in ways that can raise new questions or that offer new interpretations of existing data. In the case of the map above, for example, Kepler.gl offers a way to better understand the migration patterns of formerly enslaved Alabamians. The cluster and heat maps of the Alabama data show that while interviews took place all over the state, many were clustered in urban areas. The time map adds to our understanding of this data by making clear that most of these interviews were done within a relatively short time frame. All of those insights offer material for raising new questions or developing different arguments. Kepler.gl takes some practice and some guidance, but it is an excellent resource for those who are working with geographic data.

2 Replies to “Using Kepler.gl”

  1. Wow this is very cool! Is there a way to search for a specific Alabama county using this awesome interactive map you’ve created?

    1. Hey Eli, I’m afraid this map doesn’t contain data organized by counties. There are lots of interactive maps about the history of slavery out there on the web. This one is very rudimentary!

Leave a Reply to Eli Kirshner Cancel reply

Your email address will not be published. Required fields are marked *

css.php