ArcPro Animation of 1923 Canoe Trip in Algonquin Park

By Sarah Medland

Geovis Course Project @RyersonGeo, SA8905, Fall 2018

Context

While searching the web for historic maps to inspire this project I came across the personal website of Bob and Diane McElroy. Their website includes an extensive personal collection of present and historic records of the natural environment within Ottawa Valley and Algonquin Park. The collection of thoughts and logs on their site consist of those of their ancestors – dating back many decades from now. The following map is a section of the one which was chosen for the purpose of this assignment. It dates back to 1921:

In July of 1923, a group of 4 men led by a guide embarked on a 12-day canoe-trip, creating a log of their route as they traveled. The map log included handwritten details by W. H. McConnell about wildlife, weather, and their experience in the Park.

Purpose:

 to animate an artistic rendering of a historic canoeing route which…

 – brings to life a historic map by integrating it with modern GIS technology

– reveals information from approx. a hundred years prior about an ever-popular canoeing area

Methods

To begin, the map was download as a JPEG and brought into ArcMap. A DMTI Spatial minor water bodies Shapefile was added. Using this present-day layer, labelled by lake name, it was fairly easy to align this with the lakes from the historic map. Some challenges arose as the map is from 1921 therefore its accuracy is questionable, however, I was able to geo-reference the map fairly well.

Historic Map in ArcMap where it was georeferenced to a present-day water bodies layer

Next, DEM tiles were downloaded from Scholar’s Geoportal. These were converted into a TIN using the raster to TIN tool in ArcMap, and then into TIN nodes using the TIN node tool. This allowed the tiles to be combined into one continuous TIN using the Create TIN tool which could be clipped to the extent of the map surface. Once the elevation surface was made, the map could be given height.

The map surface after it was draped over an elevated TIN surface and atmospheric effects were applied

To visualize the canoe route, a line Shapefile was created over the route drawn on the map. Campsites were also added as a point Shapefile which included a ‘Date’ field in the attribute table. In the ArcGIS Pro Global setting the map was draped over the TIN surface and campsites symbolized in 3D with the dates labelled.

An example of some of the original annotations on the map

Lastly, a animation following the canoe route was created in ArcGIS Pro. The animation was created to guide the viewer along the route of the 1923 trip and included annotations such as those above and historic pictures from the time period.

Results: The following video is the final product:

Lexical Distance and Linguistic Diversity in the Balkans: A Network Map

By Zeljko Bavcevic

Geovis Class Project @RyersonGeo, SA8905, 2018

  1. Introduction

The purpose of this series of posts is to serve as a record of my work on the SA8905 Geovisualization project. The broad aim of this project is to explore the complex relationship between language and geography, and each serves as a mediating factor on the other. I have long been fascinated by how geography has an impact on language and on populations, borders and culture by proxy. Specifically, I was hoping to understand how changes in the traversability of landscapes would impact migrations of people and thus impact language.

Over the course of research phase of this project, I realized that conducting the project on all of the languages of the world would require a large amount of data collection and cleaning, such that was considerably beyond the temporal scope of a single class. As such, I narrowed my goal to examining only the geography of language in the Balkan Peninsula, and how they related to one another in terms of linguistic diversity, lexical distance and speaker population.

  1. Research

The first stage in this process required finding data to operationalize my target variables. This proved more difficult than I had first expected for a number of reasons. Firstly, there is no single, global set of agreed upon variables for understanding language. Instead there are a number of competing variable sets each maintained by different organizations (with very different incentives).

Eventually I narrowed my focus on three primary linguistic variables for visualization, these are:

  1. Speaker Population: The number of individuals in the world estimated to speak a certain language. The value is largely based on a projection.

 

  1. Lexical Distance: A linguistic variable measuring the conceptual distance between languages by comparing each along a number of criteria such as common words, verb formations and other comparative measures.

 

  1. Linguistic Diversity: An index score that measures the different types of languages, dialects or variations spoken within the regions of the primary language.

 

  1. Data:

The data for these variables are generated and maintained by two primary organizations, SIL International and Unesco. SIL Interational compiles data on a number of relevant linguistic variables for sale to organizations. Unesco on the other hand is an international non-profit organization. The two data sets are very different in their methodologies and as such cannot be combined or used in conjunction. For this purpose, I elected to only use one of the data sets. Although the Unesco data was free, the format it was kept in would have required a laborious process of cleaning and transformation before it could easily be used in my model. As such, I reached out to SIL international for a quote and acquired the data I needed. It must be noted, for the purposes of transparency, that SIL is a Christian organization and there have been several concerns about its methodology and incentive structure. To assess the impact of thee on my outcome, I did a brief comparison between a sub-sample of the UNESCO and SIL data sets and was satisfied that it was within acceptable parameters.

