The New Google Earth 6.2

We’re taking bird’s eye view to a whole new level with the latest version of Google Earth, released today. With Google Earth 6.2, we’re bringing you the most beautiful Google Earth yet, with more seamless imagery and a new search interface. Additionally, we’ve introduced a feature that enables you to share an image from within Google Earth, so you can now simply and easily share your virtual adventures with family and friends on Google+.


A seamless globe

The Google Earth globe is made from a mosaic of satellite and aerial photographs taken on different dates and under different lighting and weather conditions. Because of this variance, views of the Earth from high altitude can sometimes appear patchy.

Today, we’re introducing a new way of rendering imagery that smoothes out this quilt of images. The end result is a beautiful new Earth-viewing experience that preserves the unique textures of the world’s most defining geographic landscapes—without the quilt effect. This change is being made on both mobile and desktop versions of Google Earth. While this change will appear on all versions of Google Earth, the 6.2 release provides the best viewing experience for this new data.

Grand Canyon before and after

Sri Lanka before and after

Share your explorations with Google+

Google Earth is a great way to virtually explore the globe, whether revisiting old haunts or checking out a future vacation spot. With the Google Earth 6.2 update, we’ve added the option to share a screenshot of your current view in Google Earth through Google+. If you’ve already upgraded to Google+, you can share images of the places you’ve virtually traveled to with your Circles, such as family, friends or your local hiking club. To try this new feature, simply sign in to your Google Account in the upper right hand corner of Google Earth and click “Share.” Images of mountains, oceans, deserts, 3D cities, your favorite pizza shop on Street View—you can now experience all these amazing places around the world with people on Google+.


Search improvements

We’ve also made some updates to the search feature in Google Earth. Aside from streamlining the visual design of the search panel, we’ve enabled the same Autocomplete feature that’s available on Google Maps. We’ve also introduced search layers, which will show all the relevant search results (not just the top ten), so now, when looking for gelato in Milano, you can see all the tasty possibilities. Finally, we’ve added biking, transit and walking directions, so if you’re itching for a change of scenery or looking for a new route for your regular commute, you can now use Google Earth to generate and visualize all your options.

via: Google Lat Long blog

The Email Settings and the Profiles APIs

Updating all signatures to make them adopt the same visually appealing style sounds like a perfect task to automate, however we’d still need to collect various pieces of information for each user, such as phone number or job title, and the Email Settings API has no knowledge of them.

The Google Apps Profiles API provides exactly what we are looking for and in the rest of this article we’ll see how to have the two APIs interact to reach our goal.

Let’s assume we want our signatures to look like the one in the screenshot below, with a bold name, italic job title and clickable link for the email address. Of course you can edit the style as you like with a bit of HTML skills:

Python is the programming language of our choice for this small script and we use the Google Data APIs Python Client Library to send requests to the Email Settings and Profiles APIs.

The first few lines of the script import the required libraries and set the values of the credentials that will be used to authorize our requests. You can find the consumer key and secret for your domain in your Control Panel, under Advanced Tools – Manage OAuth domain key. Remember to replace the dummy values in the script below with yours before running it:

import gdata.apps.emailsettings.client

import gdata.contacts.client

# replace these values with yours

CONSUMER_KEY = 'mydomain.com'

CONSUMER_SECRET = 'my_consumer_secret'

company_name = 'ACME Inc.'

admin_username = 'admin'

We’ll use 2-legged OAuth as the authorization mechanism and set the administrator’s email address as the value of the xoauth_requestor_id parameter, identifying the user we are sending the requests on behalf of.

The consumer key and secret plus the requestor id are the only parameters needed to create an OAuth token that we can pass to the Email Settings and Profiles clients:

# request a 2-legged OAuth token

requestor_id = admin_username + '@' + CONSUMER_KEY

two_legged_oauth_token = gdata.gauth.TwoLeggedOAuthHmacToken(

  CONSUMER_KEY, CONSUMER_SECRET, requestor_id)

# Email Settings API client

email_settings_client = gdata.apps.emailsettings.client.EmailSettingsClient(

  domain=CONSUMER_KEY)

email_settings_client.auth_token = two_legged_oauth_token

# User Profiles API client

profiles_client = gdata.contacts.client.ContactsClient(

  domain=CONSUMER_KEY)

profiles_client.auth_token = two_legged_oauth_token

Let’s define a class that generates the signatures for our users on the basis of a set of optional attributes (occupation, phone number, email, etc). This is the class you need to edit or extend if you want to change the style of the signatures for your domain. In the example below, the HtmlSignature() method simply concatenates some strings with hard-coded styling, but you may want to use a more elaborate templating system instead:

# helper class used to build signatures

class SignatureBuilder(object):

