The Wolfram|Alpha Blog is now part of the Wolfram Blog. Join us there for the latest on Wolfram|Alpha and other Wolfram offerings »
Michael Trott

Which Is Closer: Local Beer or Local Whiskey?

August 19, 2014 —
Comments Off

In today’s blog post, we will use some of the new features of the Wolfram Language, such as language processing, geometric regions, map-making capabilities, and deploying forms to analyze and visualize the distribution of beer breweries and whiskey distilleries in the US. In particular, we want to answer the core question: for which fraction of the US is the nearest brewery further away than the nearest distillery?

Disclaimer: you may read, carry out, and modify inputs in this blog post independent of your age. Hands-on taste tests might require a certain minimal legal age (check your countries’ and states’ laws).

We start by importing two images from Wikipedia to set the theme; later we will use them on maps.

Image of beer vs. image of whiskey

We will restrict our analysis to the lower 48 states. We get the polygon of the US and its latitude/longitude boundaries for repeated use in the following.

Polygon of the US and its latitude/longitude boundaries

And we define a function that tests if a point lies within the continental US.

We define a function that tests if a point lies within the continental US

We start with beer. Let’s have a look at the yearly US beer production and consumption over the last few decades.

Yearly US beer production and consumption

This production puts the US in second place, after China, on the world list of beer producers. (More details about the international beer economy can be found here.)

This production puts the US in second place, after China, on the world list of beer producers

And here is a quick look at the worldwide per capita beer consumption.

Worldwide per capita beer consumption

The consumption of the leading 30 countries in natural units, kegs of beer:

Consumption of the leading 30 countries in natural units, kegs of beer

Some countries prefer drinking wine (see here for a detailed discussion of this subject). The following graphic shows (on a logarithmic base 2 scale) the ratio of beer consumption to wine consumption. Negative logarithmic ratios mean a higher wine consumption compared to beer consumption. (See the American Association of Wine Economists’ working paper no. 79 for a detailed study of the correlation between wine and beer consumption with GDP, mean temperature, etc.)

Ratio of beer consumption to wine consumption

We start with the beer breweries. To plot and analyze, we need a list of breweries. The Wolfram Knowledgebase contains data about a lot of companies, organizations, food, geographic regions, and global beer production and consumption. But breweries are not yet part of the Wolfram Knowledgebase. With some web searching, we can more or less straightforwardly find a web page with a listing of all US breweries. We then import the data about 2600+ beer breweries in the US as a structured dataset. This is an all-time high over the last 125 years. (For a complete list of historical breweries in the US, you can become a member of the American Breweriana Association and download their full database, which also covers long-closed breweries.)

Beer breweries

Here are a few randomly selected entries from the dataset.

Random selections from dataset

We see that for each brewery, we have their name, the city where they are located, their website URL, and their phone number (the BC, BP, and similar abbreviations stand for if and what you can eat with your beer, which is irrelevant for today’s blog post).

Next, we process the data, remove breweries no longer in operation, and extract brewery names, addresses, and ZIP codes.

Processing the data

We now have data for 2600+ breweries.

Data for over 2600+ breweries

For a geographic analysis, we resolve the ZIP codes to actual lat/long coordinates using the EntityValue function.

Resolve ZIP codes to actual lat/long coordinates using EntityValue function

Unfortunately, not all ZIP codes were resolved to actual latitudes and longitudes. These are the ones where we did not successfully find a geographic location.

Unsuccessful geographic location resolving

Why did we not find coordinates for these ZIP codes? As frequently happens with non-programmatically curated data, there are mistakes in the data, and so we will have to clean it up. The easiest way would be to simply ignore these breweries, but we can do better. These are the actual entries of the breweries with missing coordinates.

Actual entries of the breweries with missing coordinates
Actual entries of the breweries with missing coordinates

A quick check at the USPS website shows that, for instance, the first of the above ZIP codes, 54704, is not a ZIP code that the USPS recognizes and/or delivers mail to.