During my research, I had found a number of illustrations of lexical distance. Most often these would take the form of node or network charts depicting the different languages (Figure 1).

Lexical Distance
Figure 1: Lexical Distance Network

However, these were all static, non-spatial and often did not take into account other relevant linguistic variables such as linguistic diversity within a language class. As such, I wanted my own visualization to be dynamic, interactive, spatial and containing other relevant linguistic variables. To this end I needed to find a technology or platform that would allow me sufficient customizability and interactions. Inspired by the network or node maps I had consistently seen throughout my research phase, I knew that I wanted to build on this concept, adding a spatial and interactive component.

  1. Technology

I considered a number of options, the first and most obvious was using Python to code a network map using the Gephi platform. While pure coding would offer the most freedom and customizability, hosting the various tools I needed would prove very tedious and costly. As such, I set out in search of a hosted node or network analysis platform. After considerable research into a number of possible candidates, I opted for kumu.io.

Kumu was selected because it allowed me the freedom of coding most of my map to my specifications (On top of having a very user friendly UI), while also hosting all of my data and tools natively. This reduced the technical “surface area” of the project, which reduces opportunities for code breaking bugs and cross platform communications errors. Paying the modest membership fee, I began adding my data to Kumu.

  1. Execution

The first stage of development was loading my SIL data into Kumu. This was made easy using Kumu’s data cleaning tool. This allows the user to make sure all the input data meets kumu’s formatting requirements and even allows the user to dynamically change spreadsheet documents before upload.


Kumu’s Upload Wizard

After this was complete I created a bi-directional connection between each language (or element in network analysis parlance). This resulted in an ugly and incomprehensible visual bundle of connections. The next stage of the process would be coding the various variable symbolizes, interface options (adding a search, zoom and selection toolbar).


Kumu’s Advanced Code Based Editor

This was done using Kumu’s advance coding editor and I encountered no issues during this stage. However, when I attempted to add the polygon of the various countries of the Balkan Peninsula, the map visualization would simply vanish and I was not able to trouble shoot this with any success. As such, I had to ultimately abandon the spatial component of the project due to the constraints of time. I was still very satisfied with the resulting output.


    The Final Output

  1. Challenges

A number of challenges were encountered during the course of this project. The primary issue was that the geographic overlay failed to load. My every attempt to fix this was unsuccessful and ultimately this radically undermined completing the project as I had conceived it at the design stage. Nonetheless, I still believe that the other elements of the project still satisfied the project requirements of producing a novel and interesting geovisualization.

Literacy Percentages and Global Prevalence of HIV Rates

by Anwar Abu Ghosh

Geovis Project Assignment @ryersonGeo,

SA8905,  Fall 2018

 

For my geo-visualization project, I have decided to use  ArcGIS Online which is a web-based interactive program to visualize the data. The other dataset was extracted from the world health organization was in the format of a comma delimited values (CSV) file which contains the rates and ranks of some countries in the worlds suffering from HIV. Another data set that was used on this project was literacy rates across different countries in the world, which was downloaded as a CSV from United Nations International Children’s Emergency Fund (UNICEF) website.

ArcGIS Online Definition

ArcGIS Online is a cloud-based application that is used to visualize and map data in a dynamic and interactive method. GIS stands for Geographic Information System, and the method this application works is by adding different layers to create different maps and visualize data. It can be used for 2D and 3D mapping, and in this project, I will be using the proportional mapping. It is a great collaborative web-based application with a secure infrastructure to store data, view data, add layers, manipulate data and share maps with others. This web-based application has base maps and data layers integrated into it, therefore many preinstallations may not be required.  I will be using the 30-day free trial of ArcGIS Online with limited features and storage.

ArcGIS Desktop

Due to the limited features in the ArcGIS Online free trial, many properties are disabled such as the join feature and so using a different software to join two datasets was required. To be able to create a choropleth map in ArcGIS Online, the data must be provided in a shapefile (SHP) extension format. Therefore, the need to use ArcMap to join a country shapefile to the literacy rates CSV was needed. The layer was first added by right clicking ‘Layers’ in the table of content and browsing to the country shapefile location that was originally downloaded from thematicmapping.org. Then right-click the added layer and selecting ‘Joins and Relates’ then ‘joins’. For the ‘1. Choose the field in this layer that the join will be based on field select the country column in the shapefile. As for the ‘2. Choose the table to join this layer or load the table from disk’ select the literacy CSV file.  Meanwhile for the ‘3. Choose the field in the table to base the join on’ which should be referring to the country name column in the literacy data. Allow the join to retain all records and then press okay. The altered country shapefile will have the literacy columns appended to the end of the shapefile. Now that the shapefile is generated some data cleanup such as deleted unnecessary columns may be done before exporting the shapefile. Shapefile exporting is the was ArcGIS saves the new shapefile and this simple step can be done by right clicking the layer and selecting ‘Data’ then ‘Export Data’ to save the updated shapefile to the desired location. Note to have the shapefile ready for ArcGIS online; the shapefile should be saved in its own folder as multiple files will automatically be generated when creating the file and then the folder should be zipped.

