-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnational-parks-historical-attendence.html
103 lines (95 loc) · 7.78 KB
/
national-parks-historical-attendence.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Alan Zhao | National Parks Historical Attendence</title>
<link rel="shortcut icon" type="image/png" href="http://alanzzhao.com/favicon.png">
<link rel="shortcut icon" type="image/x-icon" href="http://alanzzhao.com/favicon.ico">
<link href="http://alanzzhao.com/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Alan Zhao Full Atom Feed" />
<link href="http://alanzzhao.com/feeds/blog.atom.xml" type="application/atom+xml" rel="alternate" title="Alan Zhao Categories Atom Feed" />
<link rel="stylesheet" href="http://alanzzhao.com/theme/css/screen.css" type="text/css" />
<link rel="stylesheet" href="http://alanzzhao.com/theme/css/pygments.css" type="text/css" />
<link rel="stylesheet" href="http://alanzzhao.com/theme/css/print.css" type="text/css" media="print" />
<meta name="generator" content="Pelican" />
<meta name="description" content="" />
<meta name="author" content="Alan Zhao" />
<meta name="keywords" content="data visualization,tableau,social sector" />
</head>
<body>
<header>
<nav>
<ul>
<li><a href="http://alanzzhao.com/">Home</a></li>
<li><a href="http://alanzzhao.com/pages/about.html">About</a></li>
<li><a href="https://linkedin.com/in/alanzzhao">LinkedIn</a></li>
<li><a href="http://stackoverflow.com/users/4967110/azhao?tab=profile">StackOverflow</a></li>
<li><a href="http://alanzzhao.com/archives">Archives</a></li>
</ul>
</nav>
<div class="header_box">
<h1><a href="http://alanzzhao.com/">Alan Zhao</a></h1>
</div>
</header>
<div id="wrapper">
<div id="content"> <h4 class="date">Jun 25, 2016</h4>
<article class="post">
<h2 class="title">
<a href="http://alanzzhao.com/national-parks-historical-attendence.html" rel="bookmark" title="Permanent Link to "National Parks Historical Attendence"">National Parks Historical Attendence</a>
</h2>
<embed>
<script type='text/javascript' src='https://public.tableau.com/javascripts/api/viz_v1.js'></script><div class='tableauPlaceholder' style='width: 1020px; height: 1033px;'><noscript><a href='#'><img alt='National Parks through Forty Years of Attendance Data ' src='https://public.tableau.com/static/images/Na/NationalParksAttendance/Story/1_rss.png' style='border: none' /></a></noscript><object class='tableauViz' width='1020' height='800' style='display:none;'><param name='host_url' value='https%3A%2F%2Fpublic.tableau.com%2F' /> <param name='site_root' value='' /><param name='name' value='NationalParksAttendance/Story' /><param name='tabs' value='no' /><param name='toolbar' value='yes' /><param name='static_image' value='https://public.tableau.com/static/images/Na/NationalParksAttendance/Story/1.png' /> <param name='animate_transition' value='yes' /><param name='display_static_image' value='yes' /><param name='display_spinner' value='yes' /><param name='display_overlay' value='yes' /><param name='display_count' value='yes' /><param name='showTabs' value='y' /></object></div>
</embed><p><strong>About the Visualization</strong></p>
<p>I've been a huge fan of national parks; one of my goals is to visit all 60+ of them (so far only halfway there). When I
saw that Tableau was sponsorsing a visualization competition at the <a class="reference external" href="http://www.dogooddata.com/">2016 DoGoodData conference</a>, doing something with
National Parks came to mind. The competition rules were broad: pick a social sector data set and tell a story with it.
I did a bit of digging on the <a class="reference external" href="https://www.nps.gov/">National Park Service site</a> and saw they have a significant amount of data collected on
a <a class="reference external" href="https://irma.nps.gov/Stats/">statistics subsection</a>.</p>
<p>Unfortunately the data was separated by every park and in some report-style Excel spreadsheets. I used Python to scrape, clean and aggregate the different pages data. Once I built the full dataset, I started exploring the data. I was
curious to see how attendance varied by park, how it grew over time, and how cyclical it was. My own experience visiting
parks had given me intuition about these trends (ie Grand Canyon is really popular compared to Bryce Canyon, nobody
visits Acadia in the Maine winter). These guiding questions each drove what went into each page.</p>
<p><em>Page One - Attendance by Park</em></p>
<p>Building the map of NPS sites with their dot size determined by attendance was straightforward, but the visualization
looked bland initially. I really wanted to get some kind of image of the parks - after all people love and recognize
parks for their imagery, not their data points. I wasn't sure where I could find a data source of iconic photos for each
park. I considered grabbing each park's wikipedia page, but found that their image quality varied and in some cases
their page didn't have a photo yet. I ended up with a neat solution - use each park's official NPS site. Each site had a
high-quality iconic image and I could embed the image directly into Tableau using Tableau's website embed feature. A bit
of tinkering with the dimensions and having Tableau load the page at the image's HTML class div and voila, an on demand
library of curated images.</p>
<p><em>Page Two - Visitation Growth Over 40 Years</em></p>
<p>Parks have gotten much popular since data started getting collected in 1979; almost doubling. It turned out that the
growth is concentrated in a few parks in particular: Zion, Yosemite, and Grand Canyon.</p>
<p><em>Page Three - Seasonality of Park Attendance</em></p>
<p>Each park has some sort of seasonality, here you can see what each particular park's looks like. Most follow a trend of
high attendance in summer (nice weather plus summer break) but several parks diverge from this. Some are obvious; Death
Valley has almost no visitation in the summer. Others I'm not sure about; Great Smoky Mountains peaks again in the fall
(maybe people checking out the autumn leaves?)</p>
<p>I was pleased with what came out, but it still could use a bit of polish. Overall, the data collection and visualization
building took a few days as a side project. Maybe I'll write an in-depth analysis of the data in a future blog post
with a cleaner visualization.</p>
<div class="clear"></div>
<div class="info">
<a href="http://alanzzhao.com/national-parks-historical-attendence.html">posted at 11:13</a>
· <a href="http://alanzzhao.com/category/blog.html" rel="tag">Blog</a>
·
<a href="http://alanzzhao.com/tag/data-visualization.html" class="tags">data visualization</a>
<a href="http://alanzzhao.com/tag/tableau.html" class="tags">tableau</a>
<a href="http://alanzzhao.com/tag/social-sector.html" class="tags">social sector</a>
</div>
</article>
</div>
<div class="clear"></div>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-79885167-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>