Web Mapping

To publish the GIS on the Web, I explored various applications, from the non-subscription, free version of ArcGIS Online to creating map services on a server at LSU using ArcGIS Server.

Non-Subscription ArcGIS Online

The free, non-subscription version of ArcGIS Online makes it possible for people with limited resources to publish Webmaps. Anyone with a broadband connection and a computer can, for example, use the Webmaps I have publish on this Website as the basis for their own Webmaps by modifying them, adding to them, deleting parts of them, and saving their creation to their own free account on ArcGIS Online.

The first step in publishing the GIS on ArcGIS Online involved converting the feature class files, both line and point, to a format that the free version of that software accepts. In order to reduce the work involved in what was a test, being my first experience with web mapping, I copied the GIS and renamed it Slave_Voyages_WebGIS. Since I had used relative paths, the copy worked perfectly. I then used a select by attribute query to find all the voyages that carried enslaved Africans and deleted all the layers for other voyages as well as the hurricane layer because the slave trade had ended by the time the hurricane record begins in 1851. Then, to reduce the size of the files in the Web GIS and ensure it ran smoothly, I used the Delete Field tool (in Data Management Tools, then Fields) to delete all fields except VesselID, Flag, DayOfWeek, Latitude, Longitude, TSTDURL, Cargo, and DATE from the attribute tables of the point Feature Class files. Then I used the Feature Class to Shapefile tool (in Conversion Tools, then To Shape file) to export all the point and line Feature Class files from the geodatabase to a new folder. Opening that folder reveals that each feature class exported as several files, including file.shp, file.prj. file.dbf, and file.shx files. Those four types of file include the information essential to creating the Webmap: the projection, spatial reference, point or line locations, and attributes. Selecting all the files associated with a point or line feature class, right clicking, and selecting Send to Zipped Folder creates a compressed folder that the free ArcGIS Online accepts as an upload, as long as it does not contain more than 1,000 features.

Next, I started a new map from within my free ArcGIS Online account by selecting the Map link, then the New Map button, and then the Basemap button to add the same Terrain base map I used in ArcMap. I then saved the new map to My Content with the name Dutch and British Atlantic Slave Trade Voyages, 1751-1795. Once that GIS had been saved to the ArcGIS cloud, I was able to add all the point and line layers for the 48 slaving voyages by selecting the Add Content button, selecting Add Layer from File, navigating to the folder of shape files on my computer, and uploading each in turn.

Those shape files do not contain the symbology and other features, such as the visibility range, of the layers in the GIS from which they were exported, necessitating a lot of work to reestablish appropriate symbols to indicate cargoes and so on within ArcGIS Online. That is accomplished laboriously but straightforwardly through the Contents panel of the Web Map and a menu that appears when the arrow to the right of each layer is selected.

The popup box associated with clicking on each feature, line or point, is particularly useful in a Web GIS because it can include URL links to other Websites. Most basically, I configured the popup boxes for the point symbols for a particular voyage to include the URL for the search window in TSTD for that same voyage, allowing users to immediately connect the data and representations of one project to those of the other. I also ended up importing the Ports_and_Landmarks shape file to identify places relevant to the slave trade, from landmarks like Cape Mount, to ports like Paramaribo, to archives like the Zeeuws Archief in Middelburg that hold the logbook data on which the GIS is based. Each popup can contain a relevant image and "Get more info" link to, for example, the Website of the archive or a Wikipedia entry on the place. I also added popup boxes to some of the lines that represent the routes of the vessels, in this case linking to the shipping news sections of online newspaper archives so that clicking on the line representing a specific voyage brings up an image of the newspaper that contains a link to the reference in its shipping news section for that specific voyage.