So no wonder the Wolfram Knowledgebase was not able to find a coordinate for this “ZIP code”. Fortunately, we can make progress in fixing the incorrect ZIP codes programmatically. Assume the nonexistent ZIP code was just a typo. Let’s find a ZIP code in Madison, WI that has a small string distance to the ZIP code 54704.

Find a ZIP code in Madison, WI that has a small string distance to the ZIP code 54704

The ZIP code 53704 is in string (and Euclidean) distance as near as possible to 54704.

ZIP code 53704 is in string (and Euclidean) distance as near as possible to 54704

And taking a quick look at the company’s website confirms that 53704 is the correct ZIP code. This observation, together with the programmatic ZIP code lookups, allows us to define a function to programmatically correct the ZIP codes in case they are just simple typos.

Define function to programmatically correct the ZIP codes in case they are just simple typos

For instance, for Black Market Brewing in Temecula, we find that the corrected ZIP code is 92590.

Corrected ZIP code example

So, to clean the data, we perform some string replacements to get a dataset that has ZIP codes that exist.

Cleaning data to get dataset with existing ZIP codes

We now acquire coordinates again for the corrected dataset.

We now acquire coordinates again for the corrected dataset

Now we have coordinates for all breweries.

Coordinates for all breweries

And all ZIP codes are now associated with a geographic position. (At least when I wrote the blog post; because the used website gets regularly updated, at a later point in time new typos could have occurred and the fixDataRules would have to be updated appropriately.)

All ZIP codes are now associated with a geographic position

Now that we have coordinates, we can make a map with all the breweries indicated.

Map with all the breweries indicated

Let’s pause for a moment and think about what goes into beer. According to the Reinheitsgebot from November 1487, it’s just malted barley, hops, and water (plus yeast). The detailed composition of water has an important influence on a beer’s taste. The water composition in turn relates to hydrogeology. (See this paper for a detailed discussion of the relation.) Carrying out a quick web search lets us find a site showing important natural springs in the US. We import the coordinates of the springs and plot them together with the breweries.

Import the coordinates of the springs and plot them together with the breweries

We redraw the last map, but this time add the natural springs in blue. Without trying to quantify the correlation here between breweries and springs, a visual correlation is clearly visible.

Visual correlation is clearly visible

We quickly calculate a plot of the distribution of the distances of a brewery to the nearest spring from the list springPositions.

Calculate a plot of the distribution of the distances of a brewery to the nearest spring

And if we connect each brewery to the nearest spring, we obtain the following graphic.

Connect each brewery to the nearest spring

We can also have a quick look at which regions of the US can use their local barley and hops, as the Wolfram Knowledgebase knows in which US states these two plants can be grown.

US regions that use local barley and hops

(For the importance of spring water for whiskey, see this paper.) Most important for a beer’s taste is the hops (see this paper and this paper for more details). The Alpha symbol-acids of hops give the beer its bitter taste. The most commonly occurring Alpha symbol-acid in hops is humulone. (To refresh your chemistry knowledge, see the Step-by-step derivation for where to place the dots in the below diagram.)

Humulone

But let’s not be sidetracked by chemistry and instead focus in this blog post on geographic aspects relating to beer.

Historically, a relationship has existed between beer production and the church (in the form of monasteries; see “A Comprehensive History of Beer Brewing” for details). Today we don’t see a correlation (other than through population densities) between religion and beer production. Just to confirm, let’s draw a map of major churches in the US together with the breweries. At the website of the Hartford Institute, we find a listing of major churches. (Yes, it would have been fun to really draw all 110,000+ churches of the US on a map, but the blog team did not want me to spend $80–$100 to buy a US church database and support spam-encouraging companies, e.g from here or here.)

Beers vs. churches

Back to the breweries. Instead of a cloud of points of individual breweries we can construct a continuous brewery probability field and plot it. This more prominently shows the hotspots of breweries in the US. To do so, we calculate a smooth kernel distribution for the brewery density in projected coordinates. We use the Sheather–Jones bandwidth estimator, which relieves us from needing to specify an explicit bandwidth. Determining the optimal bandwidth is a nontrivial calculation and will take a few minutes.

Sheather–Jones bandwidth estimator

