technovelty

weblog of Ian Wienand

RSS  |  technovelty home  |  page of ian  |  ian@wienand.org

Distance to 1 million people

On a recent trip up the Oregon coast, a friendly doorman at our hotel in Portland was inquiring about our trip. When we mentioned we passed through Bandon, OR, he quipped that Bandon was the place furthest from a city of one million people in the USA. I guess a normal person would just think "oh, that's interesting" and move on, but it has been plaguing me ever since.

Firstly, I had to find what cities in the USA had more than 1 million people. Luckily Wolfram Alpha gives the answer:

(I certainly wouldn't have guessed that list!) From there my plan was to find the bounding box of the continental USA; luckily Wikipedia has the raw data for that. Combined with the latitude and longitude of the cities above, I had the raw data.

I couldn't figure out any way better than a simple brute-force of testing every degree and minute of latitude and longitude within the bounding box and calculating the distance to the closest large city; the theory being that from one particular point you would have to travel further than any other to reach a city of 1 million people. Luckily, that is short work for a modern processor, and hopefully the result would be a point somewhere around Bandon. I'd already become acquainted with the great circle and measuring distances when I did Tinymap, so a quick python program evolved.

However, it turns out that the program picks the far south-east corner of the bounding box. Thanks to the shape of the USA, that is way out over the ocean somewhere. I can't figure out a way to get an outline of the USA to test if a given point is inside the border or not, but all is not lost.

I modified the program to output the the distance to the closest large city along with the location to a log file, and then imported it into gnuplot to make a heat-map. The hardest part was finding an equirectangular outline of the USA to place the heat-map over, rather than a much more common Mercator projection; Wikimedia to the rescue!

I actually surprised myself at how well the two lined up when, after a little work with Gimp, I overlayed them (big)

Distance to a city of 1 million people (km)

From this, I can see that Bandon, about a third of the way up the Oregon coast, is a pretty good candidate. However, probably not the best; I get the feeling the real point that is the furthest from any city of 1 million people is actually somewhere in the central-middle of Montana.

However, we can also fiddle the program slightly to disprove the point about Bandon. The numbers show the closest large city to Bandon is LA, at ~1141km. Taking another point we suspect to be more remote; the closest large city to Portland (where we met the doorman) is also LA at ~1329km. So to reach the closest large city you have to travel further from Portland than Bandon, so Bandon is not the furthest place in the USA from a city of one million people. Myth busted!

posted at: Sun, 06 Dec 2009 11:28 | in /general | permalink | add comment (9 others)

Posted by btmorex at Mon Dec 7 17:49:39 2009

It would be interesting to recalculate with metropolitan area populations instead of city populations. I think most people consider the metro area the "real" population especially in cases like Boston, where the actual city is tiny, but the metro area is quite large.

Posted by Brad Hards at Mon Dec 7 18:36:56 2009

How about doing it for Australia?

Posted by Paul Johnson at Mon Dec 7 20:48:23 2009

Guess we know why he's a doorman:  Couldn't get one of them thinking-man's fuel-jockey jobs at the truck stop...

Posted by James Livingston at Mon Dec 7 22:35:20 2009

Rather than brute forcing it, the maths thing you're looking for is called Voronoi tessellation.

The edges of the corresponding Voronoi graph would be the places that are equidistant from the two closest cities, and the nodes are equidistant from the three closest cities.

Once you compute the tesselation for your cities, you just iterate over the (small) number of nodes, and check how close they are to the nearby cities :)

Posted by jon at Tue Dec 8 03:38:30 2009

Maybe he was talking about something else than the raw cartesian distance, like the travel duration, or road distance..

Posted by pwnguin at Tue Dec 8 05:33:25 2009

Yea, the KC metro area is like 2 million people, but the Suburbanization and Kansas/Missouri line splits KC into KC-KS and KC-MO. It looks like you're using something like census raw data.

Posted by Paul Johnson at Tue Dec 8 06:31:14 2009

Not a chance, jon.  Bandon isn't that remote by any standard.  It's an hour out of Roseburg and I5 by road, 90 minutes to two hours from Eugene; See OpenStreetMap Routing for details.

Posted by Min at Tue Dec 8 16:07:11 2009

i agree - metropolitan areas rather than actual cities would prove more interesting!

Posted by Baz at Fri Dec 11 21:47:43 2009

Aren't there over 2 million in the metro area of Vancouver? And a million in Calgary? Portland's closer to Vancouver, and Calgary takes care of Montana.

Or do people north of the line not count ;)

Add a comment
*Name
*Email (not shown)
Website
*Comment:
Anti-spam:
* denotes required field

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.