I also wanted to represent one of the patterns that became clear in the ArcMap version of the GIS, namely the pattern of deaths of enslaved Africans during the Middle Passage and the disposal overboard of their corpses. The Dutch logbooks recorded the number of deaths on each day of the crossing, making it possible to visualize that horrific aspect of the slave trade. To do so, I used the Merge tool in ArcMap (in Data Management Tools, then General) to generate a single layer that combined all the individual voyages but eliminated all fields except for VesselID, Cargo, and Occurrences, the last of which contained the number of enslaved who died on each day at each position, from a low of 0 to a high of 5. That created a new point Feature Class File with 8,889 records, or rows in the attribute table. I used various tools (Add Field, Find & Replace, Field Calculator, and Sort) available through the Table Options button in the top-left corner of the attribute table window or through right clicking the column heading to create a new short-integer field called SlaveDeaths and populate it with the number of slaves who died at each latitude, longitude on a particular day. I then eliminated all records with zero deaths and ended up with a layer with only 389 records that I could export, compress, and upload to ArcGIS Online in the same way as the other layers. Once added to the Web map, I assigned different diameter point symbols to each number of deaths. The pattern is striking enough with that representation, but I also wanted to visualize it as a continuous density surface.

To represent the pattern of deaths as a density surface, I first ran the Kernel Density Tool (in Spatial Analyst Tools, then Density) in ArcMap. It calculates the density of occurrences, deaths in this case, around each data point, the vessel positions in this case, and creates a floating point raster layer as its output, in other words, a layer that consists of square cells that each have a value such as 0.349759 or 2.897347. The free version of ArcGIS Online does not allow you to upload raster layers, however. The raster layers must already exist within ArcGIS Online: for example, the base maps. I used three additional tools to work around that limitation. First I used the Raster Calculator Tool (in Spatial Analyst Tools, then Map Algebra) to multiply all the raster values by 10,000, which changed the output from deaths per square kilometer to deaths per 10,000 square kilometers but would stop the next tool from truncating most of the significant figures. That next tool was the Int Tool (in Spatial Analyst Tools, then Math), used to convert a floating point raster file to an integer raster file by truncating all of the cell values. And the last tool was the Raster to Polygon Tool (in Conversion Tools, then From Raster), which converts integer rasters, but not floating point rasters, to a series of lines that define polygons. Once that polygon layer had been created, I exported it as a shape file, compressed the results into a zipped folder, uploaded it to ArcGIS Online, and applied colors to each polygon to represent different values of deaths per 10,000 km2.

The resulting map is here. The "View Large Map" link below the Webmap opens it in ArcGIS Online, allowing users to more fully control the layers, modify them, add layers, and save their creation in their own ArcGIS Online account. Using the Share menu, users can keep their maps private or make them public, embed them in Websites and blogs, and create applications using the templates available on ArcGIS Online. And example of such an app, which compares three instances of the same map by placing them side by side, appears here. Users can, for example, zoom in on different parts of the map and compare the details.

YouTube

Despite the lack of support for temporal GIS in the free, non-subscription version of ArcGIS Online, ArcMap does support the creation of high resolution videos that can be uploaded to YouTube and embedded in Websites and blogs. To create a video, users open the GIS in ArcMap, zoom to the desired area of the GIS, such as the North Atlantic, and then open the Time Slider window to set controls such as time extent, interval, and window. They then use the Animation toolbar to select Create Time Animation. The Animation Controls and Animation Manager, available through the same toolbar, allow adjustment of variables like the length of the animation in real time and playback time. Export Animation opens a dialog box to set the video format, choose compression options, and save the video.

I exported such a video focused on the North Atlantic with the route and daily position symbols for the Acancia and the HURDAT layers turned on using August 1 through September 5, 1893 as the time extent and 1 day as the time interval and window. The result was AcanciaAug1893.avi, which shows the vessel's day-by-day progress along its route line with hurricanes tracking nearby. Since each 24-hour time window has two noontime position markers, the current and previous day's noontime positions are visible on each frame, allowing users to visualize the daily progress of the Acancia along its route. Similarly, since each hurricane has several positions per day in HURDAT, at 6 hour intervals, the time settings allow users to visualize the evolution of the hurricane tracks through time and space even without the equivalent of a hurricane route line.

The video can be opened in Windows Live Movie Maker, included in the most recent versions of MS Windows and available from Microsoft as a free download, to reduce the file size, add title frames, and so on. It can then be uploaded to a free YouTube account and embedded in a blog or Website and viewed at resolutions up to 1080p, depending on the bandwidth of the connection. An example is here (set the resolution with the gear icon once you start the video).

GoogleMaps

