Yandex Blog

Ascend to the World’s Highest Peak through Yandex’s Everest Panorama Project

In 2016, the Yandex panoramic maps team undertook a major project with Toyota of Russia to create the world’s first ever panoramic climb up Mt. Everest to enable users to experience one of the world’s most challenging climbs and highest peak through a life-like experience. After two attempts at capturing images and a few years of physical and technical work, the team launched the Yandex Everest page, where people can experience the same climb mountaineers made from every existing Everest base camp.  The panoramic climb offers viewers an interactive movie-like experience up to the peak with commentary on the history and facts on Everest.

Our team committed to this project with a mission to expand users’ horizons by taking them on a journey most will never experience.  In attempts to reach their mission, our team members became an important part of the modern history of Mt.Everest.  In their first efforts to capture images from the summit, the team experienced and survived the 2015 earthquake in Nepal, later returning in 2016 even more inspired to make the climb and create the first panoramic trek up Everest.

We are proud to have achieved our mission and to have received such incredible feedback not only from users but also the design and Internet community.  We are excited to announce that the project is nominated for a 2018 Webby Award, the leading international award honoring excellence on the Internet.  Since the project was published, it was also a silver winner at the 2017 Epica Awards, a 2017 Red Dot Award winner in Communication Design, a 2017 Golden Drum finalist, a 2017 ADCE finalist, a 2017 ADCR 2017 gold and silver winner, and a 2016 Red Apple 2016 finalist.  

“We are incredibly honored and humbled to be nominated for the 2018 Webby and won several other awards over the past year amongst other inspiring work on the Internet,” says Anatoly Topol, Special Projects Director, “For us, it is especially gratifying to receive such positive feedback from the community because our journey to create the Yandex Everest Project was a truly demanding challenge that represents our passion for creating innovative experiences for users - even those that can seem impossible at times.”

We welcome you to join the millions of users who have taken the virtual climb up Everest on our project page and to cast your vote for the Webby Awards until April 19th, 2018.  

Arctic Virtual Tour Images Appear on Yandex.Maps

Panoramic images of Franz Joseph Land, an uninhabited, but historically attractive archipelago in the Arctic Ocean, have been added to Yandex.Maps. Following the steps of the great Arctic explorers of the past, including the pioneer discoverers, Julius von Payer and Karl Weyprecht of Austro-Hungarian North Pole Expedition, who gave name to the islands, as well as Fridtjof Nansen and Frederick George Jackson, among others, web users can now witness the bare beauty of the extreme geography and weather without leaving the comfort of their armchair.

The images were brought to Yandex.Maps by our content provider, neq4, who was lucky enough to join the National Geographic – Russian Geographical Society expedition to Franz Joseph Land as part of their Pristine Seas project.

Now all Yandex.Maps users can share, albeit virtually, the experience of frozen waterfalls and mossy Arctic rocks, see the memorial landmark cross for Georgy Sedov and his expedition on Hooker Island, ‘stand’ on the edge of the northernmost point of the Eurasian continent, and even find a proof that postal service is still the ultimate outpost of civilization.

The expedition took 42 days and gave us 255 panoramic images of the Arctic region made of 1,020 snapshots taken on eleven of a group of 191 islands comprising the Franz Joseph Land archipelago.

To offer web users an opportunity to virtually move around a location, Yandex.Maps creates interactive panoramic street views using high-resolution cameras attached to a GPS-equipped car. In areas that are closed to motor vehicles, cameras are attached to a bicycle or carried by hand. Read more about how panoramic virtual tours on Yandex.Maps are created in Products and Technologies.

Route graph: How it works on Yandex.Maps

Ten to 15 years ago, every driver’s glovebox contained a road atlas – an indispensible guide for planning driving routes. Now, instead of road atlas books, drivers rely more on electronic maps and mobile applications – and, inadvertently, on smart algorithms, which do the hard work figuring out the best routes. Yandex helps people plan journeys with the maps.yandex.ru service, as well as with the Yandex.Navigator and Yandex.Maps mobile apps. The technology for plotting routes currently used in all mapping or navigation products all over the world is the same everywhere; the only thing that differs is the interface.