We plot the resulting distribution and map the resulting image onto a map of the US. Blue denotes a low brewery density and red a high one. Denver, Oregon, and Southern California clearly stand out as local hotspots.

We plot the resulting distribution and map the resulting image onto a map of the US

The black points on top of the brewery density map are the actual brewery locations.

Brewery density map

Using the brewery density as an elevation, we can plot the beer topography of the US. Previously unknown (beer-density) mountain ranges and peaks become visible in topographically flat areas.

Beer topography of the US

The next graphic shows a map where we accumulate the brewery counts by latitude and longitude. Similar to the classic wheat belt, we see two beer belts running East to West and two beer belts running North to South.

Brewery longitude-latitude

Let’s determine the elevations of the breweries and make a histogram to see whether there is more interest in a locally grown beer at low or high elevations.

Elevations of breweries

It seems that elevations between 500 and 1500 ft are most popular for places making a fresh cold barley pop (with an additional peak at around 5000 ft caused by the many breweries in the Denver region).

Brewer elevation histogram

For further use, we summarize all relevant information about the breweries in breweryData.

Summarize relevant information about breweries

We define some functions to find the nearest brewery and the distance to the nearest brewery.

Define functions to find the nearest brewery

Here are the nearest breweries from the Wolfram headquarters In Champaign, IL.

Breweries close to Champaign, IL

And here is a plot of the distances from Champaign to all breweries, sorted by size. After accounting for the breweries in the immediate neighborhood of Champaign, for the first nearly 1000 miles we see a nearly linear increase in the number of breweries with a slope of approximately 2.1 breweries/mile.

Plot of the distances from Champaign to all breweries

Now that we know where to find a freshly brewed beer, let’s switch focus and concentrate on whiskey distilleries. Again, after some web searching we find a web page with a listing of all distilleries in the continental US. Again, we read in the data, this time in unstructured form, extract the distillery and cities named, and carry out some data cleanup as we go.

Whiskey data extraction

This time, we have the name of the distillery, their website, and the city as available data. Here are some example distilleries.

Example distilleries

A quick check shows that we did a proper job in cleaning the data and now have locations for all distilleries.

Example distilleries
Example distilleries

We now have a list of about 500 distilleries.

502 distilleries

We retrieve the elevations of the cities with distilleries.

Elevations of cities with distilleries

The average elevation of a distillery does not deviate much from the one for breweries.

Little deviation between elevation of distilleries and breweries

We summarize all relevant information about the distilleries in distilleryData.

We summarize all relevant information about the distilleries in distilleryData

Define functions to find the nearest brewery and the distance to the nearest brewery.

Define functions to find the nearest brewery and the distance to the nearest brewery

We now use the function nearestDistilleries to locate the nearest distillery and make a map of the bearings to take to go to the nearest distillery.

nearestDistilleries

Let’s come back to breweries. What’s the distribution by state? Here are the states with the most breweries.

Brewery distribution by state

If we normalize by state population, we get the following ranking.

Normalizing for state population

And which city has the most breweries? We accumulate the ZIP codes by city. Here are the top dozen cities by brewery count.

Cities with most breweries

And here is a more visual representation of the top 25 brewery cities. We show a beer glass over the top brewery cities whose size is proportional to the number of breweries.

Visual representation of top 25 brewery cities
Visual representation of top 25 brewery cities

Oregon isn’t a very large state, and it includes beer capital Portland, so let’s plan a trip to visit all breweries. To minimize driving, we calculate the shortest tour that visits all of the state’s breweries. (All distances are along geodesics, not driving distances on roads.)

Calculate the shortest tour that visits all of Oregon's breweries

A visit to all Oregon breweries will be a 1,720-mile drive.

A visit to all Oregon breweries will be a 1720-mile drive

And here is a sketch of the shortest trips that hit all breweries for each of the lower 48 states.

Sketch of the shortest trips that hit all breweries for each of the lower 48 states

Let’s quickly make a website that lets you plan a short beer tour through your state (and maybe some neighboring states). The function makeShortestTourDisplay calculates and visualizes the shortest path. For comparison, the length of a tour with the breweries chosen in random order is also shown. The shortest path often allows us to save a factor 5…15 in driving distances.

