• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Tutorial: Approach Legtype Definitions and Attached Picture

Messages
8,893
I am listing a previous post I wrote on legtypes for those wanting to try and write approaches with our new approach mode window in ADE. I also attached a zip file that shows all the defintions in graphical form.


Type 2 Letter Approach codes


"type=IF" Initial Fix or IF Leg. Defines a database fix as a point in space.

"type=TF" Track to a Fix or TF Leg. Defines a great circle track over ground between two known databases fixes.

"type=CF" Course to a Fix or CF Leg. Defines a specified course to a specific database fix.

"type=DF" Direct to a Fix or DF Leg. Defines an unspecified track starting from an undefined position to a specific database fix.

"type=FA" Fix to an Altitude or FA Leg. Defines a specified track over ground from a database fix to a specified altitude at an unspecified position.

"type=FC" Track from a Fix from a Distance or FC Leg. Defines a specified track over ground from a database fix for a specific distance.

"type=FD" Track from a Fix to a DME Distance or FD Leg. Defines a specified track over ground from a database fix to a specific DME Distance which is from a specific database DME Navaid.

"type=FM" From a Fix to a Manual termination or FM Leg. Defines a specified track over ground from a database fix until Manual termination of the leg.

"type=CA" Course to an Altitude or CA Leg. Defines a specified course to a specific altitude at an unspecified position.

"type=CD" Course to a DME Distance or CD Leg. Defines a specified course to a specific DME Distance which is from a specific database DME Navaid.

"type=CI" Course to an Intercept or CI Leg. Defines a specified course to intercept a subsequent leg

"type=CR" Course to a Radial termination or CR Leg. Defines a course to a specified Radial from a specific database VOR Navaid.

"type=RF" Constant Radius Arc or RF Leg. Defines a constant radius turn between two database fixes, lines tangent to the arc and a center fix.

NOTE: While the arc initial point, arc ending point and arc centerpoint are all available as database fixes, implementation of this leg type may not require them to be available as fixes. FSX does not use the RF legtype but uses the AF legtype instead.

"type=AF" Arc to a Fix or AF Leg. Defines a track over ground at specified constant distance from a database DME Navaid.

"type=VA" Heading to an Altitude termination or VA Leg. Defines a specified heading to a specific Altitude termination at an unspecified position.

"type=VD" Heading to a DME Distance termination or VD Leg. Defines a specified heading terminating at a specified DME Distance from a specific database DME Navaid.

"type=VI" Heading to an Intercept or VI Leg. Defines a specified heading to intercept the subsequent leg at an unspecified position.

"type=VM" Heading to a Manual termination or VM Leg. Defines a specified heading until a Manual termination.

"type=VR" Heading to a Radial termination or VR Leg. Defines a specified heading to a specified radial from a specific database VOR Navaid.

"type=PI" 045/180 Procedure Turn or PI Leg. Defines a course reversal starting at a specific database fix, includes Outbound Leg followed by a left or right turn and 180 degree course reversal to intercept the next leg. A Maximum excursion Time or Distance is included as a data field.

"type=HF, HA, HM" Holding in lieu of Procedure Turn (HF) for Approach Procedures and Mandatory Holds (HA, HM) in SID/STAR and Missed Approach coding. The HA, HF, and HM Leg Types define a holding pattern in lieu of procedure turn course reversal or a terminal procedure referenced mandatory holding pattern at a specified database fix. Leg time or distance is included as a data field. The three codes indicate different path termination types:

HF = Single circuit terminating at the fix.
HA = Altitude Termination
HM = Manual Termination.


Flyover Waypoint is used for the ending leg of all SID (DP), STAR and Approaches including the threshold of the runway if "TF, CF" is used

NOTE: Not required in FS9/FSX

Waypoint flyby/flyover requirements:

Setting Position Two of the Waypoint Description field to T or F indicates a Flyover Waypoint; the fix in the record is to be over flown before flying the next leg. Absence of the T or F indicates a Flyby Waypoint; turn anticipation may be used to acquire the next leg.