ArcGIS Online Application

Adding the first layer

The first layer in this map will be the literacy data. Start by successfully logging in to ArcGIS Online and selecting the map option in the top bar. Then browse to the map option, click the ‘Add’ option and select the ‘Add Layer from File’. Then browse to the zipped file that was created from the previous step in ArcMap. To create the choropleth map, the percentage column is to be selected as ‘Shows an attribute to show’ and then counts and amounts (Color). Selecting blue from the symbols settings then ‘fill’, this step is done to represent the literacy data where the light shade indicates a low literacy rate and a dark blue indicates a high literacy rate in the country.

Adding Second Layer

Selecting from the toolbar ‘Add layer by file’ from the add setting.  Browse to the csv file stored on the computer. Many options will appear on the way the file is to be imported. Using the located feature by selecting ‘by World’ from the drill down option. Match the country column in the HIV data to the country from the preexisting data in ArcGIS Online. The data will then be imported to the application in point form. Create a proportion map by using the proper setting of selecting the proportion based on HIV rates. The color used in displaying the data points is red since the red ribbon is an awareness symbol of HIV/AIDS.

Since many colors and shades are being used in this interactive map a simple light grey canvas was used as a basemap to make the colors and symbols more visible to the reader. As for the legend, it can be found on the left-hand side of the application right under the toolbar. The legend consists of two components the proportionate layer for the HIV/AIDS data where the symbol refers to the percentage of HIV/AIDS rates. The other component refers to the literacy rates where the shade of blue refers to the rate of literacy rate in a country.

 

Feel free to take a look at the map through this link https://arcg.is/1uPu14

References

http://thematicmapping.org/downloads/world_borders.phphttps://data.unicef.org/topic/education/literacy/

http://apps.who.int/gho/data/node.main.617?lang=en

Surfer 15 Whistler-Blackcomb Geovisualization Using Data Retrieved From Google Earth

By :Ryan Wilkinson

Geovizualization Project Assingment, @RyersonGEO, SA8905, Fall 2018

 

In this project a 3D Surface Map of Whistler-Blackcomb in British Columbia was created using XYZ data retrieved from Google Earth and the geovisualization software program Surfer 15. Surfer is an excellent geovisualization software program capable of creating 2D contour maps and 3D surface maps from XYZ and DEM data. The following method can work for any terrain location in the world that can be viewed on google earth and is certainly not limited to my chosen location.

Collection of Data from Google Earth:

  

The path tool on google earth was used to drop points on the Whistler-Blackcomb area, each red square represents a point that has corresponding latitude, longitude, and elevation values.

The image above shows the trace of the path that was drawn in order to collect the XYZ data from the Whistler area necessary for adequate creation of an accurate 3D surface map in Surfer.

Once the desired path was drawn it was saved under “My places” in google earth as a .kml file.

Data Conversion:

The .kml file was then uploaded into TCX converter. The altitude values are commonly not present during this stage therefore TCX converter can be used to add the altitudes using its “update altitude tool”. Once the altitudes were successfully calculated TCX converter was used to convert the file from a .KML to a .CSV in preparation for visualization in Surfer.

 

Grid File and 3D Surface Map Creation:

The .CSV File was then uploaded into Surfer’s grid data tool which is capable of creating grid files (.grd) from XYZ and DEM data. Grid files can be used to create 2D contour maps and 3D surface maps in Surfer.

The grid file was then used by the 3D Surface tool to create a 3D surface map of the Whistler area. Colour scales and variations can be easily changed in Surfer to achieve desired effect and convey information in the way the user chooses. The above colour scheme is called “terrain” and effectively visualize elevation change. The model can also be rotated and viewed from any desired angle in surfer using the “trackball” tool, multiple angles of the 3D surface map above can be seen in the finish product at the beginning of this blog post.

 

 

 

Table-Top AR – Explore New York City in Your Living Room

By: Ben Simak

Geovisualization Class Project @RyersonGeo, SA8905, Fall 2018

