Lab 02
Visualizing the Transatlantic Slave Trade
This lab walks you through working with and formatting spatial data. It draws on a large dataset about enslaved people’s voyages. It written by Carolyn Talmadge on January 3, 2024 for ArcGIS Pro 3.1.4 and updated by Ian Spangler on February 10, 2025. It is broken into five sections:
- Preparing your workspace
- Download and understand the data
- Studying the attributes & attribute table
- Executing complex selection queries
- Cartographic strategies & map layout
By 11:59pm on Wednesday, 2/19, submit to Canvas:
- A document in
pdfordocxformat, answering all the questions in green boxes, and which are summarized in the lab deliverables section - A map in
pngformat, exported at 300 DPI, as directed at the end of the lab
Introduction and context
The Middle Passage
The Transatlantic Slave Trade, or Middle Passage, was a world-historical and history-defining tragedy. We understand a great deal of contemporary problems and processes, from capitalism to colonialism, in relation to it. While the Middle Passage can be quantified in a technical sense—and thus, it can be represented—it also exists beyond representation.
How can we understand the violence of those numbers, those visualizations? To what extent are we bound by the violence of those numbers when we use them? And what can we do to use them strategically, to make the most out them and move from a mere accounting of disposession towards a diagram of reparation?
Obviously, this lab won’t give you the answers to those big questions. What it will do is introduce you to a major dataset that helps us bear witness to the Middle Passage, and lead you through the steps of using ArcGIS Pro to visualize and contextualize some of its geographies. Your final map will display the number of enslaved people transported from Africa to Antigua during between 1676 and 1805.
From a technical perspective, the lab covers adding data to ArcGIS Pro, symbolizing categorical and quantitative data, selecting data by attributes and location, attribute table tools, and composing a final map layout. However, as you proceed through the lab, you should bear in mind the words of Katherine McKittrick (2014:19), a geographer and Black studies scholar who has written extensively on anti-Black violence, erasure, and place (it’s a long quote, but it’s well worth reading in full):
While… black dispossession reveals the limits of our present geographic order and opens up a way to imagine new modes of black geographic thought, it is challenging to think outside the interlocking data of black erasure, unfreedom, and anti-black violence. Putting pressure on archive numbers that, particularly in the case of the middle passage and plantation life, are the only documents that tell us about the ways in which the practice of slavery set the stage for our present struggles with racism, is difficult.
So, what do we do with the archival documentation that displays this unfree and violated body as both naturally dispossessed and as the origin of new world black lives? How do we come to terms with the inventory of numbers and the certain economic brutalities that introduce blackness—the mathematics of the unliving, the certification of unfreedom—and give shape to how we now live our lives?
And what does it mean that, when confronting these numbers and economic descriptors and stories of murder and commonsense instances of anti-black violence, some of us are pulled into that Fanonian moment, where our neurological synapses and our motor-sensory replies do not result in relieved gasps of nostalgia or knowing gasps of present emancipation (look how far we have come/slavery is over/get over slavery/post-race/look how far) but instead dwell in the awfulness of seeing ourselves and our communities in those numbers now? This is the future the archives have given me.
It’s okay if you don’t catch every reference that she’s making in this excerpt (e.g., what’s a “Fanonian” moment?). Take a moment to carefully consider what she is saying here before you move on to the next section.
Understanding the Slave Voyages Database
Anytime you work with a new dataset, it is important to research the data to have a thorough understanding of what records and attributes are included, the time period the data represents, how the data was created, limitations of the dataset, along with much more.
The SlaveVoyages website is an excellent and vast resource that allows users to explore the origins and forced relocations of enslaved Africans across the Atlantic. The SlaveVoyages website is a collaborative digital initiative that compiles and makes publicly accessible records of the largest slave trades in history. It includes a number of different databases including the Trans-Atlantic Slave Trade database, the Intra-American Slave Trade database, and the Enslaved Databases.
This activity will specifically focus on data from the Trans-Atlantic Slave Trade database. Therefore, it is important to read about the database on their website, along with any metadata that is provided.
Go to the Slave Voyages website at https://www.slavevoyages.org/
Explore the landing page and the information provided about the different databases.
Click on the drop down for Trans-Atlantic and go to “Understanding the Database.”