FS9/FSX uses False as the default tag and ALL Waypoints are normally flyby during a Transition phase
 

Attachments

  • Legtypes.zip
    120.1 KB · Views: 6,811
Last edited by a moderator:
There is a pecking order of priority when writing an approach code for FSX. This is just one small part of the intellect that FS has coded inside the ATC Engine.

Here is the list of approaches in a proper pecking score order that FS9/FSX/ATC honors and will say (ATC voice) when added to the approach code database.

The pecking order is as follows where ILS gets the highest score and NDB gets the lowest score.

1. ILS ---- delete ILS and GPS is next
2. GPS --- delete GPS and RNAV is next and so on
3. RNAV
4. LOCALIZER
5. LDA (Localizer Type Directional Aid)
6. SDF (Simplified Directional Facility)
7. LBOC (LOCALIZER_BACKCOURSE)
8. VORDME
9. VOR
10. NDBDME
11. NDB

A caution about number 10

ATC does not speak the letters NDBDME, it only says cleared for runway XX and the word visual is not spoken (IMC). ATC does say VOR, VORDME and NDB but not NDBDME. If you request the NDBDME from the ATC menu list the letters are spoken.

What we must understand is the ILS (LOC + Glide Slope) is the only non-weather related approach. This is the fundamental approach that ATC looks for and carry's the highest score out of all the approaches.

The ILS is not weather related and ATC will assign that approach on arrival regardless of the airport being Visual Meteorological Conditions (VMC) or Instrument Meteorological Conditions (IMC)

This is where so many get confused into thinking if they add a ILS to a runway then ATC will say fly the ILS. That is not true. ATC does not know a ILS exist until a ILS approach code is written so what happens is ATC says fly the visual approach even though someone added a ILS to the runway.

NOTE: ADE version 1.39.7 and higher also adds a fake set of instructions to the approach code as a option if a ILS is added to a runway.

We need to stress the fact that any ILS added to a runway is owned by the runway property's in the XML code. ATC does not get its instructions from that ILS (for the user planes radio only) but gets its instructions from the approach code part of the database XML.

When a airport does not have a ILS approach code for the assigned arrival runway on a clear day (VMC) then FSX defaults to a hardcode .dll set of instructions that has a 2000 ft AGL value for the hardfloor and unseen fake IAF/FAF Terminal_Waypoints (T_Waypoint owned by the airport) in order to align the plane for the approach.

It is always best to try and have a ILS approach code so FSX uses what is written in the code rather then use a hardcode .dll approach. The written ILS approach is much more accurate and uses the actual T_Waypoints and the defined approach altitude which gives the plane a hardfloor in the XML compiled to a bgl.

As stated above this is the only approach that is not weather related. ALL other approaches are weather related and the airport MUST BE IMC before ATC will use one of the approaches listed above in the scoring process.

Example:

Weather is IMC

The arrival runway does not have a ILS approach but does have a GPS, VORDME and NDB approach in the database. ATC looks at the list and chooses the GPS approach over the VORDME and the NDB based on the score values. In other words what the ATC system is looking for is the most precision approach it can find and out of the 3 listed ATC decides the GPS approach is more precise then the other 2 types.

As the Pilot you can pick from a list in the ATC window what approach you would like to have but if you leave it up to ATC they will pick which approach scores the highest from the list.

If your local small airport has a VORDME, NDBDME and a NDB approach for the runway then ATC will select for you the VORDME approach over the other 2 since it is more precise then the NDBDME or NDB approaches.

If you do not ask for any Transition that may be associated with the approach then ATC will give you handholding vectors to final which in some cases is not very realistic. It is always best to ask for a Transition that is associated with the approach that ATC assigns since it gives you the priority for the approach (over any AI plane) and is more precise without ATC interjecting vectors that are not realistic.

