Happy Crayon Day! (90/365)

Many of my first maps were drawn with crayon. And perusing the Children’s Map Exhibit at the International Cartographic Conference every two years, others continue to follow suit.

So I thought for Crayon Day, I would skip the interactive map trend and just ask Google Gemini Image Creator to create a crayon map as might be drawn by an 11 or 12 year-old, Generation Alpha kid today, highlighting all the chaos and conflict in the world. A pre-teen angst map, of sorts.

I guided it a bit in my prompt for sure, but what it came up with seemed alright. Though, I might put a grumpy face in the US too.

Happy Crayon Day!

P.S. It will be interesting to see which kids figure out how to use AI to produce amazing maps of the world for the next ICC Children’s Map Contest (Poland 2027).

I suspect we’ll see some truly amazing children’s maps… and if they prompted them into creation… I say it’s still art. But I doubt everyone will agree with me. ๐Ÿ˜‰ We certainly live in interesting times!

A crayon map of the world as drawn by a 12 year-old today.

Prompt Used in Google Gemini Image Creator

Tomorrow is Crayon Day. Please draw a map of the world in Crayola-style crayon texture and colors that looks like it was drawn by a precocious and semi-talented sixth-grader. The crayon map of the world must be drawn entirely in crayon and should highlight major countries (no names included) as well as have added pictographs (again, drawn in crayon) of tense and stressful world events and conflicts, including everything from melting icecaps, to global warming, to overfishing, to arms buildups between NATO and Russia, war in Ukraine, Iran, West Bank, Israel, Venezuela, conflicts and tensions in the South China Sea, Taiwan, between the Koreas, authoritarian leaders, an oil ship trying to reach Cuba, US aircraft carriers in the Indians Ocean, an American flag unsuccessfully trying to be planted in Greenland, and any other things you can think of around the world to fill in simple pictographs about stressful, tense situations where there are blank spaces.

Bipolar Day Cartographic Style (89/365)

Bipolar disorder is a real thing and nothing to mock. It impacts millions around the world, including several distant relatives and in-laws of mine. So I’m not mocking this disease.

However, I do get a little tired of mapping global- or state-based epidemiological datasets. And the fact that bipolar can be turned into a cartographic pun was just too tempting to resist.

So I present to you the Cartographic Bipolar Day Map!

This one was a bit of a mess. Originally I wanted an Equal Earth projection that would rotate with the labels representing themselves right-side up, so to speak, even with south at the top.

This proved difficult from a technical standpoint. With very weird rendering errors using Equal Earth and D3. After several attempts back and forth with the LLM, I asked it if it would be much easier to just do it with Web Mercator, to which my assistant responded: “Oh, hell yes!” (I’ve asked my assistant to swear a lot so it better resembles working with someone I’d enjoy working with, as I only trust people who swear… a lot… but I digress.)

I gave it permission to use Web Mercator and some obnoxious raster base map just for fun, and alas… about a minute later we had a map.

Yes, I could spend my weekend perfecting this gimmicky map for a handful of “likes” on LinkedIn, I suppose, but the weather is abnormally warm in Minnesota right now, so I’d rather go outside and cut down some dying pine trees. Tornado season is coming… I figure I won’t be able to make maps, prompted or otherwise, if there is a 20 meter-long tree trunk dissecting my office.

View Map Here

Original Prompt

Continue reading

Happy Piano Day! (88/365)

Happy Piano Day!

The 88th day of every year is considered Piano Day by… pianists? Not sure. But it’s official, so I made a map for it.

When I saw this day on the calendar, I was reminded of the great Mรนm song “We have a map of the piano.” I remember designing Macromedia Flash maps to this song back in the early 2000s. So I thought…

What if the map was the piano?

This one was fun to make. I decided to use a single prompt and provide no dataset or anything. And it worked!

Today’s map is a piano. Every country is a note from the piano. Bigger countries by area are the more commonly played white keys. Each key has at least two countries associated with it.

You can play songs by tapping countries. To get you started, I also designed a couple of popout panels to offer a handful of post-copyright songs with notes, so you can practice playing map melodies.

A piano is nothing more than a map of sounds… here we replace keys with countries.

View Map Here

Conversation

View the entire Web Mapper conversation โ€“ one prompt and an output you can copy-paste yourself.

https://chatgpt.com/share/69c5f472-5a38-832f-b981-79fcdb1db1c1

Happy Celebrate Weeds Day! (87/365)

Happy Celebrate Weeds Day!

At first I figured this was some inside joke for people who love marijuana. Surely, someone had to be stoned to come up with National Weeds Day where people celebrate weeds, right? But the other option was National Triglycerides Day and well…