Understanding the database Look through the information provided on this page. There is significant information provided from the sources, to dates, names, geographic data, and much more.
Click on the Data Variables link on the left. This is an important page to look through, as it provides the key variables and data that can be mapped in the database.

Data variables
Go back up to the top drop down and under Trans-Atlantic, select Database. You will now see a database that has over 36,000 records (e.g., voyages). Notice how on the blue bar you can filter the data by fields such as year range, ship, itinerary, enslaved people, dates and more.

Filtering the database
Try filtering the data by one or more variables and see how it changes the results. You can view the results in many different ways:
- The results tab shows all individual records of each voyage
- The summary statistics provides summary information at a high level
- The tables tab allows you to create your own table using variables and outcomes of your choice
- The data visualization tab shows the data by 3 different graph types
- The timeline provides a line graph over time
- The maps tab allows us to visualize the data in an interacvtive map. Note that as you zoom in, the map becomes more detailed and as you zoom out, it becomes more generalized. This is a popular mapping technique to not overwhelm the viewer with too much detailed info when zoomed out.
- The Timelapse shows the data as an animated map by date, with additional visualizations embedded in the map.
Click through the different results tab to see the data visualized in different ways.
Notice how on any of the results tabs that are tables, you can download the data at the top right of the table. You can also configure the columns and fields. On the data visualization tab, you can download the graphics or raw data. In the rest of the tutorial, we will use data that has been previously filtered, configured, and downloaded.

