Project: Data Visualization – Interactive Map
Date: 05/22/2019
Background
WCS is working on a research about juvenile sand tiger sharks in Great South Bay. Great South Bay is an ideal nursery ground for sand tiger sharks and juvenile sand tiger sharks migrates to Great South Bay as their summer location. Sand tiger sharks are vulnerable species according to the conservation status. They usually stay in shallow waters (<20 m) during the day.
WCS would like to better understand sand tiger sharks and Great South Bay as their habitat from the research. Their goal is to make the marine world around New York City visible to the citizens.
Idea and Concept
My final project idea is to visualize the sand tiger shark detection data that WCS provided on an interactive digital map. In this way, more information can be extracted from the data and the data can be more easily understood.
The datasets I received are of two juvenile sand tiger sharks in Great South Bay, New York. The sharks are tagged with signal emitters and the detection are done by signal receivers in fixed locations. Therefore the datasets are only about shark occurrences at each receiver.
Since WCS also would like to see what dataset overlapping can tell us about Great South Bay, I came up with an idea of overlapping human activity data with shark detection data to see how humans and sharks coexist in Great South Bay. I did some research and found that potential threats to sharks in general are by-catching and noise pollution which are related to vessel activities in addition to commercial fishing. Therefore I decided to incorporate vessel position data into the map.
I based my data visualization ideas on the datasets and WCS’s objectives. My goal of the data visualization project is to make the huge datasets visible and understandable for non-professional users, thus helping them to learn about sand tiger sharks in Great South Bay.
Process
1> Data Scraping and Processing
I first scraped data from Robots4Whales with Python Beautifulsoup module. But after studying the scraped data, I found that all the data points are at the same location, thus it is not suitable for visualization on a map.
I downloaded vessel position data from marinecadastre.gov. Then I cleaned the vessel data and the shark data and converted them into json files with python.
As I prototype with the josn files, I continued to reprocess the data into structures that better suit my algorithms for data visualization.
2> Map Making
I used HTML, CSS and JavaScript to make the map. I first drew squares on the map to represent receiver locations.
i) Animated Map
I first made an animated map to look at the movement of every data point, so as to briefly understand the relationship between shark movements, vessel movements and time. One unexpected effect is that when animated, the map made obvious the entrance point of the sharks and the speed of each movement, and clearly show that sharks stay around one place for a long time.
ii) Static Map
My ideas of making a static map are to draw circles of different sizes to represent the cumulative occurrences and to draw translucent lines to represent the sharks’ simplified movement from one receiver to another so that the lines can layer upon one another to create the effect of a heat map to show the frequency of sharks taking each path and staying in each area. When the users choose to show the circles, they can hover on the receivers and read the exact number of occurrences.
I chose to visualize the vessel positions as dots instead of drawing vessel routes because the data points are dense enough to show the routes and drawing lines make the whole picture unreadable.
iii) User Interface
For the user interface, my idea is to make it as intuitive as possible. I made a side bar for users to show or hide the chosen datasets. I also made a timeline where users can choose the time range by month. Both control palettes only appear when the users hover on either side of the window. The background color of each choice are set to the corresponding color on the map and I used gray scale to distinguish chosen from unchosen.
Both animated and static maps have a user guide button and an explore button. The user guide automatically appears when users first open the map. When the explore button is clicked, screenshots of my findings about the datasets will appear, which is intended to show users some examples of the useful information hidden in the map and to encourage them to explore more.
In the animated status, users can use a drag box to adjust the speed of animation or to pause it.
iv) Introduction and Credits Page
In order to provide users with the basic background knowledge, I made an introduction page which briefly introduces my data visualization ideas, Great South Bay, sand tiger sharks and WCS’s shark detection methods, accompanied with links to more resources. I also put links to the two maps on the introduction page. All the credits are listed on the credits page.
Challenges and Further Developments
The available datasets are limited and many of the vessel datasets are incomplete. Thus, it took me more time than expected to extract the useful data. The shark datasets are not the best ones for visualization on a map since the receivers don’t follow the sharks but only wait for the sharks to come.
I didn’t receive photos or videos of the sharks from WCS, but I would like to include more media into the maps if available so that the maps can be more informative and educational.
The algorithms and data structures that I used to build the maps are not efficient enough, so it results in heavy computation. I would like to solve this issue in the future.