I spent a week learning how to utilize the payware FSX add-onHeli Traffic 2009, which I felt was a bit pricey at first but now feel it was money well spent. Beyond figuring out how to use the add-on itself was the challenge of creating my own schedules for aircraft to fly. Rather than letting the add-on generate random traffic that would flit about directly from one pad to another I decided it was much better to have the aircraft follow real routes and flight rules. At first I used the in-game method of creating schedules which the manual leads you through – you slew the aircraft to a point in space and add a waypoint to the schedule through the add-on interface. This is great and easy for a single schedule, but how to keep track of where they are all going so you don’t have mid-air collisions? And not just with other aircraft but skyscrapers too.
So I looked at the Heli Traffic 2009 files that contained the schedule data and they are in XML format, which is very easy to edit by hand and very easy to decipher as well. Lat/lon coordinates in decimal format gave the location of the waypoint followed by the height in meters the aircraft should be above sea level (not ground level) when it reaches that point. Easy.
So first I used the SkyVectorNYC helicopter sectional charts and right-clicked to add GPS waypoints to my flight plan along the routes I wanted the aircraft to fly. This gave me coordinates in degrees, minutes, seconds and I needed to convert that to decimal format. At first I tried looking up an online converter but they all wanted me to plug in the three values separately and not a simple copy/paste of the whole lat/lon pair. So I simply turned to Google Maps, which turned out to be better in the long run as it let me visually check multiple routes at a time. I pasted the degree, minute, second coordinates into the GMaps search box and it would give me the location in decimal format. By creating my own map, I was able to easily save the location to the map as a pin. Then I copied the decimal lat/lon and saved it in the pin’s description box and titled the pin with a waypoint number and height (in feet). Once I had all the waypoints in I drew a line connecting them.
If you open them all in the same window you should be able to overlay all three together as I can. Still, it was annoying to find that after a certain number of pins/lines GMaps would paginate the markers so only one page would render at a time, hence splitting them up into three separate maps so I could see them all at once. By creating waypoints near other waypoints it was easy to make sure one aircraft stayed above/beside another. Still it was hard to visualize in just 2D so next I loaded up Google Earth and imported the GMap KML files. That gave me the same as GMaps. I then had to hand-edit the KML files to add altitude data (in meters) to the lines, as the KML file was also an XML schema.
Once I had all the routes’ elevations plugged in (thank you Google for the conversions) I made a few tweaks in areas where I noticed lines intersecting, but surprisingly I managed to do a good job with just the GMaps plotting, though it was definitely harder within the city. Fortunately once I had the lines in Earth and the 3D buildings layer toggled I could use the mouse cursor to place it atop a building and get the height of the building to know the elevation needed to fly over it if needed.
Now it was finally back to the Heli Traffic files to create all the routes. This involved nothing but lots and lots of copying and pasting. First copy paste the general schedule layout, then add the proper number of waypoints, then copy in the coordinates for each and the height for each. I know from experience in programming how horribly easy it is to screw things up when you copy/paste so hopefully I didn’t make too many errors – although I caught myself a few times.
Now that I have a better idea of what’s involved with getting a whole bunch of schedules working together I’ll be looking at a way to automate more of this process of converting KML data to the XML format used by Heli Traffic.