Download graphics or raw data
Now that you’ve actually examined the data, write a short reflection on this data. You should use the McKittrick quote from earlier, as well as the Jamelle Bouie piece you read before class.
In a few sentences (no more than 5), describe what you think McKittrick is saying in that excerpt you read above. How does her point relate to the argument that Bouie made in his article about the SlaveVoyages database? What impact should their arguments have on the way you approach making a map or doing research with this data?
Creating your workspace
Since Pro makes you choose a home folder when opening the software—and also because it’s just best practice—your first task is to determine where you will be saving all your spatial datanand project files.
Options for where you can save include: * your personal H: Drive—recommended * your Tufts Box account—not recommended * a personal thumb drive * a location on your computer’s hard drive—only if you are using a personal computer
This lab assumes you are saving and storing data in a GIS folder in Tufts H: Drive, but you can choose a location that works best for your situation.
If you plan to use the H: drive, the folder must be mapped and connected under This PC in files explorer. Follow the instructions to map your H: drive on your personal computer (it maps automatically in the Data lab or TTS Engineering VDI).
Search for ArcGIS Pro in the windows search bar and open it.
Sign in using your Tufts credentials. You can sign in at the top right-hand corner.
Click on “Sign in with Your ArcGIS organization’s URL”.
Enter “tuftsgis” as the organization’s URL. If this is your personal computer, you can check remember this URL and it will be faster next time.
You will then be prompted to log in with Tufts University. Press the blue Tufts button.
Log in with your Tufts UTLN and password. You will also need to go through Duo authentication. Press
Login. Now you should see your username at the top right of ArcGIS Pro, as shown below.
Login with Tufts UTLN and password
To start a new project, click on Map, as shown above.
A “Create a New Project” box will open with the option to name your project file and choose where to save it. This is important to not rush through. What you name and where you save the project is very important for good data management and organization. It is much harder to change this name/location down the line if you don’t do it properly from the start!
Name your project
TransAtlanticSlaveTrade.Under Location, click on the folder icon
and navigate to where you want to save your project (this tutorial will use the H: drive).Click on your
H: drive➡️week03➡️workspace. Don’t double-click intoworkspace—just click it, and select OK.
A new blank map will open, with your familiar interface components including the Contents pane on your left, the Catalog pane on your right, and the Map pane in the center
Under Catalog, double click on Folders and you will see your connection to the
homefolder TransAtlanticSlaveTrade Folder (notice the little house icon indicating it’s your home folder). If you hover over the folder, it will show you the path (aka the folder location) where the project is saved.
Find your workspace in the ArcGIS Pro Catalog
When you unfold the
TransAtlanticSlaveTradehome folder, you’ll see a file calledTransAtlanticSlaveTrade.gdb. This is a geodatabase. The data that you’ll use for this lab also comes in geodatabase format. As you saw in Lab 01, any tools that you run will automatically save the new GIS files into the geodatabase. ArcGIS Pro will often encourage you to save other spatial data in it—just note that they’ll be saved as feature classes instead of shapefiles. Esri has written about both geodatabases and features classes if you want to learn more right now.
Downloading the data
The data for this lab has been pre-processed for you. Download it here: https://tufts.box.com/v/AtlanticSlaveTrade
Download this entire zip folder called
AtlanticSlaveTrade_TutorialData.zipby clicking on Download at the top right. Depending on the browser you are using, it might ask if you want to save, put it in the downloads bar at the bottom, or save it directly into your Downloads folder.
In the Windows File Explorer, navigate to your Downloads folder. Copy this zip folder and paste it into your
TransAtlanticSlaveTradefolder. Make sure to paste it INSIDE your project folder. This will ensure that the data for the tutorial is WITHIN the ArcGIS Project home folder, making it easier to access in Pro and for better project data management.
After pasting the zip drive in your
TransAtlanticSlaveTradefolder, right click on theAtlanticSlaveTrade_TutorialData.zipfile Extract All. Confirm the location where it is extracting is correct and press Extract.
This process unzips or extracts all the components of this zipped folder. In your folder, you should now see an unzipped file also called
AtlanticSlaveTrade_TutorialData. The zipped file will still be there, which is useful to keep as a backup in case the unzipped data somehow becomes corrupted.Now that you’ve unzipped the data, we can work with it in ArcGIS Pro. You cannot see data inside folders that are zipped up in ArcGIS Pro. You must always unzip it first to be able to work with it.
Go back to your ArcGIS Pro project and on the right side in Catalog, right click on your home folder “TransAtlanticSlaveTrade” and press Refresh. This will allow us to see any new files or folders added to this folder.

Double click on your home
TransAtlanticSlaveTradefolder and then double click on theAtlanticSlaveTrade_TutorialData. You should now see 3 shapefiles with the extension.shpthat will be used for this activity, and one geodatabase *with the extension.gdbcontaining the preprocessed data.
Double-click on the
SlaveVoyagesDatabase.gdbto expand it and you will see another file calledAfricanPortsAntiguaEmbarkments_1676_1805. This is a feature class.Pull this
AfricanPortsAntiguaEmbarkments_1676_1805feature class into the map by dragging and dropping the file in the map. The map will zoom to the extent of the data.One by one, drag the other three shapefiles onto the basemap. Take note of what each shapefile looks like when you add it to the map. Are they points, lines or polygons? (The icons in Catalog will give you a hint).
You should now have 4 layers in the map, plus 2 basemaps.
To the left of the screen in the Contents pane, underneath “Drawing Order,” order the layers by dragging them into place. You want the largest polygon layer, the
continentslayer, on the bottom and the points on top so we can see them. They should be in this order as shown below.
Turn all the layers off by unchecking the box next to the layer name. Then, one at a time, turn each layer on again so you can see what it looks like. When you’re done looking at them, make sure you turn all the layers on.

Exploring the Map
Switch to the Map tab at the top of ArcGIS Pro