Beer tour
Beer tour
Shortest tour display
Drive responsibly on brewery tours!

We deploy the function makeShortestTourDisplay to let you easily plan your favorite beer state tours.

Deploy the function makeShortestTourDisplay
Making beer tour plan
Making beer tour plan

And if the reader has time to take a year off work, a visit to all breweries in the continental US is just a 41,000-mile trip.

Brief 41,000-mile trip

The collected caps from such a trip could make beautiful artwork! Here is a graphic showing one of the possible tours. The color along the tour changes continuously with the spectrum, and we start in the Northeast.

Possible tour

On average, we would have to drive just 15 miles between two breweries.

Fifteen-minute drive between two breweries

Here is a distribution of the distances.

Distribution of the distances

Such a trip covering all breweries would involve driving nearly 300 miles up and down.

Driving distance of 300 miles up and down

Here is a plot of the height profile along the trip.

Height profile along the trip

We compare the all-brewery trip with the all-distillery trip, which is still about 21,000 miles.

All brewery vs. all distillery

To calculate the distribution function for the average distance from a US citizen to the nearest brewery and similar facts, we build a list of coordinates and the population of all ZIP code regions. We will only consider the part of the population that is older than 21 years. We retrieve this data for the ~30,000 ZIP codes.

List of coordinates and the population of all ZIP code regions

We exclude the ZIP codes that are in Alaska, Hawaii, and Guam and concentrate on the 48 states of the continental US.

Exclude ZIP codes in Alaska, Hawaii, and Guam

We will take into account adults from the ~29,000 populated ZIP code areas with a non-vanishing number of adults totaling about 214 million people.

Adults from the ~29,000 populated ZIP code areas with a non-vanishing number of adults totaling about 214 million people

Now that we have a function to calculate the distance to the nearest brewery at hand and a list of positions and populations for all ZIP codes, let’s do some elementary statistics using this data.

Elementary statistics using this data

Here is a plot of the distribution of distances from all ZIP codes to the nearest brewery.

Distribution of distances from all ZIP codes to nearest brewery

More than 32 million Americans have a local brewery within their own ZIP code region.

Over 32 million Americans have local brewery within their ZIP code region

While ~15% of the above-drinking-age population is located in the same ZIP code as a brewery, this does not imply zero distance to the next brewery. As a rough estimation, we will model the distribution within a ZIP code as the distance between two random points. In the spirit of the famous spherical cow, the shape of a ZIP code we will approximate as a disk. Thus, we need the size distribution of the ZIP code areas.

The average distance between two randomly selected points from a disk is approximately the radius of the disk itself.

Average distance between two randomly selected points from a disk is approximately the radius of the disk itself

Within our crude model, we take the areas of the cities and calculate the radius of the corresponding disk. We could do a much more refined Monte Carlo model using the actual polygons of the ZIP code regions, but for the qualitative results that we are interested in, this would be overkill.

Calculate areas of cities and radius of corresponding disk

Now, with a more refined treatment of the same ZIP code data, on average, for a US citizen in the lower 48 states, the nearest brewery is still only about 13.5 miles away.

Nearest brewery 13.5 miles away for most US citizens

And, modulo a scale factor, the distribution of distances to the nearest brewery is the same as the distribution above.

Same distribution as above

Let’s redo the same calculation for the distilleries.

Same calculation for distilleries

The weighted average distance to the nearest distillery is about 30 miles for the above-drinking-age customers of the lower 48 states.

Weighted average distance to the nearest distillery is about 30 miles for the above-drinking-age customers of the lower 48 states

And for about 1 in 7 Americans the nearest distillery is closer then the nearest brewery.

~16% of Americans live closer to distillery than brewery

We define a function that, for a given geographic position, calculates the distance to the nearest brewery and the nearest distillery.

Calculate the distance to nearest brewery and nearest distillery

E.g. if you are at Mt. Rushmore, the nearest brewery is just 18 miles away, while the nearest distillery is nearly 160 miles away.

Mt. Rushmore example