Introduction:

For my geo-visualization project I decided to create a map that takes advantage of new interactive technologies. Augmented reality (AR) has been around since 1990’s and has been growing in use and capabilities. Augmented Reality was originally developed and implemented in Air Force Research and then heavily developed in the gaming industry to add a new way to interact with our surroundings to try and immerse the viewer on a new level. This same technology has migrated into different industry applications such as education and navigation.

The type of augmented reality that I decided to use is called “Table Top” augmented reality. It essentially allows the camera on the device you are using to find a flat surface and showcase a 2D or 3D model or rendering on that surface. You are then able to anchor it and walk around the model to see all the sides and get closer or further away as if it was actually there.

I utilized MapBox, Unity, ARKit, and Xcode to create an app that allows you to use an iPhones camera to render a 3-D scrollable model of  New York City (And anywhere in the world you want to scroll too). Mapbox provides the feed of building and elevation models for the building heights as well as terrain through its SDK. Unity is the platform that pulls together the MapBox SDK and generates the augmented world and allows for any physical altering of how the maps look and the starting point for the map. Unity is where the majority of the app components get bundled up before it is ready to be processed. The ARKit has coding that enables the app to be created on the iPhone and enables the use of the camera. Xcode is the final step that takes the bundled Unity file and generates an app that can be opened up on your personal iPhone for use.

How I Built the App:

*Requires Mac OSX and an iPhone (Android variant also available)

Step 1: Download MapBox SDK for Unity from https://www.mapbox.com/unity/.

Step 2: Download Unity (For Personal Use Free) https://store.unity.com/download?ref=personal

Step 3: Download Xcode on the Mac App Store https://itunes.apple.com/ca/app/xcode/id497799835?mt=12

Step 4: Open Unity and create a new 3-D project

Step 5: Go to Assets menu and go to import package and click custom package…

Navigate to you downloaded Mapbox SDK and click open. After it loads and opens click Import all and wait for it to load. A Mapbox setup window should open and looks like the below.

Step 6: Click the mapbox.com link highlighted in blue. It will take you to the Mapbox website to generate your access token. Click the copy button and then go back to your Unity Project and paste it in the field and click submit.

Step 7: Some layers that aren’t included by default in a Unity project and are needed to run this scene. Select ARTabletopKit in the Hierarchy view. Add the following layers by clicking Layer and selecting Add Layer

Specify the following layers:

  • ARGameObject
  • Map
  • Path
  • Both

Step 8: Click on MapRoot and find the Latitude Longitude settings in the GENERAL settings of the Abstract Map script. Click Search and enter the coordinates of anywhere in the world. For my example, I used New York City.

Step 9: Now when you press the Play button at the top center of the Unity window you should see a rendering appear on the Game tab

Step 10: go to edit, project settings, player. Make sure under the Camera Usage Description and Location Usage Description you put the following details.

 

Step 11: Go to File, Build Settings and open up the window seen below. Then click IOS (Or Android if you were making it on an Android device) and click Switch platform. Then make sure you click add open scene and select the Table Top AR with a check and uncheck Scene/main. Then click build. Save it to where ever you want.

Step 12: Download Xcode. Plug in Your Device. Before we can build to a device, we need to set up an Apple ID and add it to Xcode. Once you have obtained an Apple ID, you must add it to Xcode.

  • Open Xcode.
  • From the menu bar at the top of the screen choose Xcode > Preferences. This will open the Preferences window.
  • Choose Accountsat the top of the window to display information about the Apple IDs that have been added to Xcode.
  • To add your Apple ID, click the plus sign at the bottom left corner and choose Add Apple ID.

  • A popup will appear, requesting your Apple ID and password. Enter these.
  • Your Apple ID will then appear in the list. Select your Apple ID to see more information about it.
  • Under the heading Team, you will see a list of all Apple Developer Program teams that you are a part of. If you’re using a free Apple ID that isn’t enrolled in the Apple Developer Program, you will see your name followed by “(Personal Team)”.

Step 13: Go back to that original Unity file that you saved after pressing the build button. Double click the .xcodeproj file to open the project with Xcode.

  • In the top left, select Unity-iPhone to view the project settings. It will open with the General tab selected.
  • Under the topmost section called Identity, you may see a warning and a button that says Fix Issue. This warning doesn’t mean we’ve done anything wrong – it just means that Xcode needs to download or create some files for code signing.
  • Click the Fix Issue
  • Make sure that the correct team is shown in the dropdown – if you’re using a free Apple ID, it should be your name followed by “(Personal Team)”.

Step 14: Make sure the bundle identifier seen above is not a default name. if it is just change the default name to what ever you want.