The main components of Yandex’s route constructor are the road graph and the algorithm that figures out the best route.

What is a road graph?
A road graph represents a network of roads. It consists of numerous interconnected fragments. For example, the road graph for the city of Saratov (population 840,000) consists of 7,592 fragments. Each contains information about its section of the road network: geographical coordinates, traffic direction, average speeds in the segment, and other parameters. Every fragment also contains data about how it connects with the neighbouring sections. A driver might need to know whether the road ahead has left or right turnoffs, U-turn possibilities, or a strictly one-way direction.

Of course, a road graph can't be completed once and for all. Urban transport systems have a habit of changing. New roads and interchanges appear, the direction of traffic changes. Where yesterday there was a turnoff, tomorrow there might be a “no entry” sign. To keep up with real conditions, Yandex regularly updates its data.

Users help us with this task, too. They notify us of inaccuracies with the help of mobile Yandex.Maps, Yandex.Navigator and the Yandex.Maps web service. Yandex experts are constantly working with these notifications, as well as with information from other open sources such as local administration websites.

Also, we have a special system to identify inaccuracies on the road graph. This system registers incidents when a vehicle’s movement (the information about which is anonymously and automatically provided to us by drivers) doesn’t match our road network information. If it’s not a one-off case in which a rogue driver strays onto the verge or takes an illegal turn, then it’s possible that the traffic scheme has changed. All such cases are analysed, and then changes are made to the road graph.

Several copies of the road graph are stored in Yandex’s servers, so that even if one is temporarily unavailable, the route constructor will still work.

How routes are constructed
Routes are constructed according to Dijkstra's algorithm. With its help, the system calculates the fastest route, based on the length of each section and the speed of movement along it. If a user chooses to construct a route without accounting for traffic jams, the algorithm uses the average speed in each segment. And if the user wants to know how to get somewhere fastest, taking the traffic situation into account, then the algorithm uses data about current traffic conditions.

How it works can be illustrated with an example. Imagine that you need a route from point A to point B. The algorithm starts to methodically identify all possible routes. First it plots just one step (or graph fragment) in all directions from point A. Then it calculates how long it would take to travel the length of each route segment (easily done by dividing distance by speed). After that, it chooses the point that can be reached fastest – let’s call it C.

Having identified the point C – the algorithm then works on the next step of the route, analysing all directions from this point.

The point reached fastest becomes D – and the next stage of the route is plotted from here. And so the algorithm continues working in this way until it finds the fastest of all possible route options to reach the final destination.

Courtyards are a special issue. As you may be aware, it’s forbidden to use them as thoroughfares. Besides that, a winding path through courtyards often takes longer than a direct route. To make sure the service doesn’t construct routes through courtyards, the algorithm adds extra penalty minutes for passage through them. This doesn’t affect the journey time that the user sees, however. Once the fastest route has been determined, the time of routes through courtyards is recalculated without adding the penalty minutes. In most cases, the algorithm chooses other routes – they’re faster. But if the final destination is in a courtyard, naturally the algorithm has to “drive in”.

Routes are constructed very quickly. In the time it took you to read a few sentences of this article, the service could have laid a spider web of routes criss-crossing entire Russia. To achieve such speed, the system automatically divides the entire map into a multitude of areas, and calculates the optimal routes for crossing each one. Such an area might be, for example, a small town intersected by just one intercity highway that is the only option for driving into or out of the town. For such cases, Yandex would have a pre-calculated optimal route.

If there are several such areas in a user’s journey, Yandex simply joins together these ready fragments to construct the route.

Yandex plots all possible variations for driving through and between all areas in advance, every time the road graph is updated. Then, when a user asks the service to construct a route, the ready-made route is simply fetched from memory. Of course, this only works when the user requests a route without accounting for current traffic conditions, since the routes constructed in advance are based on average speeds. If the user wants to construct a route taking current traffic conditions into consideration – and if there are traffic jams in the area at that time – Yandex constructs a route for the user from scratch.