For some visualizations to be made below, for a dense grid of points in the US, find the distance to the nearest brewery and the nearest distillery. It will take 20 minutes to calculate these 320,000 distances, so we have time to visit the nearest espresso machine in the meantime.

Find distance to nearest brewery and nearest distillery

So, how far away can the nearest brewery be from an adult US citizen (within the lower 48 states)? We calculate the maximal distance to a brewery.

Calculate the maximal distance to a brewery

We find that the city furthest away from a freshly brewed beer is Ely in Nevada–about 170 miles away.

Furthest away from freshly brewed beer is Ely

And here is the maximal distance to a distillery. From Redford, Texas it is about 335 miles to the nearest distillery.

Maximal distance to a distillery

Of the inhabitants of these two cities, the people from Ely have “only” a 188-mile distance to a distillery and the people from Redford are 54 miles from the next brewery.

Ely vs. Redford

After having found the external distance cities, the next natural question is for the city that has the maximal distance to either a brewery or a distillery.

Maximal distance to brewery or distillery

Let’s have a look at the situation in the middle of Kansas. The ~100 adult citizens of Manter, Kansas are quite far away from a local alcoholic drink.

Alcohol situation in Manter, Kansas

And here is a detailed look at the breweries/distilleries situation near Manter.

Breweries/distilleries situation near Manter

Now that we have the detailed distances for a dense grid of points over the continental US, let’s visualize this data. First, we make plots showing the distance, where blue indicates small distances and red dangerously large distances.

Visualizing alcohol data

Using these distance plots properly projected into the US yields a more natural-looking image.

Natural-looking image of distance plots

And here is the corresponding image for distilleries. Note the clearly visible great Distillery Ridge mountain range between Eastern US distilleries and Western US distilleries.

Corresponding image for distilleries

For completeness, here is the maximum of either the distance to the nearest brewery or the distance to the nearest distillery.

Maximum of either the distance to the nearest brewery or the distance to the nearest distillery

And here is the equivalent 3D image with the distance to the next brewery or distillery shown as vertical elevation. We also use a typical elevation plot coloring scheme for this graphic.

Distance to the next brewery or distillery shown as vertical elevation

We can also zoom into the Big Dry Badlands mountain range to the East of Denver as an equal-distance-to-freshly-made-alcoholic-drink contour plot. The regions with a distance larger than 100 miles to the nearest brewery or distillery are emphasized with a purple background.

Zoom into the Big Dry Badlands mountain range to the East of Denver as an equal-distance-to-freshly-made-alcoholic-drink contour plot
Zoom into the Big Dry Badlands mountain range to the East of Denver as a equal-distance-to-freshly-made-alcoholic-drink contour plot

Or, more explicit graphically, we can use the beer and whiskey images from earlier to show the regions that are closer to a brewery than to a distillery and vice versa. In the first image, the grayed-out regions are the ones where the nearest distillery is at a smaller distance than the nearest brewery. The second image shows regions where the nearest brewery is at a smaller distance than the nearest distillery in gray.

Use the beer and whiskey images from earlier to show the regions that are closer to a brewery than to a distillery

There are many more bells and whistles that we could add to these types of graphics. For instance, we could add some interactive elements to the above graphic that show details when hovering over the graphic.

Add interactive elements
Adding interactive features

Earlier in this blog post, we constructed an infographic about beer production and consumption in the US over the last few decades. After having analyzed distillery locations, a natural question is what role whiskey plays among all spirits. This paper analyzes the average alcohol content of spirits consumed in the US over a 50+ year time span at the level of US states. If you have a subscription, you can easily import the main findings of the study, which is Table 1.

Imported findings from study

Here is a snippet of the data. The average alcohol content of the spirits consumed decreased substantially from 1950 to 2000, mainly due to a decrease in whiskey consumption.

Here is a graphical representation of the data from 1950 to 2000.

Graphical representation of the data from 1950 to 2000
Graphical representation of the data from 1950 to 2000