Another free Web mapping application is GoogleMaps Engine Lite. It allows rapid creation of a basic online GIS, with layers and attribute tables. One way of adding data layers is to upload an Excel worksheet, as long as it has no more than 100 records/rows or 50 columns/fields. Maps Engine Lite also has limited symbolization and other functions, compared even to the free, non-subscription version of ArcGIS Online. It does allow use of the GoogleMaps Satellite view, however, and its oblique, 45 degree perspective. Simply click the drop down menu beside Base Map in the legend and select satellite view; it will switch to oblique when zoomed in. Another capability is the ability add pop-up boxes containing links and other information.

An example is here. It uses the voyage of the Attelante, a Dutch Brig that sailed for New York City with a cargo of gin (jenever), copper, and white lead in July 1815, arrived in September, and returned to the port of Schiedam with a cargo of tobacco in December 1815. It actually arrived in November but could not get into the harbor due to thick ice on the river, Schiedam being a port on the Nieuwe Maas River and relatively far inland. Despite the brevity of the voyage, it still requires 127 records, necessitating splitting the worksheet into two, one for the outward segment and the other for the homeward one, and uploading them to the Web map as separate layers.

Although Schiedam is not named as the departure port on the outbound voyage, it likely was because it was the return port and one of the principal producers of gin in the Netherlands. Clicking on the place marker I added for Schiedam opens a pop-up box with a link to the Wikipedia article on that port. Zooming in to Schiedam starts the oblique satellite view of the harbor and the Dutch National Gin Museum (Jenevermuseum), giving a much richer representation of the place of arrival and departure of the Attelante than available in ArcMap alone. Clicking on the museum symbol in GoogleMaps, moreover, opens up StreetView and a link to the Website of the Jenevermuseum, located in a former gin factory right on the waterfront of the old harbor where the Attelante would have loaded and unloaded its cargoes.

GoogleEarth

GoogleEarth provides another free option for publishing Web maps, one that provides an alternative to videos for sharing the temporal function of ArcMap. GoogleEarth 7 can be downloaded gratis here. It is an application that runs on and saves your data to your computer, not the cloud.

I created a temporal Web map of the British and Dutch slaving voyages by converting the ArcMap GIS file (MXD file) into a KMZ file (a compressed KML file) using the Map to KML Tool found with the other Conversion Tools. GoogleEarth and other Web mapping applications use KML (Keyhole Markup Language) to render point, line, and other types of features. That KMZ file therefore includes not only the features and their attributes but the way I symbolized and otherwise configured them as layers in ArcMap.

Next, I opened the KMZ file with GoogleEarth and configured the time slider settings and symbols to suit GoogleEarth, a rather different type of display than ArcMap. Then I saved the reconfigured layer as one of My Places in GoogleEarth as well as, by right clicking the layer folder, as a new KMZ file. I uploaded that KMZ file to this website, storing it in a page named Downloads, created with the File Cabinet Template and with its permissions set to allow public access. Then I went back to GoogleEarth and opened the Embed KML Gadget, configuring the various options such as dimensions and entering the URL for the KMZ. The code generated can be embedded in Website or blog.

The result is a fully functional temporal GIS of the British and Dutch slaving voyages of 1751-1795. Selecting any of the daily position symbols opens a pop-up box with a link to the Web page for that voyage in the Trans-Atlantic Slave Trade Database. By adjusting the various controls of the time slider, users can view the entire period (1751-1795) or constrain it to a single decade, adjust how many months or years of symbols are visible at once, and move along the temporal sequence one step at a time or as a continuous animation.

The control of the time slider, especially over the speed at which the sequence runs, is limited compared to using it in GoogleEarth. The KMZ file can, however, be downloaded and added to GoogleEarth running on a computer or added using the Add Network Link. Doing that will also allow users to access the individual layers for each voyage, the daily position points, and all the attributes as well as to resymbolize points, remove and add data, such as place markers for ports, and finally to save their work as a new KMZ file.

