Amadeus Content Map: 100,000 flight data records packed in a single friendly interface
The project has been both a data processing and a user interface challenge. The amount of data that Amadeus deals with on a daily basis is enormous, and we have had the priviledge to work a sample of no less than:
- 4,000 airports
- 500 airlines
- 90,000 routes
We have worked hard at VIVA to condense all the data into an attractive and easy to use interface, so anyone can look for flights and find out about booking instructions. Even wondered who fly from where and to? Well, there's a now an app for that!
So let's get started
We first choose a region to start from before the website clusters the data for us.
Step 1: clustering the data
4,000 airports is a lot, especially when it's down to plot them one by one on a Google map. The likeliness is that, your computer may be short on memory being old or simply busy on other tasks, making the plotting a tremendous effort.
So we had to come up with a solution, that is, clustering the airports into hot spots.
I have implemented a K-means algorithm, which basically plots a limited number of points on a surface area, then associate each airport to its nearest point (using Haversine formula for distance calculation on a sphere using geo-location points), and finally re-adjust each point at the center of its respective hot spot area. By recursing the algorithm about 3 times, we get a pretty accurate representation of the hot area, enabling us to draw a cluster.
The calculation is pretty intense, but with the right amount of Python optimisation (thanks to Anthony Blackshaw at Getme for his contribution), we managed to get the calculation done to less than a second!
Step 2: Making your journey
With a clever "type ahead" airport search, a user can quickly look for the airpot he would like to depart from, and then see all the routes that the airport offers.
After selecting a destination, the application will give the user a list of carriers that flight the selected route, where one must be picked in order to continue with the journey.
One after the other, the application will remember your path and draw your entire journey before your eyes.
A summary screen will then present you the list of flights, which you can remove at your convenience. The application will then re-draw your journey automatically.
Step 3: Export the booking instructions
The application will compile the journey summary and all the information related to each carrier into a neat and tidy PDF document.
This step might be too far for the usual curious, but it is a gold mine for travel agencies, who can instantly access a wide range of details about the airlines such as booking processes and ancillary services.
I strongly invite you to try the application for yourself and see if it works for you
Feel free to send us your feedback in the comment area below, good or bad, it will always be appreciated.