So far we have concentrated on beer- and whiskey-related issues on a geographic scale. Let’s finish with some stats and infographics on the kinds of beer produced in the breweries mapped above. Again, after some web searching, we find a page that lists the many types of beer, 160+ different styles to be precise. (See also the Handbook of Brewing and the “Brewers Association 2014 Beer Style Guidelines” for a detailed discussion of beer styles.)

Stats and infographics on kinds of beer produced

We again import the data. The web page is perfectly maintained and checked, so this time we do not have to carry out any data cleanup.

Importing data

How much beer one can drink depends on the alcohol content. Here is the distribution of beer styles by alcohol content. Hover over the graph to see the beer styles in the individual bins.

Distribution of beer styles by alcohol content

Beer colors are defined on a special scale called Standard Reference Method (SRM). Here is a translation of the SRM values to RGB colors.

Translation of the SRM values to RGB colors

How do beer colors correlate with alcohol content and bitterness? The following graphic shows the parameter ranges for the 160+ beer styles. Again, hover over the graph to see the beer style categories highlighted.

Parameter ranges for the over 160 beer styles

In an interactive 3D version, we can easily restrict the color values.

3D version

After visualizing breweries in the US and analyzing the alcohol content of beer types, what about the distribution of the actual brewed beers within the US? After doing some web searching again, we can find a website that lists breweries and the beers they brew.

So, let’s read in the beer data from the site for 2,600 breweries. We start with preparing a list of the relevant web pages.

Preparing a list of the relevant web pages

Next, we prepare for processing the individual pages.

Prepare for processing the individual pages

As this will take a while, we can display the breweries, their beers, and a link to the brewery website to entertain us in the meantime. Here is an example of what to display while waiting.

Breweries, beers, and a link to the brewery website

Now we process the data for all breweries. Time for another cup of coffee. To have some entertainment while processing the beers of 2,000+ breweries, we again use Monitor to display the last-analyzed brewery and their beers. We also show a clickable link to the brewery website so that the reader can choose a beer of their liking.

Process data for breweries

Here is a typical data entry. We have the brewery name, its location, and, if available, the actual beers, their classification as Lager, Bock, Doppelbock, Stout, etc., together with their alcohol content.

Typical data entry

Here is the distribution of the number of different beers made by the breweries. To get a feeling, we will quickly import some example images.

Distribution of the number of different beers made by the breweries

Concretely, more than 24,400 US-made beers were listed in the just-imported web pages.

24,400 US-made beers were listed in the just-imported web pages

Accumulating all beers gives the following cumulative distribution of the alcohol content.

Accumulating all beers gives cumulative distribution of the alcohol content

On average, a US beer has an alcohol content (by volume) of (6.7Plus-minus2.1)%.

US beer alcohol content average of 6.7%

If we tally up by beer type, we get the following distribution of types. India Pale Ale is the winner, followed by American Pale Ale.

Distribution of beer types
Distribution of beer types

Now let’s put the places where a Hefeweizen is freshly brewed on a map.

Where to find freshest Hefeweizen brew

And here are some healthy breakfast beers with oatmeal or coffee (in the name).

Breakfast beers

