top | item 10161326

World Airports Voronoi

338 points| morgante | 10 years ago |jasondavies.com | reply

82 comments

order
[+] slake|10 years ago|reply
This is really cool. If I remember right international passenger flight regulations insist that there be atleast one airport that can handle your class of aircraft within 180 minutes of flying time at one engine operative speeds at all times. If we assume a passenger jet flies at roughly 0.8 Mach or ~960 kph, and one-engine operative speed is roughly 40% of that or ~384 KPH. That means an airport needs to be within a circle of radius 1152 kms. That's an area of ~4.16M km-squared. Simplifying that all airports can handle all passenger jets, not one of those voronoi cells can have an area greater than 4.16M km-squared.

Is there an easy way to calculate the area of each cell?

Did I mention this is really cool!!

[+] oostevo|10 years ago|reply
The regulations you're thinking of are ETOPS (Extended-range Twin-engine Operational Performance Standards or, alternatively, Engines Turn or Passengers Swim).
[+] simonbyrne|10 years ago|reply
I believe that's only true for 2 engine aircraft.

Virgin Australia briefly ran a service from Melbourne to Johannesburg using 777s, which was 2 hours longer than it needed to be for this reason. Looking at this map, it's clear why: the great circle path almost goes over Antarctica, and the closest airports over the path are in Australia and South Africa.

[+] golergka|10 years ago|reply
This runs slower on my computer than MGSV in ultra settings running on 4k resolution.
[+] jacobolus|10 years ago|reply
It’s projecting thousands of sphere geodesics at pixel precision via breaking them into a large number (hundreds of thousands?) of little line segments and evaluating several expensive nonlinear functions at each of those points with considerable Javascript dataflow overhead for each one, not to mention the cost of putting thousands of polygons with dozens or hundreds of points each into SVG.

It would take either a domain expert or someone willing to spend a few months studying the problem to write an optimized version, but then it could probably be made to run a couple orders of magnitude faster by using slightly coarser approximations for various function evaluations (no need for 10^-15 precision for drawing on screen), or by simplifying the problem to require fewer function evaluations overall (e.g. by using Bézier curve segments instead of straight line segments), rewriting the core of the library to be vectorized, and rendering via a raster- rather than DOM-based drawing system. I’m sure a GPU could handle such a problem very effectively, though working with WebGL might be a pain.

Anyway, go for it!

[+] forrestthewoods|10 years ago|reply
Completely unusable on my iPad Air. Damn.

It's amazing how fast computers are. And it's amazing how slow we make them with layers and layers of cruft built atop more layers and layers of cruft.

[+] t2015_08_25|10 years ago|reply
Hmmm, which one is the result of a team of experts competing with other major corporate entities, getting paid to optimize a set of well-known algorithms for months prior to delivery to an audience of millions who will spend thousands of hours with it and which one is a one-off hack meant to demo the first iteration of some new code for the first time on its new platform?
[+] andrepd|10 years ago|reply
I know right?? It's mind-blowing! My PC can push millions (is that the order of magnitude?) of polygons per second. But it locks up an entire core to render a couple hundred polygons (plus the layers of cruft), and can't do it at more than ~10Hz.
[+] bhauer|10 years ago|reply
It's not smooth, but totally usable on my i7-3770K workstation.

For what it's worth, it's also fun that key elements of the text are dynamic. When I first landed on the page with noscript suppressing any script, I saw:

> Most Remote Airport

> … at … is the most remote; from the nearest airport, .

Usually if I see any text, I don't bother enabling script, so this confused me. Luckily I did enable the script and then saw the principle UI element on the page. :)

[+] mozumder|10 years ago|reply
What's really needed is an OpenGL/WebGL implementation of D3.js
[+] mizzao|10 years ago|reply
CPU bottleneck, not graphics card.
[+] idlewords|10 years ago|reply
What a cool project! This is very fun to play with in conjunction with the ETOPS (extended twin-engine operations) settings on the Great Circle Mapper. http://www.gcmap.com

Among other things it drives home how remote the waters MH370 disappeared in are.