I spend most of my free time in the summer killing off a tree-sized weed, common buckthorn, which has invaded the upper Midwest since being imported from Europe. It kills most of the undergrowth in our forests here, so I figured I might as well map and learn what other, smaller types of weeds there are to keep an eye out for.

My weed map doesn’t seem to load quickly right now.

I blame the insanely large dataset from the USDA… or maybe… just maybe, it’s the curse of the dead buckthorn?! ๐Ÿ˜ฎ

Map of invasive plants in the US

View Map Here

Web Mapper GPT Prompt (7m26s response)

Continue reading

Happy Theatre Day! (86/365)

Happy Theatre (or Theater?) Day!

Today’s map is a bit weird. I decided to ask Perplexity to create a dataset of renowned playwrights from different countries that are perhaps not famous but have done work that has received awards or is known internationally.

I get tired of English, so I asked the playwright’s description in their preferred or native language. So you won’t be able to read about all of them necessarily, but you’ll be able to see their names and famous plays in English — if you speak English.

Anyway, the map is kind of simple aside from the fact that the countries are filled with their playwright’s bios and may languages are represented herein.

This one took a brief follow-up prompt because originally the bios weren’t contained/masked by the country boundaries and running amok. A couple of follow-up lines straightened things out and I’m off working on tomorrow’s map which… is so much fun! ๐Ÿ™‚

Also, Perplexity ran out of gas when creating the dataset, and I didn’t really care that much, but you’ll notice a few larger populated countries missing from the final map… i.e., France and the US.

View Map Here

Tools Used

  • Perplexity: data collection
  • Web Mapper: map creation

Web Mapper Prompt

Hi, I would like to make a map for Theater Day on Friday, May 27. I have collected a JSON dataset of famous playwrights from around the world. Each of their descrdiptions is in their native language, for fun. I am wondering if you can do the following: Please create an Equal Earth projection map with the title “All the world is a stage…” in the upper-left-hand section. Then, as a subtitle: “Highly regarded playwrights from around the world.” — Using the provide JSON dataset, please join it to a countries geometry dataset. Use medium gray boundaries for the countries. White background with the playwright’s description (in their native language) filling the entire country at a random angle between 45 degrees and 67 degrees (where zero degrees is at the top and 90 degrees is standard left-to-right horizontal text). The text should be light gray and turn to bright crimson red when the user hovers over a country. For countries without playwright listed, or incomplete data, simply create a country with a very light gray fill. No base map needed. Just the countries. When a user selects a country, have a beautiful, minimalist popup appear with the details about the Playwright and all the information, with a scroll bar. Have hte Playwright’s name as the title. Use 85% black for the text. White background, no transparency. A very minimalist map with beautiful text-based fill from their bio, descriptions, etc. If you have any questions or run into any issues, please let me know. On mobile devices make sure the map fills the window and is centered vertically. Also make sure it can only be viewed in landscape mode. Allow zoom up to 5 times the full extent. Do not let people pan outside of hte map or zoom out into space. On mobile make the title a header across the top, minimal. On the desktop version, have it float over the map in the lower lefthand corner, quite large. Add an info button next to the title. When a user clicks it, a modal opens with the a source showing the APIs used, link to a provenance file, and a link to the JSON file used to create this map. Give credit to Web Mapper GPT and Ian Muehlenhaus. Thanks.

Happy Purple Day! (85/365)

March is Epilepsy Awareness Month and today is the day โ€“ Purple Day! (As a Minnesotan, I almost felt compelled to do something Prince related, but… the day is too important to belittle it with a cultural reference to a dead musician I never really listened to.)

Epilepsy impacts millions around the world, is absolutely debilitating, and can be fatal.

In fact, we lost a wonderful cartographer to epilepsy back in 2008 โ€“ Ben Alden (Edina, Minnesota).ย  He was a graduate student at the University of Minnesota and my Teaching Assistant in the Cartography course I was teaching there. He passed mid-semester, and he’s not forgotten.

Ben, this map is for you! Even more fitting as, because you were 10 years younger than me, you were obsessed with KML and creating maps via code, instead of GUI interfaces (i.e., Macromedia Freehand was what I taught with back then). You were convinced code would replace GUI in map design.

Not only were you right, Ben. Today coding by human is being replaced with natural language. Today mapmakers don’t have to learn how to code or use a GIS at all. Instead, they can create a detailed epilepsy dataset showing death count, incident rates, estimate ranges, five different classification schemes, varying classification counts, across three different years (2010, 2020, and 2023) in a single request (i.e., prompt).