Remember, the Explore button allows you to move (or pan) the map by left clicking on your mouse. You can also zoom in and out using the mouse scroll wheel.
You can click on any of the data in the map to pull up their attributes to learn more about that particular point or polygon.
Just so they’re easier to distinguish, update the symbology for the
AfricanPortsAntiguaEmbarkments_1676_1805layer. To do this, click on the point underneath the layer name in the Contents Pane. (This is a quick way to open the symbology pane, but you can also right-click on the layer name and click “Symbology.”) Click the large “Circle 1”, for quick and easy distinguishing.
Now, click on any point in the
AfricanPortsAntiguaEmbarkments_1676_1805layer. What information do you see in the pop up? What do you think is being mapped based on the layer name and attribute names?
These variables in the pop up are called attributes and provide us information stored in each layer’s attribute table. The attribute table shows descriptive information about feature data.
In this
AfricanPortsAntiguaEmbarkments_1676_1805layer, the points—or “features”—represent the location of the ports that had voyages embark specifically to Antigua during 1676—1805.What are three attributes, along with their values, associated with the feature you clicked?
Zoom into a part of Africa and hover your cursor over the continent. You can also hold down
shift, and with your mouse, draw a box around where you want to zoom in. Then it will zoom to that extent.Additionally, you can “Zoom In” and “Zoom Out” using the fixed zoom in and fixed zoom out tools on the map pane.

Use the “Zoom to Full Extent” tool to go back to the full view of your largest dataset (in this case it zooms to the world, since we have a layer with all continents in our contents).

In ArcGIS, you can place the cursor over each tool in the menu without clicking to see a description of what it does. Hover over the Explore icon and try out some of the shortcuts.
Right click on
AfricanPortsAntiguaEmbarkments_1676_1805and select “Zoom to Layer”. This is another way of zooming into a specific layer’s extent.Turn off the
Continentslayer.ArcGIS Pro makes easy to change the standard basemap. Note some you can turn on and off labels. This lab uses the Modern Antique Basemap.

Base map menu
Now choose
Project>Save. You have already created a project file name for thisTransAtlanticSlaveTrade.aprx. A project file is a very small file that contains pointers to your datasets—it does not actually save the datasets.
The
aprxproject file remembers what you had displayed in your map session and how you had it styled, along with how far you were zoomed in/out. If you quit ArcGIS Pro at this point, you can reopen this map by re-opening theaprxfile.
The Attribute Table
Now, let’s gain a better understanding what each of these layers represent and look at the descriptive information attached to them—a.k.a., their attribute tables. It is important to examine and understand the data in the attribute table, as that is where the bulk of descriptive qualitative and quantitative data is stored. In this case, we’ll be working with vector data, or points, lines, and polygons.
In the attribute table, each row represents an observation (e.g., a point) and each column contains additional information, or “attribute,” about the observation. These attributes can be qualitative data (e.g., categorical data) or quantitative data (e.g., numerical data). The data in the attribute table can be mapped (e.g., symbolized) so it shows more than just the location of the port itself.
The data we are working with in this lab is suitably “tidy,” which is to say, each variable has its own column and each observation has its own row.
Right click on the
AfricanPortsAntiguaEmbarkments_1676_1805layer and click “Attribute Table”.
The
AfricanPortsAntiguaEmbarkments_1676_1805are points (features) that represent the ports that had voyages embark specifically to Antigua between 1676 and 1805.The attribute table contains additional information about the ports, including the total number of enslaved people who embarked, per port, for Antigua, in 25 year increments between 1676 and 1805.
Each port is represented by a row in the table which is connected to a point in the map, and each column is a variable about the ports showing the name of the port, the country each port is located in at the time, and the total number of embarked enslaved people between different 25 year time frames.
Look at the bottom of the table and you will see that there is a total of 33 different points (ports) included in this layer. This is summarized data, where each port is only listed one time and has data on the total or sum of embarked people at that port during each time frame. It doesn’t show individual voyages from these ports.

The attribute table for the Antigua embarkments layer
Now, right click and open the attribute table for the
EmbarkmentPorts.These points represent the departure port of every transatlantic slave trade voyage made between 1619 and 1808. This data is very different than the
Antigualayer we just looked at: it is not a summary of enslaved people embarking from each port, and it actually shows a lot of details about each individual voyage.Look at the different attribute fields and all the data that is contained in this attribute table: vessel name, the first and second leg of the voyage, year of arrival, number of enslaved people that arrived, captain’s name, date, and latitude and longitude.

