#DevinWanders

Preparation: Route Edition

Devin Elston's Profile Photo
Share

It should be pretty easy to figure out where to go to in every state, right?

Oh dear reader, you’re so optimistically delusional that we must become best friends. Turns out, it’s quite an epic undertaking – especially if you have perfectionistic-qualities like your’s truly. But since I like you, I’ve captured some details from the process, just in case you consider something similar yourself (you’re welcome).

Starting Point

I wrote up the source of my inspiration for my trip in this previous post. The super-short summary is that a journalist teamed up with a data scientist to figure out the optimal route across the 48 contiguous United States. They generated two separate routes – one to landmarks, and another to popular cities. This was a fantastic place for me to start, but I didn’t want to just go to landmarks or cities… so, I started by merging these two routes together to get a list of about 100 destinations.

Facebook-ify

I then turned to my social graph, and put a request out for recommendations for places to see across the United States. I received tons of places to eat, ridiculous landmarks, interesting tours, weird houses, historical sites, and even a number of places to stay along the way – many of which, I never would have discovered on my own. All together, I ended up with well over 200 destinations, for which I am incredibly grateful.

Seriously, huge thank you to each and every one of you who shared a recommendation or offered up a spot to crash. I haven’t quite figured out how to articulate a more meaningful thank you than this: Your generosity is unparalleled, your taste is impeccable, and your kindness is unmatched. I am humbled by your recommendations.

Research Research Research

So, what do you do when you have a huge list of places to see, and not enough time to see them all? You grit your teeth, get to work, and start sifting through the list. Unfortunately, that means that some of those fantastic recommendations will end up getting filed away for another day.

I didn’t take this lightly (as anyone who was around me in Irvine, Big Bear, or Corvallis could attest to). It took a bit over a week in total to research the recommendations on various sites, see where they were located, and decide which ones best fit the trip I wanted to take. I tried to keep myself focused to one or two locations per state. And when all is said and done, I had to make some hard choices to narrow things down. The resulting list will be at the end of this post.

Tech Prep

As mentioned in the inspiration post, Randy Olson was kind enough to share the python script that he developed for calculating the optimal route. He also shared the general steps to accomplishing what he did. I followed his directions, and here are a couple tips that I picked up along the way:

  1. Make sure that each location is searchable on Google Maps. To be safe, I grabbed the address of any location that was questionable. If it doesn’t show up immediately in Google Maps, there’s a good chance it won’t be found when the script runs.
  2. Make sure you follow the directions outlined on Randy’s page to get all the Python libraries, and get yourself all set from a technological standpoint.
  3. To make the whole “running of the script” thing easiest, I recommend using the single file created by a gentleman named Andrew Liesinger, which is linked at the very top of Randy’s page. It makes it much easier, as you just need to go in there and edit the list of locations, Google Maps API, and file names (if you’d like).
  4. When running the script (if you’re on a Mac, at least), it will dump the output in your home directory (e.g. /Macintosh HD/ Users/ You/). So, make sure you go look there when it’s done running. There will be a document with all the distances calculated, as well as an output html. If you change the list of your destinations in the script, but don’t designate a new file name for the output files, you’ll end up with screwy results. So keep this in mind.

Charm The Python

Once you’ve got everything ready to go, it’s time to run the script. As recommended by Randy, I ran it several times. It’s a good thing I did too, as I got some funky results at times. Some were all over the place:

All over the place

Others were going to take too long to get me across the country for the wedding I need to attend:

Too far

And others were just… incomplete:

Incomplete route

In fairness, I’m 99.99999999999% sure that these errors were due to problems between the keyboard and the chair I was sitting in (i.e. me). Primarily, I think the problems occurred whenever I had more than 50 destinations that I was trying to map. I’m sharing these errors just in case any other novices like myself decide to take this on. Don’t get discouraged, just check for errors, and try again. I got the best output when I limited the list of destinations to exactly 50, and happened to already have them in a fairly reasonable order already (which I think was coincidental, given how the genetic algorithm works).

The Winner

Overall, one route did stand out as the most logical for my needs. Here it is:

The winner

I have a wedding to get to in Erie, PA by August 1st, and this allows me to get there in time. I’ll definitely be a bit rushed, but it’s doable. All the actual destinations are listed at the end of this post. I don’t have every one listed here, as I took out some that were right next to each other in order to get down to the list of 50.

Full List

Here they all are, in order. This is absolutely subject to change though, as I re-evaluate along the way.

OrderDestination
1Big Bear Lake, CA’
2Drive-Thru Tree Park, Drive Thru Tree Road, Leggett, CA’,
3Astoria, OR’,
4Hanford Site, Benton County, WA’,
5Glacier National Park, West Glacier, MT’,
6Craters of the Moon National Monument & Preserve, Butte County, ID’,
7Yellowstone National Park, Teton County, WY’,
8Mount Rushmore National Memorial, South Dakota 244, Keystone, SD’,
9Enchanted Highway, Regency-Gladstone Rd, Regent, North Dakota 58650 USA’,
10Minneapolis, MN’,
11Taliesin, County Road C, Spring Green, WI’,
12Chicago, IL’,
13Detroit, MI’,
14Cleveland, OH’,
15Erie, PA’,
16The Mark Twain House & Museum, Farmington Avenue, Hartford, CT’,
17Providence, RI’,
18Provincetown, MA’,
19Acadia National Park, Mount Desert, ME’,
20Mount Washington Cog Railway, Coos County, NH’,
21Ben & Jerry’s, 1281 Waterbury Stowe Rd, Waterbury, VT 05676,
22New York, NY’,
23Seaside Heights, NJ’,
24Amstel House Museum, 2 E 4th St, New Castle, DE 19720’,
25The White House, Pennsylvania Avenue Northwest, Washington, DC’,
26Baltimore, MD’,
27Monticello, Thomas Jefferson Parkway, Charlottesville, VA’,
28Lost World Caverns, Lewisburg, WV’,
29Wright Brothers National Memorial, North Croatan Highway, Kill Devil Hills, NC’,
30Fort Sumter National Monument, Charleston County, SC’,
31The Wizarding World of Harry Potter – Hogsmeade, Universal Boulevard, Orlando, FL’,
32Atlanta, GA’,
33Fort Morgan, Alabama 180, Gulf Shores, AL’,
34New Orleans, LA’,
35Jackson, MS’,
36Little Rock, AR’,
37Nashville, TN’,
38Mammoth Cave National Park, Mammoth Cave Parkway, Mammoth Cave, KY’,
39Indianapolis, IN’,
40St. Louis, MO’,
41Des Moines, IA’,
42Lincoln, NE’,
43Wichita, KS’,
44Oklahoma City, OK’,
45Austin, TX’,
46White Sands National Monument, Otero County, NM’,
47Colorado Springs, Co’,
48Bryce Canyon National Park, Bryce, UT’,
49Grand Canyon National Park, Coconino County, AZ’,
50Hoover Dam, Clark County, NV’,