And yes, the map is equal area, uses Color Brewer style ramps (until a user decides to go up to 10 classes, of course), and has an interactive side panel, interactive multi-select legend, detailed info window popups that are interactive and allow the user to change the year being shown updating the underlying map, and works on mobile devices too.

The following map was created using a single prompt in Web Mapper/WebMapperGPT/WebMapGPT… whatever you want to call it, which in turn, is merely ChatGPT built via a single system prompt.

And I guess what I’m saying is…

Stochastic parroting of sound and syntax (i.e., natural language) is perhaps the most direct means of expressing human thought, and for many of us, who prefer writing or speaking to coding or clicking GUI buttons, it’s definitely a marvelous way to produce maps.

P.S. Hey, Ben… I hope you’re up there nodding with approval. It’s come full circle. You were really on to something back in 2008. ๐Ÿ™‚

Epilepsy death counts/rates and incident counts/rates around the world. View Map Here

Single Prompt Producing This

# Audience and Purpose
General world audience. Created for Purple Day to focus on people with epilepsy and funding for finding cures and researching the disease.
# CSV Dataset
I have a CSV dataset of epilepsy rates by country around the world in three different years (attached). The CSV dataset has up to three entries per country (one for 2010, 2020, and 2023) and also includes an ISO3 column for easy joining to freely available datasets like Natural Earth.
Please connect this CSV dataset to a country polygon file set available online to finalize the dataset. We will be visualizing this.
Below is a list of the field names and their definitions:
– ISO3: the country’s ISO3 abbreviation
– Country: the natural language name of the country in English
– year: the year this feature’s data represents
– deaths_count: number of deaths of epilepsy
– deaths_rate: the estimated epilepsy death rate
– deaths_lower: the lowest possible death rate
– deaths_upper: the highest possible death rate
– inc_count: epilepsy incidents count
– inc_rate: epilepsy estimated incidents rate
– inc_lower: epilepsy incidents lowest possible rate
– inc_upper: epilepsy incidents highest possible rate
# Devices
## Mobile and Handheld
Will largely be handheld device, I imagine. Since it’s a world map, must require landscape orientation to view on handhelds. Ensure that title is minimal on handhelds and across the top. Include mobile friendly icon button(s) and when the user taps outside of a modal or panel, hide it to show the map. Popups should be over the selected country and compact. They should disappear automatically as soon as someone clicks/taps anywhere outside of it.
There can be a legend that pops up from the bottom of the screen and disappears when you click outside of it. Legend contents will be discussed later.
## PC / Laptop
Full featured. Load map with Legend open and Attribution modal hidden. Title should float in upper left of map with no header bar across the top. Title should have a 70% transparent background behind it that gradients to 15% transparency from the upper-left of the text box to the lower-right (diagonal). Use white as the color. A panel should slide out from the right-hand side and be open at the start. The left side of the panel will have a thin gray bar that, if the user wants, can be clicked on to minimize the panel. When minimizing, the panel should slide left-to-right smoothly and conclude with the same thin gray bar resting on right side of the window, the same thickness on the screen as it was when the panel was fully extended. If the user clicks on this bar when it is resting on the right border of the window, the panel must slide open (from right-to-left) again. And back-and-forth.
# Map Area
We will be mapping the whole world. If possible, please choose an Equal Area or Equal Earth projection. if this is not possible due to the nature of the data or capabilities of the APIs you decide to use, feel free to use Web Mercator.
I don’t care where the projection is centered, but ideally on the Prime Meridian.
Please remove Antarctica from the map. It is not required.
## Mobile Devices
On mobile devices, I have noticed that when the user rotates their phone to landscape, sometimes the map hugs the bottom border of the screen. Please ensure that the map area rests in the center of the display vertically and fits horizontally. Thank you.
# Background / Basemap
Please use a black background. If we are able to successfully merge/join the CSV to a country dataset, then please don’t use a basemap other than the country boundaries. If not, use a dark, simple basemap.
# Data Visualization
## Desktop / Laptop
I would like you to visualize the dataset in several different ways. The default view will be Natural Breaks with 5 classes and a Color Brewer-inspired color ramp from off-white (or light yellow) to dark purple. Lower rates are off-white/light-yellow. Higher rates are dark purple.
However, the user will be able to reclassify the datasets in several ways, so you will need to create styles and plans based on what interactivity they are allowed to do. Also create 5-class schemes for the following classification schemes:
– Equal Interval
– Quintiles
– Standard Deviation
– Unclassed
Also, please plan to for the user to be able to change the number of classes for all of the schemes, except unclassed, using a number between 3 and 10.
All of the maps will use the same color ramp except Standard Deviation, which will use a diverging color ramp with medium gray in the middle class, pure white for the lowest class, and dark purple for the highest class.
Controls for the different schemes will be placed in the panel and discussed shortly.
The country borders will be an unsatured bright yellow.
## Mobile / Handheld
The mobile and handheld map will have only two classification schemes, which can be switched using a toggle in the legend: natural breaks with five classes and unclassed. Same datasets and representations as on the desktop map. IMPORTANT: on mobile, only data for 2023 will be visualized. The other years will be omitted from the visualization.
# Info Windows / Pop Ups
Users must click on a country to get an info window or popup. No hovering!
Do not use arrows pointing to the feature you clicked on. Just show a rectangular info window, please. The border should be 0.5 thick and white at 50% transparency.
The pop up window background will be the same as the classification color currently assigned to the country (depending on previous user intarctivity, etc.). If the backgroudn color is yellow, white, or light gray, use a dark purple font. If it is medium or dark purple, use a white font.
## Desktop / Laptop
The pop-up on computers and laptops will contain the following information:
– Country Name as the title
– The currently selected year (as chosen in the Pane). Represent this prominently but not dominently near the title.
– Estimated Deaths: {deaths_count}
– Estimated Death Rate: {deaths_estimated}
– Smaller, subdued font: “Rate Range”: {deaths_lower} โ€“-> {deaths_upper}
– Estimated Incidents: {inc_count}
– Estimated Incident Rate: {inc_rate}
– Smaller, subdued font: “Rate Range”: {inc_lower} โ€“-> {inc_upper}
Also, include three buttons at the bottom, one for each year in the dataset: 2010, 2020, 2023. The year currently being shown (typically the one selected from the legend or panel) should be highlighted and unselectable. The other years should be selectable. When a user selects this, the entire world map changes underneath to that year, but the info window stays open and the data in the info window updates as well. Also, that year become highlighted in the info window and unselectable, and the other year that had been selected is now selectable.
## Mobile / Handheld
The pop-up on mobile devices will contain the following information:
– Country Name as the title
– The currently selected year (as chosen in the Pane). Represent this prominently but not dominently near the title.
– Estimated Deaths: {deaths_count}
– Estimated Death Rate: {deaths_estimated}
Only 2023 data is available on mobile versions of the app, so no need for a year selector.
# Sources Modal
The sources modal MUST be hidden when the map loads. Once loaded, the sources modal must disappear again as soon as the user clicks anywhere outside of it. When it is opened via user interaction, please stylistically (in a manner that does not class with the underlying map) provide the following information to the user:
– Map Projection
– Dataset Source (please identify, it was some online world database, as I recall)
– Provenance JSON download
– Prompt Cartographer: Ian Muehlenhaus (link to https://linkedin.com/in/ianmule)
– Created as part of the Map Design Commission of the ICA’s 365 Days of Maps Campaign. Follow here: https://mapdesign.icaci.org/.
– Made for free using Web Mapper: https://www.webmapgpt.com/
– Map APIs / Geometry Attributions: {determine_and_list}
## Special Rule for Mobile / Handheld
Ensure that there is space for the user to click outside of the modal to make it disappear. If space is an issue, add a scrollbar to the modal to allow all the information to fit.
# User Interactivity and Map Manipulation
User interaction will occur in two places primarily: in the map area and in the panel.
## Map Interactions
Users must be able to zoom in and out on the map up to five times the original extent. Users may not zoom out past the original map extent, however (i.e., never out into outer space). When the user zooms all the way out, the map should be at full extent and fit the viewport appropriately.
Users may pan the map using one finger or click-and-drag on a mouse. However, they may not pan more than rougly 10 degrees latitude and/or longitude north, south, east, or west of the full extent.
## Desktop / Laptop Panel Interactions
In the panel, the user must be able to manipulate the following:
– Year being shown
– Data being shown: Death Rate OR Incident Rate. No count data as choropleth.
– Classification scheme
– Number of classes (except for unclassed)
– Multiselect legend (except for unclassed data):
– when one or more classes are selected, the map keeps those countries the color they were, and all others go to 80% transparency
– when the user clicks on the same selection again, it becomes deselected and changes back
– when no classes are selected, all regain complete visibility
When the user has selected the Unclassed visualization, a legend should be shown with a small not underneath saying that the legend is not interactive.
Add a “Clear” selections button prominently but not dominently below the legend.
## Mobile
There is no panel to interact with. However, on mobile, the legend is interactive and follows the same multi-select and deselect rules as desktop.
There is no option to change number of classes or class type.
# Panel Design
The panel should look modern professional โ€“ 2000% more like Apple or Google Maps than Esri Calcite.
Arrange the interactive components in a logical order and chunk interactive tasks into logical sections. Avoid putting boxes inside of boxes and instead use horiztonal dividers or font tweakes, etc.
Align all components left. Use contemporary styling techniques and use plenty of white spacing without losing visual balance within the panel itself, please.
At the bottom of the panel, have a “Sources & Attribution” button that opens the sources modal.
# Overall styling
I hate super-rounded rectangles. But I also don’t like sharp edges. Be consistent and round all boxes and component at 10px.
Make the map modern, purple, and not corny. It’s meant to support an important day. Thanks!

Continue reading

Tolkien Reading Day (84/365)

When I was a student in Oxford, UK I spent far too many hours than I care to admit to (did I just admit to that?) in a pub called the Eagle and Child, opposite the Lamb and Flag, just round the corner from The White Horse, the Turf Tavern, and many other fine establishments.

It became a favourite meeting place though my friends and I were not the first to come together there as a few years earlier (about 55 to be precise) it was the site where ‘The Inklings’ used to meet. A group of writers who shared manuscripts and discussed their work. These were no ordinary writers though as they included C.S. Lewis and J. R. R. Tolkien.

Today is a day to celebrate Tolkien and his amazing fantastical worlds. His books live on but they also contain many maps drawn by his hand in a very unique style. So, let’s see how our AI can handle a request to make a map in his image. I tried it with both ChatGPT and Google Gemini’s Nano Banana because, well, Tolkien deserves two maps right? Same prompt for both.

ChatGPT map

Tolkien ChatGPT map

Google Gemini map

Tolkien Gemini map

Original Prompt (ChatGPT and Google Gemini)

I need a map to celebrate J R R Tolkein Reading Day. Clearly this will have to be in his signature Lord of the Rings/The Hobbit style which I’m hoping you can adequately capture. The tricky part is deciding what the map should actually illustrate but maybe just a world map in a fantasy style will suffice. Can you make the map layout in a Tolkien-esque style? Also, I’d prefer it to be black and white line drawing. Only important features or labels should be highlighted in red. Do you have any ideas?

Footnote…

As of the time of writing the pub is closed but after restoration will re-open. I look forward to visiting at some point in the future. I just hope the bar staff continue to forget the fact that my friend and I have officially been barred from the place. But that’s a whole different story!!!

National Cocktail Day (83/365)

Raise a glass to National Cocktail Day. Whether your tipple is a refreshing Gin and Tonic, a shot of Tequila, a Caipirinha, or a mocktail, today is the day to be drinking it. It’s a day to respect and enjoy the almost infinite ways of mixing flavours into a wonderful experience.

Shake (never stir)… and cheers to you!

Cocktail map

Original Prompt (Google Gemini)

Please create a world map that shows the world’s favourite cocktails. For instance, I’d expect Gin and Tonic to represent the UK, while a Caipirinha would represent Brazil. Anything with Vodka probably works for Russia. To add a little humour you could probably use a beer for Australia. Let’s see what you can mix up. please title the map “Mixologist’s Map”

Atheist Day (82/365)

Imagine a world without our calendars filling up with all manner of days, weeks, months, and other religious feasts, fasts, and festivals. Sounds good to me. Religion is deafening. It’s everywhere, and the cause of so many problems as one person’s invisible friend is used to justify some belief or action that someone else’s different invisible friend doesn’t approve of.

If you believe. Great. But plenty of people do not believe. And more often than not their non-belief is seen as somehow less important. It isn’t. So today is a day to celebrate atheism and all the non-believers out there.

Atheist map

Original Prompt (Google Gemini)

I want a world map to celebrate World Aetheist Day. It needs to be godless across the board – a world without divine power. Instead, please celebrate science, philosophy, founders, thinkers, and modern voices. Instead of religious sites, famous observatories, universities, libraries, and ancient rational wonders should be highlighted. What can you come up with?

Talk Like William Shatner Day (81/365)

Today is… a… day… to talk in… a… stacatto… style. Talk more slowly, with emphasis on each word, some dramatic pauses and then rapid fire emphasis. it’s a day to celebrate pop icon William Shatner and his Shatnerverse. Heck – let’s even celebrate the fact that at 94 he’s about to release a heavy metal album!!!

Boldly… Go! (or Go… Boldly! up to you)

Shatner map

Original Prompt (Chat GPT)

I need a playful, map that I can use to celebrate “Talk like William Shatner Day”. Please lean heavily into the famous roles Shatner has played. It’s a map of the ‘Shatnerverse’ where the world is a stage for his characters and the way they speak. What can you come up with?