The attribute data for the embarkment ports layer
This is a very large dataset. You might notice it’s a bit slow. That’s because unlike the port data with 33 points, this voyage layer has over 20,000 points. However, look at the map: it certainly doesn’t look like 20,000 voyages. What’s happening?
Since many of these voyages departed from the same port, there are actually many many different points on top of each other at the departure ports, so its hard to visualize the depth and breadth of the Middle Passage using this data in its current form.
That’s something you’ll change as you work through the lab.
Now, open the Attribute Table for the
AfricaSourceRegions. This polygon data represents the approximate administrative regions on the west coast of Africa around the 18th century, based on today’s country borders. We can see that there are a total of 7 polygons, along with 3 main attributes about the polygon regions:Nameshows the contemporary name of the country todayRegionis categorical data that provides the historical name of the region around the late 18th centuryANT_Embarkis quantitative data that has the total number of enslaved people embarked between 1676 and 1805 departing from each of these regions.Lastly, the Continents layer shows the global continents. This was included for background data but still has very basic data such as the area of each continent and the name.
Notice how when you have multiple attribute tables open, they actually all stay open, and it is easy to flip back and forth between them by clicking on the tabs.
Close the attribute tables for now. We will get back to them soon.
Assigning Proper Layer Names
Now that we understand what each of these layers represent, we should give the data layers better names than what they have now. We’ll remove any “data speak” by taking away underscores and making the layer name more comprehensible.
Right click on the
AfricanPortsAntiguaEmbarkments_1676_1805layer and choose Properties. You can also get to the Properties window by double-clicking on the layer name.When you see the Properties dialog box, click on the General tab and under Name, type in “Embarkment Ports to Antigua: 1676-1805”. Press OK when finished. (Because this is just a layer name, and not an actual file path, spaces and dashes are allowed—even encouraged!)
Follow the same steps to rename all the layers as shown below so they do not have any “data speak” and the layer names make sense. In the future, points will be deducted on assignments when these kinds of “data speak” names appear on your final map.
For a quick way to change the name, click the layer once and then press F2. Now you can change the name without going into the properties. You can also click on the layer name, then wait a few seconds while hovering over the name. It will change into a typing view to let you type. Hit Enter or click off when finished to save the name.
Change the names of all layers to what is seen below:

Again, note that changing the name of the layers in the table of contents does not change the original shapefile or feature class name in Catalog. It is just an alias and is connected to the legend when you are creating a final map layout.
Attribute Table Tools
Sorting, Statistics, and Fields
There are a lot of functions within the attribute table, from sorting each field to adding new fields and creating field calculations. This section will give you an overview of using them.
Turn off the
Voyage Pointslayer and make sure theEmbarkment Ports to Antigua: 1676—1805layer is on. Right-click on the layer and open attribute table.Double click on the Name column header. This sorts the names alphabetically from A-Z.
Alternatively, right click on the Name field. There are a ton of options for organizing the field in addition to Sort Ascending and Sort Descending.
ArcGIS Pro is all about the right-click. When in doubt, right click on something you care about and there will be options.

Now, right click on the
yr1801_1825field header and press Statistics. This provides statistical summaries about this one attribute field.
Look through the information presented in the pane on the right. We see statistics about those embarked from 1801—1825 such as the mean (average) number, Min, Max, Sum, Standard Deviation, and more. A histogram of the data is also provided and if we click on one of the bars in the histogram, it selects the data in the map too.

If data is selected in the map or attribute table, in the statistics we see 2 columns. The first one shows the statistics for the entire column, while the second shows the statistics for only the selected records.
We can also create new fields in an Attribute table and build formulas (just like if we were working in Excel). For example, right now we have the number of embarked slaves in 25-year time increments between 1676 and 1825. We don’t have the total number of embarked slaves from each port over that entire 150 year time span—but we can easily calculate it.
In the attribute table, locate the Add button and click it.

