New Google Earth Projects: Dynamic Landscapes

TL;DR: Google Earth Projects: Dynamic Landscapes (Link to Projects)

Figure: Dynamic Landscapes Main Menu

One of my favorite concepts to teach and think about is this idea of scale and how our landscapes constantly change. Google Geo has a couple of tools that help capture both these concepts. First, Google has organized years of remote sensing images from several vendors. Many students and teachers have used Google Earth Engine’s Timelapse and/or have used Google Earth Pro’s (Desktop) “Historic Imagery.” With these tools, viewers can see a changing landscape from above. For example, the images below, from Google Earth Pro’s Historic Imagery, visualize Warsaw Poland in 1935 and 1945. In addition, Google Maps, not Earth, has historic Street View going back, in some places, for 15 years.

The goal of these Google Earth projects is to tell stories using these concepts of spatial and temporal scales. The four stories chosen to tell using these scales include the 2013 EF5 Tornado in Moore, OK; 2011 wildfires in Bastrop, TX; the 2011 Tōhoku Earthquake/Tsunami; and finally, the Notre-Dame Cathedral fire in Paris, France.

Figure: Damage Path EF5 Tornado Moore, Ok 2013

While these catastrophes are life altering to those living thorough these events, I find it, as a teacher, easier to create empathy in students when these events can shift between small-scale/small detail to large scale large detail. In other words, at a small-scale students can see the extent of how much was damaged, but might miss the personal stories of loss, heroism, and perseverance. Shifting the perspective to the large-scale/large detail of Street View gives a glimpse of these personal narratives. Hopefully facilitating the growth of an empathetic citizen willing to help their world.

Figure: Historic Street View – TX Highway 21 (Left Image: 2011 | Right Image: 2013)

On the technology side, there is a little of everything Google Geo has to offer. The stories themselves are curated Wikipedia and US government websites using data from NOAA, FEMA, Google Earth Imagery, and Google’s Street View. The visual format of the stories’ panels were created using custom HTML with help from Google’s Material Design Lite and a little JS to show/hide layers and style the media. The Google Earth Layers are all tiled (x,y,z) raster images either created using MapTiler or, in some cases, Google Earth Engine. The historic Street View panels are done using Google Maps API. And lastly Google Earth Studio was used to create the spinning Earth found in the Dynamic Landscapes’ Main Menu project.

Figure: Earth Engine 2013 Tornado Data – Source NWS

In other words, these stories are an experimental convergence of hacks. And while I think they look fantastic; they will always be amateur. However, these stories could look so much more polished, and scalable, with a couple of Google Earth for Web features. First, historical imagery and historical Street View that could be included in Google Projects. Second, toggle switch widgets for showing/hiding layers. Third, and one that I have been unable to hack yet, would be the ability to “set a scene” by enabling and disabling Map Styles like visible features (roads, places, poi), 3d imagery and clouds:) The ability to add ground overlays would also be useful to many users. This would remove some friction that is introduced with tile overlays. Lastly, and this will probably make no sense to anyone, but the ability to assign Ids to features like placemarks (points, lines, polygons), ground overlays (tiles), folders, full screen panels, etc. While I am at it…maybe the Earth Engine team could help me out with exporting video (x,y,z) tiles from Earth Engine’s code editor. Very selfish request.

Figure: Tōhoku Tsunami Model – Source NOAA

Anyways, please let me know via Twitter or Facebook if you would like for me to create a tutorial on anything you found interesting within these stories. I truly enjoy creating and learning from these experiences.

What are El Niño and La Niña? Google Earth Project

TL;DR What are El Niño and La Niña? Google Earth Project

I love finding informational U.S. government websites that fit the curriculum. In this case, and many others, NOAA created a page that does a really good job informing viewers about El Niño and La Niña (Link). What I enjoy about these sites is the opportunity to add value by transferring them into Google Earth stories. Now students can get the information in a package that allows for a bit more exploration. Or at least students get to push more buttons.

Anyways, please take if for a spin and share away if you think it will help student. Click here to open Google Earth Project: What are El Niño and La Niña?

If you are interested, here are some additional Google Earth Stories.