Many times you will see a AI Plane flying toward a runway that does not have a default ILS approach such as TNCM. What TNCM does have is a VORDME approach to RWY09. In clear weather (VMC) the AI Plane must default to the hardcode .dll set of instructions and many of those large heavy airplanes landing at TNCM land short or go missed. The hardcode instructions for AI Plane behavior leaves a lot to be desired.

Now if you set the weather to IMC then The ATC system in FSX will instruct both the User and the AI Plane to fly the VORDME approach. In the approach code there are T_Waypoints and approach altitudes that are adhered to and gives the AI Plane a better set of instructions so you see the heavy planes land more often.

ALWAYS check your approach code you write in both VMC and IMC weather if you did not add a ILS approach code to the database. This ensures that ATC will assign the highest score approach listed in your database. If my airport only has a VOR approach then I make sure ATC assigns that approach to me the User Pilot and to all AI Planes when weather is IMC. The AI Plane will fly the proper vectors to final as per your placement of the T-Waypoints and the approach altitude you specified.

As time goes by I will be writing tutorials and using the forum to help educate all those that want to get into the thought process that FS uses for approach code. Remember that approach code is non-visual scenery and there are many processes applied that are not understood and in most cases can cause a airport to stop working even though your airport looks much better then what the default FSX airport looks like.

We have 2 objectives

1. Enhance the airport with ADE (visual)
2. Make the airport work as well or better then the default FSX airport (non-visual)
 
Last edited:
Thank you so much! Sad it´s too late now, but I am sure I will have some fun reading and memorizing all this Information and even more playing around with it in the current Build of ADE this week.
Thanks Jim for your time sharing your knowledge. When I read this Forums I am sometimes asking me how we deserve this :wave:
 
Jim: Thank you for your information. I also used your graphical example in the other thread to help with 1L-19R at KIAD. Any tutorials/information you provide on this topic would be most welcomed! I for one am very interested in this subject and as a beginner I would greatly benefit from the tutorial(s).

kagazi
 
I believe I was successful in adding an ILS approach to 19R at KIAD based on the FAA approach plate. I also added a single transition (MRB), which is also based on the plate. Obviously as this plate is new, many of the T_WP either do not exist in FSX or the distances have been changed since FSX was released.

When I first added the ILS to the runway I asked ADE to include a simple ILS approach. I edited the approach to include the proper information from the FAA approach plate. I was, however, missing one T_WP for the transition. I finally figured out that it's not enough to include the T_WP witin the Transition code itself, but that I would be required to graphically add the T_WP onto the approach screen. The T_WP in question was BEEZY.

The line draws in the ILS approach to 19R appear to look good and I flew it with success. Adding the T_WP (BEEZY) to the screen was easy and I set the Lat based on T_WP (LAUGH); however I needed to move it using trial and error until it was set at the proper Lon based on the FAA approach plate. I'm wondering if there was an easier way to set the Lon of BEEZY if the only information that I had was a distance given in the plate?

I'm going to finish the ILS approach for 1L tomorrow including the transition from CSN. It should be easy now that I finally figured out 19R.

Theta and Rho remain a bit of a mystery. I used values from 19C to set 19R and all seemed to work flawlessly, but it would be nice to better understand exactly what these stand for. One appears to be a turning radius if I'm not mistaken?
 
You can set the latitude and longitude directly if you know them. Alternatively if you are looking for a distance and bearing then you could try setting up a guideline and use that to position the waypoint.
 
Kagazi

BEEZY is a Intersection and not a T_Waypoint. That does not mean you cannot place a T_Waypoint that says BEEZY.

However T_WAYPOINT LAUGH is the Initial Fix (IF) for runway 19R which could be your IAF and then MULKY would be the FAF. You would then use 2700 ft for the approach altitude as per the chart so you are already on a Glidpath when you cross MULKY at 1700 ft.
 
Last edited:
There are 2 ways that you can use to set a new T_Waypoint in the USA

Go to the following link and type in the waypoint name

http://www.airnav.com/airspace/fix/

Here I typed in MACEY

Identifier: MACEY
Name: MACEY
Location:

34-20-00.250N
083-41-19.080W

When adding the T-Waypoint place the Lat/Lon exactly how it is listed above. ADE will convert that type format to the decimal format and your T_Waypoint will be on the Grid.

That procedure works well if the T_waypoint is for transitions and missed approach holds. For the ILS the T_Waypoint must be exact so we use another procedure.

1. Make sure the Start Location and runway heading are Identical for RWY 19R

2. Move the DME transmitter to its proper location as per the charts. The 19R DME is .2 NM from the threshold of RWY 19R (as seen on the Chart).

3. Start FSX and then GO TO KIAD /RWY 19R. This will align the Cess 172 with the runway. (I use the Cess 172)

4. Start ADE and lock/connect at KIAD

5. Go into slew mode and ascend upward to 4000 ft. Slew backwrds to 16NM on the DME. Make the BEEZY T_Waypoint at the planes position on the grid of ADE (connect/Lock)

6. Highlite the T-Waypoint, right click the mouse and choose at the bottom of the list "move to aircraft" That will give a precise placement of the T_Waypoint exactly where the Cess 172 is sitting in the air.

7. Come forward so the DME reads 11.3 NM at 3000 ft and add LAUGH. Do the other T_Waypoints the same way. This makes sure that the ILS T_Waypoints are precisely in line with the runway.

NOTE:

DO NOT use the automated ILS approach code if you have plans to write your own approach code. The Automated ILS approach code is a fake code and just a rough cut for those that make up a ILS with ADE and want ATC to say ILS. The placement of the IAF and FAF are not precise since we use a runway heading value and then work backwards off of that with a bit of math. This will cause the IAF/FAF to be off center a small amount but works fine for a automation process.

If you make a ILS approach code from a real world chart then we must be more precise on placing the T_Waypoints. This is very important since the placement of the IAF (IF) is a measuring stick for some later code I will explain that instructs ATC to tell the User and AI Plane which way to turn on a go around.

Example:

RWY 19R at KIAD requires the missed approach to turn right at 800 ft. There is XML code enbedded in the ADE Approach Mode that will do this if we set the T_Waypoints precisly in line with the runway heading. More on that later
 
Last edited:
Jim: Thanks for the detailed information and explanation. I guess I just assumed that LAUGH and MULKY were located correctly since I created them with the information shown on the plate using the approach input in approach mode.

Jon/Jim: I'm beginning to realize the power of ADE in creating the approaches so thank you for your effort with this aspect.
 
Jon/Jim: I'm beginning to realize the power of ADE in creating the approaches so thank you for your effort with this aspect.

Its Jim's knowledge - I just hit the keys :)
 
I removed this post on how to write a ILS since I see a slight bug in our ver 1.39.7. Will be back once Jon has the bug fixed.
 
Last edited:
Jim: I performed a test run of the steps you outlined below. I was able to include the T-WPs using your instructions, however, I believe I made a mistake at some point as MULKY was off-centered from the runway threshold. I will explain more using the steps you indicated below.

Please forgive my questions as all of this is new to me. I probably won't even get the lingo correct and I'm not a pilot so I'll do my best with what I know.

