Loring Software, Inc

A Software Developer's Notebook

The new Kindle DX has been announced, and I think we pilots now have a cheap alternative to the expensive Electronic Flight Bags on the market, with less clutter/hassle than paper plates. The Kindle DX has a large screen perfect for viewing approach plates, and can view pdf files which you can download. And our friendly FAA publishes all the approach plates you could want for free.

Now, the only problem is, how to you collect all the approach plates for your flight?  You could get a subscription from the government for somewhere around $200, which is pretty good, but still not free.  You can also go online to AOPA and download all the approaches for an airport at once.  But wouldn't it be nice to type in a departure and destination airport, maybe some waypoints, and a corridor width, and get all the plates you're interested in at once?  How about a quick and dirty windows application to do just that.  Introducing the Route Plates application:

Route Plates Application

This is a simple WPF app that you can use to get all the PDFs from the government's web site at once.  This is a two step process.  You put in your departure and destination, click Determine Airports to get the list of airports along your route, and then click Get Plates button to start downloading the plates from the FAA.

So, on with the first task   How do we get a list of the airports along a route?  Well, there are a number of web sites that do all sorts of cool stuff for pilots, especially for weather and flight planning.  One that I use is NavMonster.  Basically, you type in the same information as above, and, voila, instant route planning with weather along the way.  So, I can just submit an http request for the same rouite, and pull the IACO identifiers out of the response.  The results go in the ListBox on the left.

Now that we have a list of identifiers, we have to pass them to the FAA somehow, and get the PDFs.  The FAA site requires you to search for the identifiers in question.  I will just have to repeat the search over each identifier, and scrape the results one at a time, pulling whichever plates the user requested, and saving it to disk. Of course, since this is a long running process, I am going to do all of this in a BackgroundWorker object.

There were no real surprises while building this application.  I did look for an elegant way to disable/enable the buttons based on whether or not there were requisite data in the related boxes.  There did not seem to be any way in XAML, so I opted for the standard, look for a change event in the box, and update the button accordingly.

The results, all the checked items get downloaded to your hard drive, ready for downloading to your Kindle:

Results

of course, now to get my hands on one of these new Kindles...

If you are a programmer and would like my code to this program, just send an email to the address below.  If you want the program itself, I can send it to you in a zip, but remember, you really shouldn't ever trust stuff from some random person on the internet.  Plus, I am not intending to support it.



Copyright © 2017 Loring Software, Inc. All Rights Reserved
Questions about what I am writing about? Email me