Yesterday was Day 4 of the #30DayMapChallenge, with the goal being to create a map using “Hexagons”. In the spirit of the challenge, we took a not-so-serious approach to create a fun map of “Sharknado Risk” based on the 2013 film “Sharknado” using MAPublisher tools and a really neat hexbin dataset for the United States. This map was in part created for NACIS 2021, and you can see how we created the map by watching the full video presentation included below. This blog also includes a few supplementary notes if you wish to follow along.
What exactly is a Sharknado?
A sharknado is a fictional meteorological phenomenon that occurs when a large tornado scoops up some sharks, transports them some distance, and finally disperses across a populated area. Generally speaking, if a given area is close to potential shark habitats (be it an aquarium, a zoo, or even the ocean) and has a high frequency of tornadoes, the area is more “at-risk” of experiencing a sharknado. To that end, we gathered some great open datasets to help us map this risk. We collected a shapefile documenting point locations for every single tornado in the country dating back to 1950. With this dataset, we can determine the relative frequency of tornadoes for a given area. From OpenStreetMap, we estimated potential locations for sharks by collecting point coordinates for every aquarium, marine park, aquatic zoo, and ocean-facing beach. We used Overpass Turbo to query and extract these points to a spatial dataset and imported them into Illustrator using MAPublisher. Check out this great tutorial (produced by Steve Spindler!) that covers techniques for importing Overpass Turbo data into MAPublisher. The tutorial was part of our ongoing Mapping Class series, a video-focused series that provides helpful tips, techniques, and workflows from real-world cartographers.
Aggregate data with Spatial Join
Since the challenge of the day is hexagons, we needed a way to get our messy point data into our clean “hexbin” format. The Spatial Join tool allows us to aggregate our point data (Tornado and Shark Locations) into a single hex-grid polygon dataset.
The Spatial Join tool includes several different options for “spatial relationships” that will determine how our point data is joined to the new hex-grid. We can also specify how the tool will aggregate the attribute information for our joined data. In this case, we join our Tornado point data based on a “contains” spatial relationship. This will aggregate all tornado points that are “contained” within a given hexbin. We also specify that the tool should aggregate the attribute information for all “contained” tornados by tallying up the number of tornado points within each hex. Since we know the dataset spans a 69-yr period, we can easily calculate the average annual tornado frequency for each hexagon.
We apply a similar technique to our shark location data, this time specifying a “near” spatial relationship. We used some back-of-the-envelope math to estimate that a Sharknado (as it appears in the film) lasts substantially longer and travels farther than a normal tornado, meaning sharks as far away as 150 miles still present a potential risk. We can specify a search range of 150 miles and this will be applied to our spatial relationship as a cut-off distance.
Edit attributes with expressions
We assumed that Sharknado risk is highest when a given area is prone to tornadoes and also has a high concentration of potential shark locations. Given this, we came up with a basic equally-weighted, bi-variate risk index to assign a “Sharknado Risk” score based on these two variables. To calculate this score for each hexagon in our hexbin grid, we applied some custom expressions using MAP Attributes. First, we assigned a Tornado risk score from 1 to 6 based on the low to high frequency of tornadoes. We assigned a similar score for “Shark proximity” based on the concentration of potential shark locations. Finally, we combined these values into 36 unique scores to evaluate sharknado risk.
Stylize maps easily with MAP Themes
The final step is to stylize our map and create a layout. With MAP Themes, we can create rules-based stylesheets to easily stylize our map data in no time. MAPublisher comes with a great selection of built-in MAP Swatches, including several color brewer-based swatches that work great for choropleth-style maps like this. We used these swatches to create a custom, bi-variate swatch group to visualize each score of our “Sharknado Risk Index”. The MAP Themes tool also provided a neat data distribution viewer, which also allows us to inspect a histogram of our dataset. Although we used discrete categories for each of our risk scores, the data distribution viewer is very useful when working with continuous datasets since it allows you to see how your bin-widths will affect the display of colour on your choropleth.
The final touches
With stylization complete, Day 4 of the #30DayMapChallenge is almost in the bag. We can create a north arrow, and a scale bar and create a custom legend to facilitate easy interpretation. Since we are still within an Illustrator environment, we can use all the powerful native illustrator tools to add graphical design elements, text, and artwork to create a fun, infographic-style map. Although we were happy to call the map finished at this point, the great thing about making maps is there is also room to add more. For example, we might try using LabelPro to create custom labels that mark high and low-risk areas, or we could create insets to highlight specific regions of interest. The possibilities are endless!
We had a great time putting together this fun map for the #30DayMapChallenge, and we are excited to see what we can do for the remaining themes on the calendar! For those of you who are also making maps for the challenge, a reminder that the Avenza Map Competition is still accepting submissions. Share your map, compete with other map-makers in the community, and win some great prizes!
See a PDF version of the map here.