1. Start location and runway heading were verified as the same.
2. If my C172 is sitting at the threshold of 19R (at this point i'm in slew mode), I dial in the runway freq. 110.75 and observe that the DME indicates 1.7nm. At this point I'm confused at to what to move. I'm assuming that I'm moving the DME IISU located at the other end? But you indicated (as does the plate) that the IISU antenna should be located 0.2nm from the threshold of 19R? What am I missing here? If my C172 travels down the length of 19R to the opposite end the DME goes down to 0.5nm before increasing once again to 1.7nm at the opposite end. Should I ensure that the IISU DME is located at 1.9nm at this point?
5. I did as you said in this step. In slew I went to 4000 feet and lock/connect in ade, slew backward until the dme read (assuming my dme reading is even correct) 16nm and placed T_WP BEEZY. When I right clicked on BEEZY it did not give me the option to move to aircraft but something similar. I chose the only option I could at the bottom and the C172 turned itself around and wound up on the ground. I obviously did something wrong here. I then repeated the steps for the other two T_WPs and was able to use the DME (again assuming it's reading correctly) and placed the others. While slewing I must have been drifting as I noticed the WPs were not aligned to the runwawy.

I think I can correct step 5 with a little practice, but I want to make sure that I have step 2 down correctly. Thanks for your help and patience.

kagazi
 
Last edited:
At the very end of 19R is a long green feather. At the point of that long green feather is a square symbol with a dot in the center. Mouse over it and that will tell you it is the DME transmitter for your 19R ILS.

Drag that symbol to the other end of the runway and place it .2 of a mile from the threshold of runway 19R (see the approach chart).


Slew mode is the "Y" key

"Q" up
"Z" down
"8" forward
"2" backward
"5" stop moving
 
Last edited:
Since the ILS approach is the only non-weather related approach and the backbone of all approaches I will spend a little time here showing the correct procedure on how to write a ILS approach code from the approach plate.

I have decided that KIAD is a good canidate that kagazi is working on since I have wrote all the approaches for Cal Lewis at ImagineSim for his lastest payware KIAD FS9 / FSX (FSX not released yet).

KIAD is unique and we get to see how approach code is written because KIAD added a new runway 01L/19R just recently. That means the old runway MUST now become 01C/19C and with ADE we have automated for the designer many task when re-numbering a runway.

In this picture I have opened the Stock KIAD with ADE and selected the runway property window for the existing 01L/19R runway. It is important that we change runway numbers/designators first before adding the new 01L/19R runway.

fsscr000.jpg


You can see in the above picture I have changed RWY 01L/19R to 01C/19C in the property window.

As stated we automate as much as possible so in the next picture ADE changes the start locations, runway black link line and sets the correct IDENT for each ILS transmitter to the new runway number of 01C/19C automactically for us.

fsscr001.jpg


That was easy but we now have lost the approach code which was assigned to runway 01L/19R so we need to re-assign the approach code to the new runway number of 01C/19C.

In the following picture we open the ADE Approach Mode Window and then from the approach dropdown menu we select open approaches. A new window pops up and in that window we see that 3 approaches are assigned to 01L and 3 approaches are assigned to 19R. Remember this runway is now 01C/19C.

fsscr002.jpg


Our next step is to select the 1st 01L on the list which is the ILS 01L approach and when we select it a new window opens over on the right side.

fsscr003.jpg


I select the top line which says R01L ILS: and now I can change in the box below that the rwy des to CENTER

fsscr004.jpg


Now one more time. We open the last TF or CF which is also the Runway and we manually change the 01L to 01C

fsscr005.jpg


We can now see in the next picture the approach legs are aligned to the proper runway which is now Runway 01/19 Center

fsscr006.jpg


Do this also for the 01L GPS and RNAV then for the 19R ILS, GPS, and RNAV.

Save your .ade work and compile so your KIAD now has a RWY 01R/19L and a 01C/19C with proper approach code. We are now ready to add a new runway 01L/19R and insert new ILS's for that runway. Once the ILS's are added we will write the approach code which will not interfere with the old RWY 01L/19R since it is now 01C/19C.

Approach code is next so get a chart off of Airnav

http://www.airnav.com/airports/

selecting KIAD and then the approach chart 'ILS or LOC/DME 19R'
 
Last edited:
Many Thanks Jim
even i can follow that :)
i noticed that at the header is not changing to Center
and still remains LEFT, but i'm sure Jon will know about this
as it is the beta............
 
Lets take a few moments to review the approach chart. There are certain values and information that we will need to transform this approach chart into XML code which will then show the chart in the GPS receiver.

fsscr007.jpg


The first thing we see is this is a ILS or LOC/DME type Approach and the IDENT is IISU. The LOC is assigned a freq of 110.75.

There are 3 T_WAYPOINTS and one intersection (BEEZY). FSX only needs 2 T_Waypoints but we can add all 3 (+ the intersection).

The 2 mandatory T_Waypoints will be IAF (IF) = LAUGH and the FAF will be MULKY.

The next thing we need to determine is where the DME Transmitter is located. If you look real close the DME Transmitter is .2 NM from the threshold of RWY 19R (IISU DME Antenna). More on that when we get to the ADE Grid.

The next piece of information that FSX needs is the ATC assigned approach altitude. Since we are using LAUGH as our IAF then we will use 2700 ft for the ATC hardfloor. We have to use some common sense here since we are writing an approach for both the User Plane Pilot and the AI Plane.

Next I need to look at the published missed approach altitude. In the upper right hand corner the final altitude for the published missed approach is 5000 ft so make a note of that also. Also note we will be holding in a right hand pattern on a 1 minute leg at the T_WAYPOINT of OLIVR. The hold will be a HM legtype (see 1st post above) which requires a manual termination from the Pilot.

If you look at the center bottom of the approach chart you see it says Visual Glide Slope Indicator (VGSI) and ILS Glidepath not coincident. That means the PAPI/VASI's are not going to be used as a visual reference when on Glidepath of your Glide Slope.

We see posting on many forums where someone complains that the PAPI's are not in agreement with the Glide Slope but as per the charts this is intentional and not a mistake by the airport designer.

Spend a few moments reviewing the ILS chart and then we will move on.
 
Last edited:
i noticed that at the header is not changing to Center
and still remains LEFT, but i'm sure Jon will know about this
as it is the beta............

Yes it is a bug that Jim reported to me and is on the to-be-fixed list
 
Many Thanks Jim
even i can follow that :)
i noticed that at the header is not changing to Center
and still remains LEFT, but i'm sure Jon will know about this
as it is the beta............

