In my many travels, there are many subjective ways to describe the success of a adventure. Car2graphy was a way to combine the two. If you visit the free WordPress website, you’ll notice I put a copywrite on the photos. Yes, those are my pictures. My precious. Don’t rip them off. 🙂

30,982mi. Had to do something with that time.
I also wanted a way to measure, how well I was doing my traveling. Objective metrics arent’t always the easiest to find. So I came up with one. How close was I to the shortest possible trip distance-wise, to see everything that I wanted to see. With the help of Google’s Map Webservices, I have a program to figure that out. It only took until Santa Fe, NM before the concept prototype was finished, to project the forward best route to complete the rest of the trip. As you can tell, the program had some interesting choice of shortest route. Yet that was an improvement. It wasn’t until my interpretation of the Christofides’ algorithm was complete, when the longer list of routes started to look like it made sense. In West Virginia, the routes made no sense at all, but what can you expect if your programmers are paid biscuits.

Hmm, I dunno about best route, but look at all those markers
I wrote some .NET C# proxy classes for 3 of Google Map’s Webservices. As of 2019, Google requires a billing account before you can you use their Maps webservices. Before that, it was free, as long as you stayed under the daily limits for requests, which for me, applied to every different Starbucks, library, or Pizza Hut that will let me use their Wi-fi (and allotment of the daily limit). You may ask why would I use so much allotment. Well, Google Static maps used to have a limit to their querystring of over 9000 bytes (The limit is now under 1000, 800 I think, below the documented limit), but if you have a lot of markers and paths, that string gets pretty big. And if you want it all on one map, you have to “hack” their maps a little. So I split the markers and paths and recombined them on one map. That was part of it. But the distance matrix was the big requester (I’ve since replaced it w a estimate distance without their service, but the proxy classs is there if you wish to try it out). Because it has limits of 100 distances per request, you can’t really request more than 10 locations at once. Like the Static Maps Proxy class, the Distance Matrix proxy class has Decorators (I think that’s what the Kung Fu move called) to split a larger request, into smaller ones, and recombine for you. That’s where the daily allotment goes. And if it fails in the middle, it saves the previous requests, so you’ll be effectively starting from where it left off.
Car2graphy was also a opportunity to take on the the Traveling Salesman Problem in a fun context, but I didn’t do the math first.
I wish I read that before I started, not that I have the ability to understand how to implement that. Actually with less than 12 locations, Held-Karp runs ridiculously fast and provides the absolute shortest distance, provided I didn’t f**k up the programming. More than that, ridiculously slow. I fumbled around the internet looking for anything I could understand the notations. I got something workable. You try it out.