How to Really write a Server Control in ASP.Net
- November 13, 2013
Find Missing Dependency DLLs on Win 7
- March 5, 2012
Nullable TryParse
- May 26, 2011
Diff SQL Server Stored Procedures, November 15, 2010
Reporting Services Extranet Access, March 16, 2010
Case of the missing WaitCursor, January 7, 2009
Simple Submit Button Disable, December 9, 2009
An Efficient Memory Stream, September 29, 2009
Approach Plate Download - May 14, 2009
WPF Binding - Async Web Services - April 10, 2009
Developing the Blog
- April 4, 2009
|
|
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:
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:
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.
|