PSA: Teachers…If you are wanting to share this or other Google Projects with students and your school is a Google EDU campus. You might have to first share to your Teacher Workspace EDU account and then make a copy. (Three dot icon next to the trach can icon –> “Copy Project” Then share the copy to your students. Most EDU accounts do not allow for outside domain sharing. This puts a copy within your EDU Domain. Geo 4 Good 2021

TL;DR: Here is a GitHub Repository for those who just want to see Earth’s Changing Oceans html, CSS, and JavaScript. (Link) Or make a copy of the demonstrated Google Earth Project. (Link)

It is always great to share Google Earth Project ideas at Geo for Good Summits. This year’s presentation utilized Earth Web’s new tile features along with folders. I originally wanted to create a post on how the demonstrated Google Earth Project was created, but I thought it would be better to create a simple project that uses the same basic ideas and structure.

The simple story created in this post is Austin and Las Vegas’ urban growth 2000 – 2020. This post will be a guide starting from creating and exporting map tiles using Google Earth Engine through the creation of an Earth Project using these tiles. Being completely unaware of people’s knowledge and skills, the lack of real time meaningful feedback, and the use of multiple platforms creates many challenges for this post. My hope is that the videos and code snippets help, but feel free to reach out. You can find me on Twitter @geteach.

Lastly, the typical disclaimer. I am a high school geography teacher and not a professional developer. Hopefully this tinkering adds value to whatever you are trying to create.

Table of Contents

I. Environment / Setting

  1. Google Chrome
  2. Google Cloud Storage
  3. Earth Engine – Code Editor
  4. Image Viewer – Any should work (IrfanView – Windows)
  5. VS Code
  6. All Tutorial Files used are in this GitHub Repository
  7. Patience

II. Setup Google Cloud Storage to House Map Tiles

  1. Create a bucket for the project
  2. Create paths to store Map tiles and other assets
    • Austin/2000
    • Austin/2020
    • LV/2000
    • LV/2020
Above Video: Set up Google Cloud Storage Folders

III. Create and Export Map Data Using Earth Engine

  1. Create cloudless map layers of Landsat 7 data
  2. Using bounding box to only save map data for Austin and Las Vegas
Above Video: Creating Earth Engine Maps

  1. Export the Map Tiles to Google’s Cloud Storage
Above Video: Export Map Tiles via Earth Engine

  1. Export the Panel Images to Google’s Cloud Storage
Above Video: Create and Export Panel Images

IV. Create Google Earth Project and Folder Structure

  1. Create New Google Earth Project
  2. Create full screen splash introduction placeholder
  3. Create Folders for…
    • Austin
      • Austin 2000
      • Austin 2020
    • Las Vegas
      • Las Vegas 2000
      • Las Vegas 2020
  4. Add Tiled Maps
  5. To get folder/feature IDs – Export Project as kml
Above Video: Structure Google Earth Story

V. Programmatically Control Earth Project Folders and Features (The Secret Sauce)

  1. Export KML
  2. Create hidden div for links
  3. Create JavaScript loop to show/hide features
Above Video: The Secret Sauce

VI. Create Introduction Splash Screen (Set the Presentation)

  1. Add image, title and description to introduction screen
  2. Set the “CLICK TO EXPLORE” button
  3. Copy/paste HTML into Google Earth Project
Above Video: Edit Introduction/Splash Screen

VII. Create 1st Panel within Austin Folder

  1. Edit Carousel, Text
  2. Set Features to hide/show
Above Video: Create Austin Panel and Set Map Overlays

  1. Set “Flyto” function for Austin Panel
Above Video: Add “Flyto” Function to Austin Panel

VIII. Create 2nd Panel within Las Vegas Folder

  1. Edit Carousel, Text
  2. Set Features to hide/show
  3. Set “Flyto” function for Las Vegas Panel
Above Video: Create Las Vegas Panel

IX. Tutorial GitHub Repository UI Refresh

Swipe Right: New UI / Swipe Left: Old UI

It has been about five years since’s last UI refresh. There are several issues that have been resolved. Watching students use the site in my classroom has brought on many of these changes, but some are just me wanting to tinker around. The most significant changes center around students using touch screens on their 11.6” Chromebooks.

Other changes have to do with scrolling of panels and creating a vertical split screen mode for modern, relatively large, smarty phones and/or tablets. As always, I am a one teacher shop that can only test on the devices that teachers can afford. So hopefully the new design works for your students. If not, the old version will be hosted here for the time being.

Swipe above image: New larger and on-hover highlighted buttons

Swipe above image: “Select Map” menu has been reworked to better fit smaller screens

Swipe above image: Close Streetview icon added to panel’s header

Swipe above image: Added scrollbars to each panel to accommodate smaller screen sizes

Swipe above image: The importance of scroll bars. Allowing students to work with varying window sizes

“Layers” automatically toggles on after clicking a map set

New vertical view option which might not help a lot in landscape on a computer, but…

..pretty handy in portrait mode on my Note 8 (image above) and/or a tablet in portrait mode

**Phone viewport must be wider than 385px**

Spice up Google Earth Projects with Custom HTML

One of the most requested features I get asked about is adding narration or audio to Google Earth Projects. Recently, I was fortunate to participate in a Google for Good 2020 session were Jordon Mears and I discussed how to approach adding audio to Google Earth Projects via Earth’s custom HMTL option. (Click here to watch full presentation – Free on-demand)

Click here to watch full presentation – Free On-Demand

Thanks for those who watched the session. However, as an educator, I understand the need to offer a non-serial version and examples of our 15-minute conversation.


Code Editor: Visual Studio Code (Code editor from session)

Hosted MP3 file:

HTML Templates:

Google Earth Project Example Link (Feel free to make a copy)

Step 1: Start simple

For me, when working with HTML and Google Earth, starting with the most basic snippet, then working up, saves hours of development time.

Our inquiry begins with…Can HTML audio tag work in Google Earth Web?

Finding the simplest code example often starts with Google search, “html Audio.”  These searches often lead me to school.

From here, I will take their “Try it Yourself” snippet and replace their mp3 with one of my own.

<!DOCTYPE html>

<audio controls>
  <source src="" type="audio/mpeg">
Your browser does not support the audio element.


Copy and Paste the modified code into Google Earth Web and hear it work.

Simple HTML Audio – Google Earth Web

Step 2: Spice it up!

Now that we know the html audio tag works, we can spice up the style of the page with a little more HTML, CSS, and simple JavaScript. You can always create your own, but if you don’t have the time, feel free to use a template from this GitHub repository ( The snippet below is using the oneImageAudio.html example found in repository.

<!DOCTYPE html>
        <meta charset="UTF-8">
        <title>Simple Audio with One Image</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href=",200,300,400,500|Roboto+Slab|Material+Icons" type="text/css" />
        <link rel="stylesheet" href="" />
        <link rel="stylesheet" href="" type="text/css" />
        <div id="container">
            <main class="panelMain">
                <div class="mediaContain">
                    <div class="slideshow-container">
<!--First media in Carousel--Best Image Aspect Ratio 3:2 Replace Image Source (src) bellow-->
                        <div class="mySlides fade">
                            <img class="image"src="">
                            <div class="captionDiv">
                                <div class="caption" >Replace Caption</div>
                <div class="content" id="content">
<!--Replace title text between div-->
                    <div class="title">
                        Replace title
<!--Replace mp3 source (src="youraudio.mp3")-->
                    <audio id="audioI" style="display:none" >
                        <source src="" type="audio/mpeg">
                            Your browser does not support the audio tag.
                    <span class="mdl-chip mdl-chip--contact audioPlay" style="width:85px;margin-left: 8px;">
                        <span class="mdl-chip__contact mdl-color-text--white" style="margin-right: 5px;"id="playIcon">
                            <i class="material-icons">play_arrow</i>
                        <span class="mdl-chip__text" id="playButton">Play</span>
<!--Replace text for description--Every <p> needs to have a class="text"--Any html works-->
                    <div class="description">
                        <p class="text">Replace description...If you need a new paragraph the class="text"</p>
<!--Best image height for footer is 24px with a max-width of 145px-->
<!--If you don't want the footer is it best to delete the html within the logoLeft/LogoRight Div-->
                <div class="footer">
                    <div class="logoLeft">
                        <a href="" target="_blank">
                            <img src="" >
                    <div class="logoRight" style="display:none">
    <script src=""></script>
    <script defer src=""></script>
Custom HTML Audio – Google Earth Web

There are several HTML files in the repository for you to use, modify, or recreate.  You can reach me @geteach on twitter if you need help exploring, creating, or sharing this Earth.

Read more about my Google Geo fun here: Decade of Google Geo EDU (

Or read some other Google Geo post here: