Data Visualization with Online Maps

I was really looking forward to the mapping component of this course, so I thought I’d take a bit further than what was expected of the tutorial and explore varoous mapping methods. Mapping is an extremely component of visualization of data and there are so many different tools that can be used. For my final project of this class, I’ll be developing a game that would allow users to systematically discover which mapping tools to use for users’ research projects.

To experiment using various online mapping tools, it was decided that I would use the same dataset for each online map that I produced. The dataset used was a combined dataset from the csv files from the Federal Heritage Designations database.

A column was added to the csv file to indicate the type of heritage site (historic sites, historic persons, historic events). There are a little over 2,000 records. I cleaned-up the dataset a bit to remove any extra field. This dataset has street addresses (very messy, didn’t clean it up), cities, province and lat & longitude - so we have lots of geographic markers to map the data, all at various geographic scales. Latitude and longitude is typically the easiest to use, depending on the platform and the granularity that the user is seeking.

CartoDB

The first mapping tool used is called CartoDB. Users need to create a free account to make a in map in CartoDB. Users also have the option to purchase a premium verison of CartoDB that allows them to do more advanced mapping. The following maps were created using CartoDB.

CartoDB Map: Categories by Type with Staman basemap (lat, long mapping)

For more information on using CartoDB, check out this tutorial

Google Maps

Using Google My Maps, I uploaded and created a similar map. There isn’t as many options for basemap and there aren’t as many tools to customize our map, but all in all, still a decent looking map. I used latitude and longitude to map the data. Link to My Customized Map

ArcGIS Online (created with public account)

The next tool attempted was the ArcGIS Online Public Account. I’ve signed-in using my gmail account was able to create a map comparable to what was created using CartoDB. The map was created using the latitude and longitude fields. Users can easily map the points by categories. Users can also customize the info pop-up box and select the desired fields to show up in the pop-up box. There are also various templates or story maps templates that can be selected to create the map. Below is the example that I have with the use of point data.

ArcGIS Online (create with Carleton account)

The following map was created using ArcGIS Online, which allows a whole bunch more functionality, but typically at a cost. There is a free version of the software, but which has limitations. It’s also typically best to use ArcGIS desktop to publish maps to ArcGIS Online. There are ways to get around that, but for the purposes of showing various types of online mapping tools, we won’t get into that. The following is an example of an online map that was created for the recent Canadian election. The swipe tool allows you to swipe and compare the political affiliation of the newly elected member of parliament (MP) with the previous MP.

Honourable Mention?!?

I also tried the following mapping tools, but they proved either too complex for basic mapping or just didn’t work. Some would be worth further exploration if users wish to have more complex functionality.

Bing Maps

Let’s first start with Google’s main search competitor, Bing. At one point, Bing would allow users to create customized interactive maps, with the use of its “My Places” section, that being equivalent to Google’s “MyMaps”. Here was a tutorial that would allow users to go from Google to Bing. After a bit more digging, it appears as though Microsoft is focusing on creating maps for Bing with the use of their standard desktop products. So, having said that, we’ll move on to our next product.

WorldMap

Developed by Harvard University, this WorldMap product has tremendous potential, but it requires that users import layers that are already in a GIS format (shapefile or tiff image). For this reason, I’ve excluded it since users can’t easily plot latitude and longitude data. Users who are familiar with GIS layers can explore this product. WorldMap is also a decent product for georeferencing scanned maps with the use of their MapWarper application.

Mapbox

Mapbox is one of those tools that is more meant for those familiar with coding. There are a tone of unique basemaps to play with and it allows users to import their data as latitude and longitude, where users have to set the title, description, colour and feature symbol of the point. For the free version of Mapbox, it seems to limit the import of 2,000 points using the latitude and longitude geographic markers. If you’re looking for a truly customized map and you’re more familiar with graphic design, this might be a good place to start.

Geocoding

If you’re data doesn’t already come with latitude and longitude, feel free to use some these tools below to obtain your coordinates. All of the tools below will require you to use one of the following APIs.

  1. Bing Maps API
  2. Google Maps API
  3. MapQuest Open API

Please explore the APIs to have a better understand of their limits (how many points it can geocode). The one that I prefer (as of March 2016) is the bing maps API.

Online Tools

Online tools should be used to geocode up to a few thousands only. If you need to geocode more points, please see the desktop methods below.

GPS Visualizer

GPS Visualizer requires that your data for the address be in separate fields (address, city, province or state, country, postcode).

Users can use the simple geocoding method (using a postal code, city, province/state, country). Users won’t need an API and it might take a bit of time to run. Also, ensure that you have the following field names

Users that need to geocode data at the address level (1125 colonel by drive) can do so with this mehod. Users can geocode with the use of either of the 3 APIs (as mentioned above) and you’ll be copying and pasting the data. This typically works for when users have up to 2,000 points.

Google Fusion Tables

Google Fusion tables can geocode by Town/City, province or countryLoad data in Google Fusion tables. Google Fusion tables can geocode by address, postal code, town/city, province or country. It will take the data and map it for you on a google maps. However, it doesn’t provide the actualy latitude and longitude automatically. Please see the University of Toronto Google Fusion Tables Tutorial

Google Spreadsheets Users can also try using google spreadsheets to do some geocoding. Try the following instructions and macros to get the latitude and longitude of data.

  1. In Google Sheets, go to >Tools>Script Editor

  2. Copy the contents of the script into the script editor (replace all contents)

  3. In the script editor, go to > Publish > test as add-on. Select the sheet in which you want to use this script

If done correctly, you’ll now have a ‘Macros’ tab in the Spreadsheet menu Highlight the location, latitude and longitude columns for all rows that you want to geocode (location should have information entered, latitude and longitude should be empty.

Run the Macro script - unless there are problems, the lat/long fields should propagate.

OpenRefine Download and install OpenRefine. Open up the software and ensure that your address is all in the same field (1125 colonel by drive, ottawa, ontario, Canada). Users will be required to create a new column and using Json, extract the latitude and longitude using either the Google Maps, Bing Maps or Mapquest api to do your geocoding (see above links). The following OpenRefine to Geocode your data tutorial explains this process. SP: I wasn’t able to make this work, yet :)

Geocoding with QGIS

QGIS desktop is a desktop solution to geocoding when you have over 2,000 points to geocode. Again, you’ll be using the same 3 APIs as mentioned above (Bing, Google and MapQuest) to do the geocoding. As there is already wonderful documentation on this, please follow these instructions on geocoding with QGIS

Remember that each geocoding method has its limits and different levels of accuracy. Explore using all 3 geocoding APIs.

Written on March 4, 2016