📜 ⬆️ ⬇️

Creating a world map



A detailed and accurate map of the world is one of the cornerstones for our company. This is the basis, reference point, a peculiar origin of coordinates. Search and selection of housing by our users begins with the analysis of our map. And despite the abundance of map services existing in the world, we still had to create our own map in due time.

Our only full-time cartographer is Zach Walker. He is responsible for the formation of the map, drawing all kinds of objects and boundaries. Why, then, did we take the path of the greatest resistance and develop our own map instead of adapting one of the existing solutions?

It's all about AT-AT. This is a software tool that we developed to create a scheme of interconnections of locations, their influence on each other. It looks like this:
')


We are constantly interested in how people make choices, considering places on the map where they have never been in their lives? How do they imagine them? How do you choose the perfect travel itinerary and place to stay, looking at just one map?

Current solutions


For our part, we try to help our users in several different ways:



All of the above is designed to help travelers learn certain places not only from a “tourist” point of view, not one-sidedly. After all, sample reviews and guidebooks usually give a very narrow and superficial idea of ​​countries and cities.


Green highlights traditional “tourist” places of residence, red - housing from the Airbnb base.

Of course, our main task is to offer the user exactly the places to stay that would best satisfy his wishes. On the other hand, we need to somehow highlight the millions of unique listings placed on our service by hosts around the world.

What's next?


The district guide will only be useful if you are looking for the perfect place to stay. But the map does not show many areas that are interesting from the point of view of culture and history. And not because we don’t reach our hands, just usually this information is known only to local residents. Moreover, by “district” we mean not an administrative city unit. In this case, the area may be part of the city, located along the road intersecting the three "classical" areas. Or it may be a conglomerate of several "classic" areas.

The duties of Zack Walker include the search and mapping of such places, whose borders are delineated precisely by cultural and contextual principle, and not administrative-territorial. To do this, Zack studies a variety of historical information, asks local residents and corresponds with homeowners. So, when a user enters a request for a particular region, he is offered options from different parts of the region, and not just the most popular ones.

When we began to develop this mechanism, it turned out that our current architecture and tools do not allow the introduction of such functionality. So we came to the need to create the above AT-AT.

AT-AT project


We needed a tool to facilitate the task of mapping such areas. By the way, the name AT-AT is borrowed from Star Wars, if you remember, so-called walking tanks.



Schematically, the composition of AT-AT can be represented as follows:



First of all, we needed to generalize the existing system so that it could process various geographic polygons (continents, regions, countries, regions, special districts, small towns and villages), and not just megacities and administrative districts.



Interconnections




After the polygon is created, the backend calculates:


Navigation


Managing a map filled with all sorts of areas may be too hard. Experienced, we have come to different display modes in which the working interface becomes transparent.

Our developers even formed tacit internal rules when working with AT-AT:
1) Do not break the back button
2) Render just what is needed
3) Display information as needed
4) Get out of the way!

With a single mouse click, a polygon is selected and only adjacent polygons are rendered:



And with a double click, the focus is on the selected polygon:



Conclusion


Obviously, in working on such a complex project as the Airbnb service, it is necessary to use various internal tools. AT-AT is only one of many, it facilitates the primary task of mapping areas that are then used by our other services and tools. And, creating your own supporting tools for working on some large projects, do not forget that it is impossible to predict all future usage scenarios.

Source: https://habr.com/ru/post/251627/


All Articles