Step 15: Click the play button and make sure your iPhone is still connected. The device must stay on and not lock during this process.

Step 16: Once completed you will see the app on your iPhone and you can open it and point at a flat surface and watch the magic happen!

Telling a Story through a Time-series animation using Open Data

By: Brian Truong.

GeoVis Project @RyersonGEO SA8905, Fall 2018

Context 

As a student and photographer, I have frequently walked around the streets of Toronto. I would often see homeless individuals in certain neighborhoods in Toronto. While at the time I was aware of some shelters across of Toronto, I never fully understood the Toronto shelter system as I thought organizations in Toronto were one and the same in terms of providing shelters to those who are at-risk.  I also noticed that the City of Toronto updates their shelter occupancy data on a more less daily basis, which led me to choose this topic for my GeoViz project. My lack of knowledge of the shelter system and the readily available data, motivated me to choose to make a Time Series map along with incorporating ESRI’s Story Maps into the project. This was to ensure that whoever wanted to see my project could be told the story of Toronto Shelters as well.

Process

Toronto open data provides shelter occupancy data in multiple formations, however, a JSON data format was chosen due to previous experience with working with JSON data in Alteryx. JSON data was provided through a link from Toronto Open Data. Using Alteryx a scrip was created to download the live(ish) data, parse it, put it in a proper format, then filter the data, and along with creating appropriate columns to work with the data.

Above is an example of the JSON data that was used, the data itself is semi-structured as the data is organized in a specific format. The data consisted of multiple of entries for Shelter location, those were filtered out so that only organizational program was present for each shelter location. this usually went down too the program that housed the largest number of people. In order for a proper time series to be created, a date/time column must be present, columns were created through the use of the formula tool where columns such as date/time and occupancy rates were created.

Above is the final Alteryx strip that was used to get the data from a JSON format to a .xlsx format.  However, there was one problem with the data. The data itself wasn’t geocoded, so I had to manually geocode each shelter location by running the address of each shelter through Google Maps and copy and pasting the (x and y) values of the shelter locations. These coordinates were then put into the same file as the output of the Alteryx script, except it was in a different sheet. Using VLOOKUP, shelters were assigned their coordinates through matching shelter names.

Time Series Map

The time series portion of this geoviz project was created using Arcmap Pro, the excel file was brought into ArcGIS Pro and points were created using x and y coordinates. A shapefile was created, in order to create a time series map, the time field had to be enabled. Below shows the steps needed to be taken in order to enable time as a field on a shapefile.

In order to actually enable time, a time column must already exist in the format of dd/mm/yyy XX:XX. From that point, the change in shelter occupancy could be viewed through a time-slider going at any interval that the user required. For this project, it went by a daily basis on a 3-minute loop. In order to capture it as a video and export it, the animation function was required. Within the animation tab, the tool append was used.

What the append feature does is that it follows the time series map from the first frame, which is on the first day of the time series map (Jan 1, 2018 00:00) to the last day of the time series map (Nov 11, 2018 00:00). The animation would then be created as per specifications of the settings. The video itself is exported through a 480p video at 15 frames a second. It was then uploaded on YouTube and embeded on the storymaps.

ESRI Story Maps

The decision to use ESRI’s story maps was in part due to what motivated me to work on this. I wanted to tell the story of shelters and who they serve and is affected by them. Especially after two major events in the past year that has led to shelters in Toronto showing up on the news. Both the cold snap in early 2018 and the large influx of migrants has had a huge effect on Toronto’s Shelters.

Visualizing Alaska’s Forest Damage in Twenty Years

Author: Anitha Muraleedharan
Geovis Project Assignment@RyersonGeo,
SA 8905, Fall 2018 (Rinner)

Forest Damage in Alaska

Alaska is a dynamic region and has a long history of changeable climate. Alaska has lost a lot of its forests due to insect infestation, fire, flood, landslides, and windthrow. Aerial surveys are conducted to monitor forest health for the State of Alaska and to identify insect and some disease pest trends. This time series map animation will visualize the forest damage in Kenai Peninsula, Tanana Region and Fort Yukon Region of Alaska during the years 1989 to 2010. This blog will cover the entire processes involved in creating this visualization.

Data