This will bring us to a new table view showing all the fields in the attribute table, along with any aliases (this allows you to type out the full variable without data speak) and the data type and number format (optional).
In the last row, there is now a blank row for you to add the new field we want to create. Unlike Excel, there are not just endless cells for us to type into. Each time we want to create a new column that’s part of the table, we have to first add the column to the table.
Type in the Field Name as
Total_1676_1825. Spaces and hyphens are not allowed in field names. Set the Data type todouble—this is a numerical data type that allows for decimal places. Other numerical data types includelongandshort, but these do not allow decimal places—only integers—so unless you’re certain that your field won’t require decimals (e.g., a date field), choosedoubleby default. (You can leave the “Number Format” column empty or set it to numeric, which is its default setting. There are also options to set it as things such as currency, angle, percentage, etc.)Lastly, you must saves any edit you make to the table before they are visible in the attribute table. Click Save at the top (not project save, but save under the Fields Tab as shown in the picture below).

Switch back to the
Embarkment Ports to Antiguaattribute table by either clicking on the tab for it by the tables, or right-clicking on the layer and attribute table. Now you will see there is a new column added to the end that is full ofNullsbut has the name you gave it.
Either right click on the new column and click Calculate Field, or click on “Calculate” at the top left of the table. This will open the Field calculator, which allows us to build a formula for this column. We want to calculate the total number of embarked slaves, which means we need to add all 6 time frames together with simple addition.
This calculator uses Python 3 to build the formula, so the syntax is very particular. When you’re getting started, always use the fields and operators lists to build queries. Double-click on the fields to add them to the calculation, and then click once on the
+sign to add it to the expression. Do not attempt to type in the expression unless you know Python.
The new column should populate with the results showing us the total number of embarkments to Antigua between 1676 and 1805 per port.
Note that you might receive a warning about
Nullvalues. This is just because two of the ports have no data, orNullvalues for their values and it’s just warning us it couldn’t come up with an answer for those two ports. No big deal.
Which port saw the greatest number of embarkments for Antigua bewteen 1676 and 1825?
Selection Methods
Selecting Manually
If necessary, click back on the tab for the Embarkment Ports to Antigua attribute table. Now click on the row for Alampo by clicking on the 1 as shown below. You might want to resort by the Name field by double-clicking on it to quickly sort it. Notice how when you click the row in the Attribute Table, it also selects the point in the map, and it shows us at the bottom that 1 out of 33 points are selected. This is called manual selection.
You can manually select features in the attribute table, and you can also manually select features by clicking on them in the data frame (or the map view) with the select tool.

Select a different row/feature in the attribute table. Double-click on the row this time and it will zoom you to the selected feature in the map.
In addition to selecting a feature by clicking on in it the attribute table, you can also select a point by clicking on it in the map. On the Map tab, look at the options under selection. There are several options for selecting features in layers.

If you click on the drop down next to select, you see many different ways you are able to select points, lines, or polygons (aka features). If you just press the button Select at the top, it defaults to selecting by click. Click Select and then click a point in the map.

Once you click the point in the map, it will also show it selected in the attribute table. If you hold down shift and continue clicking/selecting points in the map, it will add them to your selection so you can select multiple at once.
Now under Select at the top, click the drop down and select rectangle. Draw a square in the map and see how all the ports within the square are selected in the map and attribute table. In fact, any layer that intersects your square was selected including the polygons in the source regions layer.

As usual with ArcGIS Pro, there are lots of ways to do a single thing. In this case, you can select features by interacting with the attribute table, or by interacting with the map itself.
Now, clear your selection by pressing on the Clear button on the top Map tab.