[+] minimax|10 years ago|reply
I recently did ORD-HKG and spent quite a lot of time thinking about ETOPS diversion airports over Siberia (because honestly what else are you gonna do). Now I'm wondering if you can even land a fully laden 777 at any of them. Most of them don't even seem to have wikipedia pages.
[+] phkahler|10 years ago|reply
Two comments.

1) This appears to be only airports that offer commercial passenger service.

2) Easter Island has an airport! I was under the impression you could only get there by boat.

[+] gyardley|10 years ago|reply
Easter Island doesn't just have an airport on it, it's got an airport with a runway built long enough to accommodate the Space Shuttle.

It's an awesome place to visit - a town of a few thousand people, surprisingly good food, breathtaking moai, and due to its relative remoteness, not particularly crowded with tourists. I liked it enough to want to go back.

[+] jcdavis|10 years ago|reply
I flew to IPC (aka Easter Island Airport) in 2013. It actually has a massive runway due to being a Space Shuttle diversion site, although the terminal itself is a glorified shack. Flying there (from Santiago) was a bit terrifying knowing how far away you are from any alternate airport, or any civilization at all really.
[+] Mchl|10 years ago|reply
There are a couple of airports with regular commercial service missing from this map. They're quite new though (0-3 years). Probably just old data.
[+] trose|10 years ago|reply
There's definitely a handful of airports in Antarctica. Are they not "official"?
[+] msrpotus|10 years ago|reply
Curious if there's any region smaller than that of LaGuardia Airport. A glance doesn't find any.
[+] dublinben|10 years ago|reply
London City is probably smaller.
[+] CarVac|10 years ago|reply
L'Esperance and (maybe?) Caye Caulker airport are smaller.
[+] 13hours|10 years ago|reply
As a South African, I never realised we have a few airports that are actually the closest to a large part of the Antarctic coast. I know there are flights from Chile and New Zealand to Antarctica, but none that I'm aware of from South Africa.
[+] Kenji|10 years ago|reply
I thought that a voronoi partition is not possible with only straight lines on a non-euclidean space like that; this leaves me confused.
[+] nilkn|10 years ago|reply
You are in fact correct that the boundaries of the Voronoi cells on a non-Euclidean manifold need not be geodesics. Consider for instance the manifold which is a cone with a circular base, and let the sample points be the apex of the cone and the center of the base. The boundary of the two cells thus produced will be a circle parallel to the base, which is not a geodesic on the cone.
[+] rspeer|10 years ago|reply
The edges are segments of great circles, which are the reasonable equivalent to a straight line on the surface of a sphere.
[+] wlievens|10 years ago|reply
They must be geodesics, not straight lines
[+] VikingCoder|10 years ago|reply
I believe Voronoi can be applied on high-dimension points, producing polytopes.

So, run Voronoi on 3D points that happen to all be on the sphere... Then intersect the polytopes with a sphere. Tada - great arcs.

[+] jzawodn|10 years ago|reply
Hm, appears to be missing a lot of smaller airports in the USA. My home airport (E45) in particular. I'm guessing it's only using airports that have commercial air carrier service of some sort.
[+] jpatokal|10 years ago|reply
They're using OurAirports data, filtered to exclude all but "large" and "medium" airports. Anything smaller than that includes all sorts of cruft like African bush landing strips, heliports, etc.

http://ourairports.com/data/

[+] megablast|10 years ago|reply
I think there is about 10,000 airports in the US, so I bet it is missing quite a few.
[+] vpontis|10 years ago|reply
This is the type of thing that's so simple and rewarding that it makes me annoyed that I hadn't thought of it and made it first! Really cool, good work!
[+] Faint|10 years ago|reply
Looks cool, but would have been a lot smoother in webGL
[+] ghayes|10 years ago|reply
This is awesome, and I really wish it would give me information on which airport each tile represents.
[+] svisser|10 years ago|reply
You can hover over a tile to get the airport's name.
[+] naz|10 years ago|reply
So cool (though it includes Plymouth City Airport, which is sadly closed)
[+] jlarocco|10 years ago|reply
Neat, but it would be nice if it could zoom out a little more or adjust to the browser window size. I have 2560x1600 display split into four equally sized panes, and it's difficult to use and view in a single pane.
[+] ahh|10 years ago|reply
This badly wants labels.