For the carnivorous beer drinkers, there are plenty of options. Here are samples of beers with various mammals and fish in their name. (Using Select[#&@@@Flatten[Last/@Take[brewerBeerDataUS,All],2],
DeleteCases[Interpreter["Species"][
StringSplit[#]],_Failure]=!={}&]
, we could get a complete list of all animal beers.)

Beers with various mammals and fish in their name
Beers with various mammals and fish in their name
Beers with various mammals and fish in their name

What about the names of the individual beers? Here is the distribution of their (string) lengths. Hover over the columns to see the actual names.

Beer name string lengths

Presume you plan a day trip up to 125 miles in radius (meaning not longer than about a two-hour drive in each direction). How many different beers and beer types would you encounter as a function of your starting location? Building a fast lookup for the breweries up to distance d, you can calculate these numbers for a dense set of points across the US and visualize the resulting data geographically. (For simplicity, we assume a spherical Earth for this calculation.)

Calculate for a dense set of points across US

In the best-case scenario, you can try about 80 different beer types realized through more than 2000 different individual beers within a 125-mile radius.

80 different beer types realized through more than 2,000 different individual beers within a 125-mile radius
80 different beer types realized through more than 2000 different individual beers within a 125-mile radius

After so much work doing statistics on breweries, beer colors, beer names, etc., let’s have some real fun: let’s make some fun visualizations using the beers and logos of breweries.

Many of the brewery homepages show images of the beers that they make. Let’s import some of these and make a delicious beer (bottle, can, glass) collage.

Beer bottle collage
Beer bottle collage

We continue by making a reduced version of brewerBeerDataUS that contains the breweries and URLs by state.

brewerBeerDataUS

Fortunately, many of the brewery websites have their logo on the front page, and in many cases the image has logo in the image filename. This means a possible automated way to get images of logos is to read in the front page of the web presences of the breweries.

Find logo via web presence of brewery

We will restrict our logo searches to logos that are not too wide or too tall, because we want to use them inside graphics.

Restrict logo search

We also define a small list of special-case lookups, especially for states that have only a few breweries.

Define a small list of special-case lookups

Now we are ready to carry out an automated search for brewery logos. To get some variety into the vizualizations, we try to get about six different logos per state.

Automated search for brewery logos

After removing duplicates (from breweries that brew in more than one state), we have about 240 images at hand.

247 images

A simple collage of brewery logos does not look too interesting.

Simple brewery collage

So instead, let’s make some random and also symmetrized kaleidoscopic images of brewery logos. To do so, we will map the brewery logos into the polygons of a radial-symmetric arrangement of polygons. The function kaleidoscopePolygons generates such sets of polygons.

Random and symmetrized kaleidoscopic images of brewery logos

The next result shows two example sets of polygons with threefold and fourfold symmetry.

Two example sets of polygons with threefold and fourfold symmetry

And here are two random beer logo kaleidoscopes.

Two random beer logo kaleidoscopes

Here are four symmetric beer logo kaleidoscopes of different rotational symmetry orders.

Four symmetric beer logo kaleidoscopes of different rotational symmetry orders

Or we could add brewery stickers onto the faces of the Wolfram|Alpha Spikey, the rhombic hexecontahedron. As the faces of a rhombic hexecontahedron are quadrilaterals, the images don’t have to be distorted very much.

Add brewery stickers onto the faces of the Wolfram|Alpha spikey

Let’s end with randomly selecting a brewery logo for each state and mapping it onto the polygons of the state.

Randomly selecting a brewery logo for each state and mapping it onto the polygons of the state

The next graphic shows some randomly selected logos from states in the Northeast.

Randomly selected logos from Northeast states

And we finish with a brewery logo mapped onto each state of the continental US.

Brewery logo mapped onto each state of the continental US

We will now end and leave the analysis of wineries for a future blog post. For a more detailed account of the distribution of breweries throughout the US over the last few hundred years, and a variety of other beer-related geographical topics, I recommend reading the recent book The Geography of Beer, especially the chapter “Mapping United States Breweries 1612 to 2011”. For deciding if a bottle of beer, a glass of wine, or a shot of whiskey is right for you, follow this flowchart.

Download this post as a Computable Document Format (CDF) file.

5 Comments

This is again a fantastic post by Michael Trott!
I can learn a lot from this but I would like the CDF or notebook version of this post. We usually can download this with a link at the end of the blog.
But not this time?

Posted by Erik Mahieu August 20, 2014 at 6:50 am

Absolutely love this post but have to make a small correction to the barley map. Barley has come back to New England, is being grown&malted in Hadley Massachusetts and used in breweries around the Northeast.

Posted by Christopher Lloyd August 20, 2014 at 1:37 pm

Wow this is not a blog.. It’s almost a book. Great stuff and show-off of the capabilities of the WL.
The notebook would be appreciated! Now I’ll go through this again with a nice beer.

Posted by Lou August 20, 2014 at 1:45 pm

Lots of very neat functionality!

Posted by Tal Einav September 11, 2014 at 4:12 pm

Nice post, I would rather use this as a ready reference source book. Thanks Michael !

Posted by Amit November 4, 2014 at 7:09 pm