Thats the slight bug I looked at. It has no effect on the XML or the approach code since it is in the .ade binary. Jon is working on getting it fixed.

ut-oh, I posted on top of you Jon
 
Jim: Great tutorial on the utility of approach code modification and inclusion. Thank you for this!

Last month I included the fourth runway at KIAD and modified the xml by hand to change the approach code for 1L/19R to reflect the new designation of 1C/19C. What a difference using ADE makes. I ran through your example with ease.

I've reviewed the chart (appreciate the explanation regarding VGSI) and look forward to the remainder of the tutorial. Q: When are intersections used in FSX? Are intersections an alternative approach in the real world? Is there a benefit to intersecting the IF over an intersection?

Is there a way to include 2 transitions both originating from MRB but one through the intersection at BEEZY and the other through the IF at LAUGH?
 
"That procedure works well if the T_waypoint is for transitions and missed approach holds. For the ILS the T_Waypoint must be exact so we use another procedure.

1. Make sure the Start Location and runway heading are Identical for RWY 19R

2. Move the DME transmitter to its proper location as per the charts. The 19R DME is .2 NM from the threshold of RWY 19R (as seen on the Chart).

3. Start FSX and then GO TO KIAD /RWY 19R. This will align the Cess 172 with the runway. (I use the Cess 172)

4. Start ADE and lock/connect at KIAD

5. Go into slew mode and ascend upward to 4000 ft. Slew backwrds to 16NM on the DME. Make the BEEZY T_Waypoint at the planes position on the grid of ADE (connect/Lock)

6. Highlite the T-Waypoint, right click the mouse and choose at the bottom of the list "move to aircraft" That will give a precise placement of the T_Waypoint exactly where the Cess 172 is sitting in the air.

7. Come forward so the DME reads 11.3 NM at 3000 ft and add LAUGH. Do the other T_Waypoints the same way. This makes sure that the ILS T_Waypoints are precisely in line with the runway."

Success :) Your follow-on explanation regarding placement of the DME and slew keys helped a great deal. I think I was foolishly slewing using the joystick and obviously could not maintain a perfectly straight line.
 
Back
Top