The compressed KML file (KMZ) can also be used directly with GoogleMaps, without using Map Engine Lite to upload a spreadsheet for each layer. To create a map of the slaving voyages for the second half of the eighteenth century, go to GoogleMaps, select My Places, and then Create Map. Next, either upload the compressed KMZ file or enter the URL for its location on GoogleSites. It, in theory, is then rendered over the default GoogleMaps content such as Wikipedia and photo links. The base map can also be changed to the satellite or GoogleEarth view within GoogleMaps, but the time slider is not enabled.

As can be seen here, in practice, the KML file uploads but does not render the voyages all at once or in chronological order. The voyages display in twenty-five separate "layers." By opening the map in GoogleMaps by clicking the link below the embedded version, users can advance through the layers with the index at the foot of the panel that displays daily position symbols, dates, and TSTD links.

The free versions of GoogleEarth, ArcGIS Online, and GoogleMaps Engine Lite, of course, cannot do nearly as much as the ones you pay for: GoogleEarth Pro is $399 for an annual license; a paid subscription to ArcGIS Online is at $2,500 per year for the minimum of 5 users; and GoogleMaps Engine is "expensive."

ArcGIS Server with Non-Subscription ArcGIS Online

Uploading the GIS to one of the CADGIS servers running ArcGIS Server 10.1 and then linking that "map service" to a Webmap on ArcGIS Online has several advantages over uploading the layers directly to ArcGIS Online, using GoogleMaps, GoogleEarth, or YouTube. Map services can be uploaded to a server running ArcGIS Server from ArcMap by using the Share as Service command under the File menu.

Advantageously, layers upload together rather then individually and without the length limitations involved in uploading directly to ArcGIS Online. Moreover, they retain their symbolization. They do not use up the limited storage allocated to a non-subscription ArcGIS Online account. And, critically for historical researchers, they retain their temporal functionality. When any of the time-enabled layers are turned on in the Webmap on ArcGIS Online, a time slider appears at the bottom of the map.

The biggest disadvantage is cost, of course. Servers and ArcGIS Server are expensive compared to using only a non-subscription ArcGIS Online account, or the free versions of GoogleMaps and so on.

I constructed this Webmap by using three of the layers from the non-temporal version of the Atlantic Slave Trade Voyages, 1751-1795 Webmap published using only the free version of ArcGIS Online: (1) the number of deaths of enslaved Africans, (2) the density of those deaths, and (3) the place markers with their pop-ups. To those layers, I added three map services by using the Add Data button, selecting Search for Layers in a GIS Server, and typing in the address of the CADGIS server on which I had previously created the map services by uploading layers from ArcMap: (1) the voyage route lines, (2) the daily position points without being time enabled, (3) and a time-enabled version of the daily position points. The data for those layers remains on the server but is rendered as needed on the Webmap in ArcGIS Online, similarly to the way the ArcGIS Online basemaps work.

When I shared the map by embedding it in the blog, I turned on only the time-enabled layers for vessel daily noontime positions, set the time extent to 1751-1795, and the moving time window to 1 month. Lines of up to 31 points therefore snake around the Atlantic, one point for each sailing day in the month. Clicking the clock symbol in the top menu bar turns the time function on and off. Zooming in reveals the place markers and their pop-ups, date labels on the position symbols, vessel name labels on the route lines, and so on.

To access more functionality, such as turning layers on or off, users can click the link that appears below the map, which opens it in ArcGIS Online. There, users can see the list of layers and turn them on or off in order to, for example, display the sub-layer of a single voyage of particular interest, set the time extent for the period of that vessel's voyage, and reduce the length of the time window. Users can also turn on the layers that show the number of deaths of enslaved Africans at a particular location on a specific voyage as well as the density of deaths across the breadth of the Middle Passage. For the layer called All Positions and Cargoes, which is not time enabled, clicking on points or lines brings up pop-ups with vessel information and links to the Trans-Atlantic Slave Trade Database records for those vessels. The Middelburgs Welvaren pop-up even has its image, taken from its logbook.

Because of the greater functionality, this Website uses ArcGIS Server to feed map services to ArcGIS Online in order to publish the GIS as a spatial database, both the complete version and thematic subsets.

This Website and all constituent materials are © 2013 Andrew Sluyter but open source and licensed through the Creative Commons as attribution-noncommercial 3.0, which allows others to use the contents, data, and programming to produce non-commercial derivative products.