Select by Attributes
Because spatial data structures connect descriptive attributes to spatial features, you can also search for geographical features by way of their attribtues. This is a powerful aspect of geographic information systems.
When you select features using information provided in the attribute tables, you write an expression to query and select features that match your selection criteria. This is what you did during the “Querying Pleiades” section of Activity 02.
Let’s try it with the Slave Voyages dataset:
If it is not already, open the attribute table by right clicking on the
Embarkment Ports to Antigua: 1676—1805layer and click Attribute Table.Make sure that you currently do not have anything selected by looking up at the top Map bar under the selections and clicking Clear.

The clear button
Perhaps now we want to investigate the ports that had zero embarkments to Antigua between 1676—1700. We will do this with a Select by Attributes query. In the Attribute table, click on the “Select by Attributes” button.

The Select by Attributes button in the attribute table
Note that you can also get to Select by Attributes from the Map tab, where you selected manually.

The “Select by Attributes” button in the Map tab
When you open Select by Attributes, a pop-up box appears. Here, we will build an expression that will show us how many ports had no embarkments between 1676 and 1700:
Field =
yr1676_1700Operator = “is equal to”
Value =
0

Press OK. You should see that 26 of the 33 ports had 0 embarkments to Antigua between 1676—1700. (You can see the total number selected out of all the rows at the bottom right of the table.)

Clear your selection by pressing Clear at the top of the attribute table. Now, change the expression and toggle through all of the different 25-year time frames to answer the questions below.
Which 25 year period had the greatest number of embarkments equal zero (e.g., had the fewest actual embarkments overall) and what was that value? By comparison, which 25 year period had the lowest number of embarkments equal zero (e.g., had the highest actual embarkments overall) and what was that value?
We can also make more complicated expressions that include multiple clauses. Perhaps we wanted to see how many ports during the years 1751—1775 had greater than 300 but less than 1,000 embarkments.
How many ports during the years 1751-1775 had greater than 300 but less than 1,000 embarkments? You’ll have to change your current expression including the field, operator, and value - as well as make use of the “Add Clause” button - in order to answer this.
Now, let’s move on to more complicated data and expressions. Open the Attribute table for
Voyage Departure Ports: 1619—1808. Remember, these points represent the departure port of every transatlantic slave trade voyage made between 1619 and 1808—not just locations to Antigua, but all destinations.Let’s start by building a Select by Attributes expression to select all voyages that arrived in 1777. Click on “Select by Attributes”. Set the expression as follows:

You should have 157 voyages selected.
You might not notice many selected rows until you start to scroll through. If you click on the second icon in the image above, this is a way to see ONLY THE SELECTED points. This is very helpful when the data set is quite large.
Now, let’s look at some statistics about the data selected vs the entire dataset. Perhaps we want to see the total number of enslaved people that arrived in the year 1777 vs. all years: since we already have the voyages that arrived in 1777 selected, right-click on the
Slaves_Arr(short for Slaves_Arrived) field and click Statistics.Under the Statistics section, the left column has the statistics about the number of enslaved person in the entire dataset (all years) on the left and only the selected voyages on the right. We see that in 1777, there was a total (sum) of 20,797 enslaved person who arrived.

2,881,243 enslaved people arrived in Antigua across all available voyage year records.
Narrative and data
We have been looking at numbers—or “abstractions,” as McKittrick and Bouie might have us call them—for a while now. Let’s take a moment to consider what they are abstracted from.
Here are three other data points or sources that, while harder to format as a spreadsheet or table, provide an important qualitative glimpse into the geopolitical context for the abstractions that we’ve been reading and querying.
Click through each of these—you don’t need to read them in careful detail, but open them and skim a few sentences here and there to get an idea of what they contain:
In 1736, enslaved people who had been brought to Antigua plotted to overthrow the white planters who captured them.
In 1789, Olaudah Equiano published a narrative about his life, beginning with birth in the kingdom of Benin in 1745 and following his journey from enslavement to freedom, which he eventually purchased in 1766.
In 1831, Mary Prince dictated a narrative of her life. Not only did this provide a glimpse into the brutality of (her) enslavement at a time when these narratives were not common, but she was the first woman to widely tell the story of her enslavement.
Northeastern University’s Early Caribbean Digital Archive is an excellent resource for exploring other examples of these kinds of texts. They help illuminate the social and political contexts from which the data we’re working with was abstracted. Try searching
antigua—what comes up?Digital map collections, like those at the Leventhal Center, are also great resources for qualitative data. The map of “Antego” or Antigua shown below, created around 1736 by geographer Herman Moll and held in Leventhal Center collections, shows dangerous water features, towns, churches, forts, mills, and important plantations at the time.