The spatial data of the forest damage survey conducted during the period from 1989 to 2010 by the Alaska Department of Natural Resources are readily available for download from AK State Geo-Spatial Data Clearinghouse (http://www.asgdc.state.ak.us/?#2952). The shapefiles are available individually for each year from 1989 to 2010 except for years from 2000 to 2007. These data were used for preparing this Time Series map animation.

Preparing Data for Animation in QGIS

QGIS 3.2.3 64bit was used to prepare the data for animated map visualization of Alaska’s forest damage. QGIS is a free and open-source cross-platform desktop geographic information system (GIS) application that supports viewing, editing, visualization and analysis of geospatial data. Since the data were available only as individual files, the first step in preparing the data was to merge this data together into one shapefile. For this task, I used the Merge Vector Layers Tool in QGIS which merged all the individual shapefiles into a single shapefile.

Steps to Merge multiple vector layers into one

  • Step1: Add all the vector layers, intended to be merged, into QGIS
  • Step2: Go to Vector →Data Management Tools → Merge Vector Layers in the menu
  • Step3: Click input layers button and select all the layers needed to be merged
  • Step4: Click Merged Layer button to give a name for the merged output layer
  • Step4: Click Run in Background button to create the merged layer and add it to QGIS

Fig. 1 Merge Vector Layer Tool in QGIS

The next task was to format the timestamp column to fit the QGIS Time Manager plugin tool that will be used to create the animated map visualization. The timestamp column for this data was “SURVEY_YR” which was in four-digit format. The QGIS Time Manager Plugin requires that the timestamp data be in YYYY-MM-DD format. For this, a new field was created with name “Damage_Yr” and type string and used the Field Calculator tool in Processing Toolbox of QGIS.

Fig. 2 Field Calculator Tool in QGIS

In the Field Calculator tool, the expression “tostring(SURVEY_YR) + ‘-01-01’ ” was used to concatenate data in the field “SURVEY_YR” and the “-01-01”  together to make the timestamp in YYYY-MM-DD format and copy the data to the new field “Damage_Yr”.

Fig. 3 Attribute table showing the Damge_Yr in YYYY-MM-DD format after update.

Visualizing the Time Series

The Time Manager plugin was downloaded and installed in QGIS. The forest damage data was then added as a layer in QGIS. The Google Terrain map was added as the base map for this time series animation. The following steps were performed to add the Google Terrain map to QGIS.

  • Step1: Add a new connection to XYZ Tiles in QGIS and give it a name, say “Google Terrain”
  • Step2: Use https://mt1.google.com/vt/lyrs=t&x={x}&y={y}&z={z} as the URL.
  • Step3. Click Ok and then double-click the created layer to add the “Google Terrain” as the layer.

After the data was added, it was time to apply symbology to the polygon data showing the forest damage in QGIS. The layer was styled using the attribute “Damage_Yr” and categorized with sequential symbology. Once the data was styled, the Time Manager plugin needed to be configured to visualize the time series animation.

In the Time Manager Settings window, the Forest damage layer which needs to be animated was added using the “Add layer” button. The Damage_Yr column was chosen for the Start and End time and “Accumulate features” option was selected to show the features accumulated on the map as the year changes during the animation. 500 milliseconds duration was set in the animation options to show each year for that many seconds in the animation before showing the next year. To display each year as a label in the map during the animation, time format was set as “%Y” and the font, font size, and text color were also set.

Fig. 4 Time manager settings window

Fig. 5 Time display options.

The time frame in the Time manager dock was set as years since the forest damage in each year will be animated and displayed. The time frame size for the animation was set as 1 since we have data for each year from 1989 to 2010. The animation can be played by clicking the play button and QGIS will show the forest damage of Alaska in each year from 1989 to 2010 on the map window for 500 milliseconds each.

Fig. 6 Time Manager dock showing settings for the animation in QGIS

Converting the Time Series into Video

The Time Manager allows exporting the animation to a video. However, there is no option to add a legend onto the rendered maps in the animation in QGIS. Therefore, the maps were exported as .PNG image files. The map frames were exported first with the full extent of the map and subsequently, two more times with map zoomed to areas Tanana and Fort Yukon respectively for showing different areas in one animation. The legend along with title and data source labels were then added for each exported map frame using photoshop.

Finally, VirtualDub software was used to convert the .PNG files to video for each series of maps. VirtualDub is a free and open-source video capture and video processing utility for Microsoft Windows written by Avery Lee.  The generated .PNG files were then renamed in ascending order sequence in the format “frameXXX.png” where XXX is the frame number. For example, frame000, frame001 and so on. This is required for VirtualDub to detect the files as a sequence of images and then combine it to a video. The steps followed to create the animated video is as given below.

  • Step1: Open VirtualDub software
  • Step2: Go to File → Open video file option in the menu and navigate to the images folder
  • Step3: Click the first image in the map image series and VirtualDub will automatically add all the other images that are in sequence
  • Step5: Go to Video → Frame rate and set fps as 0.5 to show each frame for 500 milliseconds in the video
  • Step6: Preview the video and save it using File → Save as AVI option in the menu

Fig. 7 Combining the png files in VirtualDub software

Results


Watch the visualization on YouTube

Using LEGO to create a physical 3D elevation model of Ontario

by: Adam Anthony | Geovis Project Assignment @RyersonGeo, SA8905, Fall 2018

Using LEGO blocks to visualize the landscape elevation throughout the province of Ontario was an the objective of this project and the steps I took to execute this project will be outlined below.

I first sourced the elevation data from Scholar’s GeoPortal and used the north and south PDEM files for Ontario as the foundation for the elevation model. Using ArcGIS I added the north and south PDEM layers and merged the two files using Mosaic To New Raster tool. This produced a merged PDEM.

Next, the merged PDEM needed to be resampled, to increase the pixels size so that it would align with the size of a 1×1 LEGO block. Using the Resample tool, I resampled the pixel size from 30x30m to 30,000×30,000m resolution. This resolution was influenced by a number of factors:

  1. maintaining the integrity of the elevation levels (699m was the highest peak at 30x30m, but it reduced to 596m when resampled to 30kx30k)
  2. scale of physical model as it relates to size and cost of the LEGO blocks

Below is the resampled layer to 30k resolution and clipped to a raster tiff of Ontario (also at same resolution)

In the Properties dialiogue box I converted the Stretched symbology to Classificled symbology which would allow me to isolate specific elevation interval classes. I seleccted seven classes based on the following criteria:

  1. Wanted to isolate the high and low values
  2. Using intervals of 75m depicted the more visually appealling variation in elevation and did so most effectively. It allowed for a <75m and a >450m class
  3. No more than seven classes because of LEGO colour options and available stock
  4. Equal interval of 75m increments

Colour selection at this stage was preliminary and a divergent scheme from green to dark burgundy seemed to be most aesthetically pleasing.

To isolate each elevation layer to determine the number of pixels (i.e. LEGO blocks) each layer requires the raster layer had to be converted to a vector layer.

Using Raster Calculator and the Int Tool, I converted the current raster from a float to an integer raster layer which is needed to be done to convert raster to polygon. This converted each cell value of the raster to an integer.

This new raster file was then converted to a polygon layer using the Raster to Polygon tool, creating this output.

Activating the raster layer from a previous step, I was able to then manually select each pixel for each respective layer to determine the number of pixels (ie LEGO pieces) that comprised the layer.

Each pixel was selected using the Selection tool and then onces all pixels for the appropriate layer were selected, the Create Layer from Selected Features was used to create an individual layer for each elevation level.

This process was repeated 7 times, producing 7 layers of elevation. Each layer’s Attribute Table was then used to identify the total number of pixels present in the layer and then was used to determine the number of LEGO pieces needed for that layer, where 1 pixel = 1 single-block LEGO piece.

These individual layers will also be used during the build, as a guideline for the distribution and placement of each LEGO piece.

Each colour class is an individual layer. Colours are still preliminary and the number of LEGO pieces per layer is as follows:

  • <75m: 1089 pcs
  • 75-150m: 987 pcs
  • 150-225m: 809 pcs
  • 225-300m: 657 pcs
  • 300-375m: 455 pcs
  • 375-450m: 221 pcs
  • >450m: 51 pcs

Using BrickLink, I was able to purchase 1×1 LEGO bricks for each layer. Factors that influenced the colour selection for each layer are as follows:

  • Quantity of colour available
  • Price of individual bricks
  • Location of supplier (North American)

The resulting colour scheme selected is a divergent scheme, as follows:

  • <75m: dark green
  • 75-150m: medium grey
  • 150-225m: light green
  • 225-300m: tan
  • 300-375m: light lavender
  • 375-450m: medium lavender
  • >450m: dark purple

Here is the final product.

Here is a time lapse video of the LEGO build:

https://www.youtube.com/watch?v=RP6PxkPlK1w&feature=youtu.be

Creating a Toronto City Ward Model Using Laser Cut Acrylic

by Selasi Dorkenoo

SA8905 Cartography and Geovisualization Fall 2018

To better understand characteristics of the new municipal electoral wards in the City of Toronto, the new 25-ward boundary shapefile provided by the City of Toronto was converted to vector format and laser cut into five translucent sheets of acrylic. Each piece is engraved with the ward ID. Laser cutting allows the puzzle to not only fit together with precision, but also visualized the demographic census data using redundant symbology: opacity (lightness) and height.

Ward boundaries were retrieved from Toronto Open Data Catalogue and imported into ArcGIS Desktop. The model was designed to be cut into 16 in x 8.5 in sheets of 3mm acrylic, including legend items and a scale bar. Features in black (below) represent pieces that were laser cut and features in red represent laser engraving on a piece. Using layout view, the design was exported as a vector (.ai) file and sent to Hot Pop Factory for their laser cutting services.

Once the acrylic was cut, a magnet was super-glued to each piece below the engraved ward IDs. The magnets used were about 6mm in diameter and 2mm in thickness. Magnets were also attached to the scale bar and legend items. Using a magnetic white board as a base for the model, the pieces were stacked and the model itself was complete.


Demographic data at the ward level was retrieved from Toronto Open Data Catalogue as well. Once joined to the ward boundary file, a set of choropleth maps including population density, visible minorities, unemployment rate and average personal income were created. A maximum of five bins can be used to classify the data in each map since only five sheets of acrylic were laser cut for the model.

A catalogue of these maps was printed and packaged with the ward model. Users can browse through the catalogue and select which variable they wish to map. Using dry erase markers they can write the necessary cartographic elements on the mapped area (i.e. legend labels and title).

North American Impact Events throughout History – A Map Animation

By: Nicole Slattery. Geovis Project Assignment @RyersonGeo, SA8905, Fall 2018

For my Geovisualization assignment, I wanted to create an animated map of impact crater events in North America throughout history. I decided to use ArcGIS Pro in order to do this because of the nature of the data. The Earth Impact Database maintained by the Planetary and Space Science Centre (PSSC) in New Brunswick, has achieved the 190 confirmed impact craters from around the world. The impacts have occurred anywhere from 1850 million years ago to 600 000 years ago. Usually, when creating an animated map throughout time, the map software requires a date. The impacts did not occur within the span of the Gregorian calendar used today; therefore, this software cannot map this data. However, ArcGIS Pro includes a tool “Animate through a range” which allows for this data to be animated sequentially without a date.

2D Map of Impact Craters in North America

In order to utilize ArcGIS Pro’s animation through a range tool, the data points of impact craters were geocoded and added to a new map. The points were displayed by proportional symbols of their diameter on the earth in km. Therefore, the map displays the distribution of impact craters across North America by their diameter. The locations were symbolized as well, in a gradient colours brown to black, in order for the points to appear to have depth. The 2D map can be viewed above. The basemap of the map was added from the basemap gallery under the Map tab in ArcGIS Pro. The World Imagery basemap was selected; this layer presents high resolution satellite and aerial imagery of the world. Another interesting feature of ArcGIS Pro is that any 2D map can be converted to a 3D scene for data visualization. Under the View tab, the Convert button was selected. Within this drop-down menu, the option To a Global Scene was selected. This converted the map into a 3D globe.

 

Converting the 2D map into a Global Scene     
Global Scene 3D Map

Under Properties of the scene layer impact points, the range setting was enabled for the “Age” attribute of the layer. The age attribute describes when the impact occurred in MYA (millions of years ago). The range was set between 1850 and 0 MYA, as this is the full range of the data in the layer. A range slider was added to the side of the scene. By dragging the slider, the points animatedly appear and disappear depending on their ages.

 

Enabling Range on the “Age” Attribute of the Impacts
Range Slider (display at 1315 MYA)

In order to start an animation, the Add button was selected in the View tab. This created and opened an Animation tab within ArcGIS Pro. In order to start the video, the Range of visible data was selected as 1850-1850. This way only the oldest impact crater is displayed. The scene was zoomed out for the first shot of the animation. By setting the Append Time to 5 seconds and selecting Append, the first clip of animation was created. This clip was 5 seconds. In order to display the progression of impacts occurring, the slider was dragged closer throughout time. By increasing Append time to 15 seconds and selecting Append, the animation clip was created. The animation clip is range aware therefore it will progress through the range slider up to where the slider was dragged throughout this append time. This process was repeated until the whole range was animated.

Range set at 1850-1850 in order to start animation
Append Animation to Video
Animation Timeline for video editing

After the range of ages of the impacts was animated, a camera path was animated in order to create an interesting visual. By zooming and changing the view of the map and using the append animation clip, a visualization of the satellite imagery of the impact craters was created. For example, the Sudbury crater was zoomed in upon and animated. Then, a paragraph of facts about the Sudbury crater was overlaid using the Overlay option in the Animation Tab. As well, a scale was overlaid using the same tool. This was done for three other craters and was added to the animation video.

Add overlay graphics to the video
Overlay with details about the impact

Finally, the animation was exported as a MP4 file in order to easily share the file.

The Final Video seen above was uploaded to YouTube.