def HtmlSignature(self):

  signature = '%s' % self.name

  if self.occupation:

    signature += '%s' % self.occupation

  if self.company:

    signature += '%s' % self.company

  signature += 'Email: %s - Phone: %s' % (

      self.email, self.email, self.phone_number)

  return signature

def __init__(

    self, name, company='', occupation='', email='', phone_number=''):

  self.name = name

  self.company = company

  self.occupation = occupation

  self.email = email

  self.phone_number = phone_number

Let’s use profiles_client to retrieve a feed containing all profiles for the domain. Each call to GetProfilesFeed() only returns a page of users, so we need to follow the next links until we get all users:

# get all user profiles for the domain

profiles = []

feed_uri = profiles_client.GetFeedUri('profiles')

while feed_uri:

  feed = profiles_client.GetProfilesFeed(uri=feed_uri)

  profiles.extend(feed.entry)

  feed_uri = feed.FindNextLink()

At this point profiles will contain the list of users we want to process. For each of them, we instantiate a SignatureBuilder object and set its properties name, company, occupation, email and phone_number with the data for that user.

A call to the HtmlSignature() method of the SignatureBuilder instance will provide us with a properly formatted HTML-encoded signature.

# extract relevant pieces of data for each profile

for entry in profiles:

builder = SignatureBuilder(entry.name.full_name.text)

builder.company = company_name

if entry.occupation:

  builder.occupation = entry.occupation.text

for email in entry.email:

  if email.primary and email.primary == 'true':

    builder.email = email.address

for number in entry.phone_number:

  if number.primary and number.primary == 'true':

    builder.phone_number = number.text

# build the signature

signature = builder.HtmlSignature()

The Email Settings API client exposes a method called UpdateSignature to set the signature for a target user. This methods accepts two parameters, the username of the user to be affected and a string containing the signature. We just built the latter, so we only need the retrieve the unique username that identifies each user and that can be easily inferred from the entry identifier returned by the Profiles API, as described in the code and the comment below.

It is worth mentioning that you can also retrieve usernames with the Provisioning API, but for the sake of simplicity we’ll rely on this small hack:

# entry.id has the following structure:

# http://www.google.com/m8/feeds/profiles/domain/DOMAIN_NAME/full/USERNAME

# the username is the string that follows the last /

username = entry.id.text[entry.id.text.rfind('/')+1:]

It’s time to send the requests to the Email Settings API and update the signature:

# set the user's signature using the Email Settings API

email_settings_client.UpdateSignature(username=username, signature=signature)

For further details on what can be accomplished with the Google Apps APIs, please check our documentation .

Bing Maps with a new user interface

 

Over the past few months, we’ve been testing some enhancements to the Bing Maps interface that we’re excited to now make available for everyone. The most apparent changes are to our task and navigation controls, where—based on your feedback—we’ve made it easier to find the most common actions to complete your task at hand.

For reference, here’s the previous design (pay particular attention to the top and bottom of the page):

 

Here’s the refreshed version:

 

We’ve consolidated actions that were previously scattered throughout the page, and concentrated them along the top, where you expect to find them. We’ve included text labels for most of the buttons. And, most importantly, we’ve focused on making the controls accessible while still allowing the map to be the focus of the page.

These improvements are being rolled out to all of our international sites with appropriate market-specific functionality. For example, Bing Maps users in the UK will still have access to the London Street Map and Ordnance Survey styles, along with our standard Road map, via the vector style drop-down. The public transport overlay, showing tube, DLR, and tram networks, is also readily available from the navigation bar when the map is centered over the greater London area.]

 

You’ve told us you love our unique Bird’s eye 45-degree perspective, viewable from all four compass directions, as well as our high resolution Aerial imagery (see the recent blog post on the Global Ortho Project for more details). As a result, we’ve improved access to these imagery types by making them directly accessible from the top of the navigation bar. At the same time, you can now more easily switch between various road and imagery styles with a single click. You also have the option to view either of the imagery styles with or without labels, depending on your preference.

 

TIP: Automatically center the map on your current location

If you’re visiting Bing Maps with a browser that supports the W3C Geolocation API, you’ll find a new button (calledlocate me) available to the left of the breadcrumb that, when clicked, will center the map on your current location as reported by your browser.

 

You’ll receive the highest accuracy results—including a pin and approximate radius—when using a computer with WiFi enabled. You can turn off the pin by clicking the button again. (Note: all browsers will prompt you to share your location after you click the locate me button; if you choose not to allow access, Bing Maps will be unable to center the map on your location.)

 

We hope you find these changes make Bing Maps simpler and more efficient to use as you focus on completing your map-focused tasks!

 

 

In Africa, citizen cartographers tell their stories through their maps


