| 
                    
                        | 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. |