moll The island of Antego ([1736]), by Herman Moll
We can derive a lot of information from this map to qualitatively contextualize the quantitative data from SlaveVoyages. For instance, zooming into the top of the map, we can see the names of planters who owned sugar or rum plantations. One is “Royal,” who had a windmill, as indicated by the single dot by the name:

royal This likely refers to a sugar mill once owned by Isaac Royall, who immigrated to Boston in 1700 before traveling to Antigua and setting up an extremely profitable slave plantation operation. In fact, the historic Royall House and Slave Quarters sits just up the road from the Tufts campus.
The location of the sugar mill in Antigua still bears his family name today in the form of “Royal Gardens”:


The Royall House in Medford (top) and the old “Royal” sugar mill in Antigua (bottom)
In 2019, Gaston Browne—the Prime Minister of Antigua and Barbuda—wrote a letter to Lawrence Bacow, then-president of Harvard University, demanding reparations on account of Harvard Law School’s 1817 establishment depending on a bequest from Isaac Royall. In Browne’s words, “We consider Harvard’s failure to acknowledge its obligations to Antigua and the stain it bears from benefiting from the blood of our people as shocking if not immoral.”
In 2022, Harvard established a $100 million endowment fund for slavery reparations.
Look through the quantitative data in the attribute table of theEmbarkment Portslayer, including its fields and data values. In a few sentences (no more than 5), compare and contrast the qualitative data described above to the quantitative data in theEmbarkment Portstable, including:- How are they similar and different?
- How might you take some of that unstructured qualitative data and turn it into structured spatial data?
- From a narrative perspective, how could you bring together the qualitative and quantitative data to tell a cohesive story?
In short, what’s a spatial question you could answer by combining these datasets? Feel free to give a concrete example, if you can think of one.
Saving selected data as new layers
Bearing in mind these important points about context for the data, let’s pivot back into some GIS stuff: selections and queries.
Since our first point dataset of ports is only showing enslaved persons embarked for Antigua between 1676 and 1805, let’s select all the voyages between 1676 and 1805. You should have 19,528 voyages selected.

Now, let’s create a new layer containing only the voyages between 1676 and 1805. One you have the voyages selected, right-click on
Voyage Departure Ports➡️ “Data” ➡️ “Export Features.” This is the “Save As” of spatial data: we are saving the selected points as a new feature class and layer in the map.You want to give the new layer (and resulting feature class) a smart name and make sure it’s saving in the right place. Click in the output feature class field. It will expand to show you the full path to where it’s being saved. It will default into this project’s geodatabase (
TransAtlanticSlaveTrade.gdb), which is why it was important to save the project in a smart place when you started. Change the last part of the path to give it a better name, such asVoyageDeparturePorts_1676_1805. Press OK.
The result will be a new layer that is added to your map at the top of your contents pane with your new name.
More importantly, the new feature class was saved in your project geodatabase so that you can use it in the future. This is how we create new datasets as a subset of a larger datasets for projects, and is a very common workflow in GIS.

Clear your selection on the Map tab, pull down the new layer under your Embarkment Ports layer, and turn off the original Voyage layer. Rename your new layer to remove any “data speak”, but make sure to keep the dates.
<div class=“tip”
It’s useful to rename layers because what it says in the contents is what it will say in the legend when you make a final map. It’s worth the time!



button. This will invert your current selection—you should now have 13 of 33 rows selected.
in the Navigate tab.)





button. Set this last expression and be sure to change the Selection Type to “Select subset from the current selection”:







