Earlier this month, we invited 60 of Google Map Maker’s top users in Africa to a community workshop in Nairobi. The event celebrated the contributions of exceptional mappers from across Africa who have collectively mapped hundreds of thousands of roads, cities and buildings, covering more than half the population in Africa. Participants from places including Burkina Faso, the Democratic Republic of Congo, Ethiopia, Gambia, Kenya, Morocco, Uganda, Rwanda, and Tanzania came together for this unique and inspiring opportunity to tell their stories, learn from each other, and share their mapping experiences using Google Map Maker. Check out the the Super Mappers Conference site for more details.


Meeting these passionate online mappers inspired all of us to think not only about creating maps to fulfill a practical need, but also about why we map and the deeply personal stories a map can tell. During these two days, we traveled to places that we perhaps may never see in person, but now mean more to us when we see them on a map because of the stories of mappers such as Noé Diakubama.

Noé grew up in the Democratic Republic of Congo (formerly Zaire), a country that has suffered many years at war. He is now living in Belgium and proud to give back to his country and people via mapping.

His mapping story began in Mbandaka, where he grew up. Noé liked to walk. Walking was about exploration and discovery. And Noé had many places to go, including secret spots to find wild vegetables and the EALA botanical garden. But without a map it was easy to get lost, so he could never wander too far from home. With his uncle, Noé sketched a small paper illustration of Mbandaka and its landmarks – that was his first experience with mapping! A few years later, he was surprised to find Mbandaka poorly represented on Google Maps; it only showed the city airport and two roads. Using Google Map Maker, he began mapping the roads by himself, and then asked friends and family to help him with adding local roads, their names and so on. Together, they created the first map ever of Mbandaka!


When I asked Noé why he maps, he replied:

Everyday, I spend hours and hours in front of my computer… mapping. My rewards include seeing a smile on the face of someone who sees for the first time the name of his/her street on the Internet, and knowing that someone benefited from the maps I created – kids journeying in the neighborhoods, business owners, or tourists. And ultimately, I want to see Africa being mapped and these maps made accessible to everyone. My message to other Africans: don’t be just a spectator, let’s all share our knowledge and start mapping cities and remote areas. We will soon, together, complete the mapping of our continent!

I’m used to seeing maps and thinking of them as a collection of edits or points of interests. It was an incredible feeling to personally meet and interact with the people behind the creation of the many dots on our maps. This was a gentle and welcome reminder that maps are not static. They’re alive, they’re personal, and they tell the stories of the people who create them. Mapping allows each of us to be a driving force for change and growth in both our immediate communities and the rest of the world. Let’s continue mapping, let’s stay connected through the Map Your World Community, and let’s continue doing amazing things together!

Posted by France Lamy, Program Manager, Google.org

Google Earth: a window to greater learning


We love hearing stories about how people all over the world use Google Earth. Richard Allaway, a teacher at the International School of Geneva – Campus des Nations, recently shared his thoughts on the importance of Google Earth in his classroom. With Google Earth, Richard is able to create a unique experience in which he and his students can travel the world, exploring everywhere from the bottom of the Atlantic Ocean to the peaks of the Smoky Mountains. We loved his story so much, we want to share it with you too!

Here’s what Richard had to say:

There are two windows in my classroom. One window looks past the buildings of the International Labour Organization, Geneva’s Jet d’Eau, and onwards to the Alps.

Google Earth’s representation of the view from Richard’s classroom window

Through the other window we can see Mount Etna, the meanders of the Mississippi, all the way to the buildings of Ancient Rome and even significant earthquakes that have happened in the last seven days. This “other” window is Google Earth.

I am a humanities teacher at the International School of Geneva – Campus des Nations working with students ages 11 to 18 years old. But Google Earth is an important tool in any teacher’s toolbox because it provides a free and accessible gateway to far-off places. I use Google Earth to enhance my students’ learning opportunities and help them better understand the places we discuss. From our classroom, we can visit the landscapes that we can’t normally see through the limited viewpoint of a real window.

For example, we’ve taken a tour through the limestone landscapes of the Yorkshire Dales in the United Kingdom. Guided by a Google Earth tour and supporting worksheet, my students explored the unique limestone features and saw for themselves how geological processes shape our environments.

To study the possible eruption of Mount Rainier in the American northwest, we used Google Earth to visualize the hazards and the corresponding management strategies. Students were then challenged to use Google Earth or Maps to plan an escape route for what is considered to be a low-probability, but high-consequence event.

Information in Google Earth about Mount Rainier

GeographyAllTheWay.com is the website I use to organize and deliver my teaching resources. Students can access it from any location, whether they’re at the library, at home, on their computers and on their smart phones. It’s a continually developing project, but also a service that I welcome my fellow educators to use to help support their own lesson planning.

We love hearing inspirational stories like Richard’s, so if you want to share a cool experience you’ve had using Google Earth, tell us – we’re listening!

Posted by Vaishaly Shah, Google Earth Team