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

MSFS How add a ILS or any NAV to airport?

Messages
52
Country
costarica
Hello guys, i´m making a airport (one of them) no exist in the MSFS, but yes in the real life.

Runway, aprons, gates, jetways....car and a lot objects are ready.

How i can add ILS , NDB or VOR to this one?.
I check almost all post about SDK and scenery creation, but cant find something about ILS or RadioNavs...
Tks in advance.

Fer.
 
Messages
254
Country
unitedkingdom
It hasn't been implemented in the SDK yet as far as I know. I am also waiting for this. It may be possible to edit the XML file directly, I followed some instructions here to add the COM frequencies, but I am not sure what the syntax would be for NAV aids.
 
Messages
435
Country
us-newyork
but I am not sure what the syntax would be for NAV aids.
If you want to tinker (while waiting for the ADE beta that will work with MSFS), one option is to open any airport that has the specific type of item in the FSX version of ADE and then compile it with the XML output option active. Then open the XML file in Notepad++. You will see how the XML syntax is formatted for a specific type of item. Then all you need to do is to edit the XML to match what the RL airport has and add the XML code to your airport XML file in your project <ICAO>.XML. For example, here is a typical ILS entry:
XML:
        <Ils     lat="44.3784084543586"     lon="-74.2150256037712"     alt="506.882M"   heading="214.850006103516"   frequency="108.900"   end="SECONDARY"   range="27.01N"
                  magvar="14.6999998092651"   ident="ISLK"    width="5.43871355056763"   name="ILS 23"   backCourse="TRUE">
            <GlideSlope      lat="44.3929916247725"      lon="-74.2022417485714"      alt="506.882M"      pitch="3"      range="27.01N"/>
        </Ils>
 
Messages
52
Country
costarica
If you want to tinker (while waiting for the ADE beta that will work with MSFS), one option is to open any airport that has the specific type of item in the FSX version of ADE and then compile it with the XML output option active. Then open the XML file in Notepad++. You will see how the XML syntax is formatted for a specific type of item. Then all you need to do is to edit the XML to match what the RL airport has and add the XML code to your airport XML file in your project <ICAO>.XML. For example, here is a typical ILS entry:
XML:
        <Ils     lat="44.3784084543586"     lon="-74.2150256037712"     alt="506.882M"   heading="214.850006103516"   frequency="108.900"   end="SECONDARY"   range="27.01N"
                  magvar="14.6999998092651"   ident="ISLK"    width="5.43871355056763"   name="ILS 23"   backCourse="TRUE">
            <GlideSlope      lat="44.3929916247725"      lon="-74.2022417485714"      alt="506.882M"      pitch="3"      range="27.01N"/>
        </Ils>
You the man....tks captain.
 
Messages
70
Country
unitedkingdom
@xr219 GlideSlope should work if you enter exactly as above - the MSFS XSD schema seems to match (although I haven't tested a compile). Maybe try pitch="3.0" (although that shouldn't make a difference)?

(I've been doing a bunch of work on XML/XSD/BGL stuff...)
 
Messages
254
Country
unitedkingdom
@xr219 GlideSlope should work if you enter exactly as above - the MSFS XSD schema seems to match (although I haven't tested a compile). Maybe try pitch="3.0" (although that shouldn't make a difference)?

(I've been doing a bunch of work on XML/XSD/BGL stuff...)

it was copied from the FSX SDK as a test with a 3 degree slope. The compiler threw an error saying it was expecting ilsxxxxxx I can’t remember the variable it was expecting as I forgot to write it down, but it was a new one to me. I’ll try again later.
 
Messages
42
Country
unitedkingdom
There is a SimpleNavData project in the 'Samples' folder of the SDK, that has some ILS examples along with a bunch of others ( I have been working on RNAV, although I didn't follow the example in the SimpleNavData but a post here (https://www.fsdeveloper.com/forum/threads/creating-rnav-gps-approach.446118/#post-831361)

It's also worth looking at the schema document here - https://www.fsdeveloper.com/forum/threads/sdk-reference-scenery-design.448407/

It seems like there is an ILS element:

XML:
<Ils lat="44.70255557798028" lon="-0.594172903335208" alt="186.75000597599998F" heading="94.2565568340202" frequency="114.6" magvar="0.0" ident="IL00" width="5.0" name="ILS NAME"/>

And an 'Approach' element

XML:
    <Approach type="ILS" runway="03" fixType="TERMINAL_WAYPOINT" fixRegion="LF" fixIdent="TWT02" altitude="2000.0F" heading="32.17835215228622" missedAltitude="5000.0F">
      <ApproachLegs>
        <Leg type="IF" fixType="WAYPOINT" fixRegion="LF" fixIdent="WPT5B" recommendedType="LOCALIZER" recommendedRegion="LF" recommendedIdent="IL00" theta="274.3" rho="11.3N" altitudeDescriptor="I" altitude1="2000.0F" altitude2="2000.0F"/>
        <Leg type="CF" fixType="TERMINAL_WAYPOINT" fixRegion="LF" fixIdent="TWT02" flyOver="FALSE" recommendedType="LOCALIZER" recommendedRegion="LF" recommendedIdent="IL00" theta="274.3" rho="7.300000000000001N" magneticCourse="307.2435906365321" distance="4.1000000000000005N" altitudeDescriptor="A" altitude1="2000.0F"/>
        <Leg type="CF" fixType="RUNWAY" fixRegion="LF" fixIdent="RW03" flyOver="TRUE" recommendedType="LOCALIZER" recommendedRegion="LF" recommendedIdent="IL00" theta="274.3" rho="1.4000000000000001N" magneticCourse="307.2435906365321" distance="5.9N" altitudeDescriptor="A" altitude1="72.0F"/>
      </ApproachLegs>
      <MissedApproachLegs>
        <Leg type="CA" magneticCourse="95.0" altitudeDescriptor="+" altitude1="5000.0F"/>
        <Leg type="CF" fixType="VOR" fixRegion="LF" fixIdent="VOR08" flyOver="FALSE" recommendedType="VOR" recommendedRegion="LF" recommendedIdent="VOR08" theta="348.40000000000003" rho="1.0N" magneticCourse="332.2435906365321" distance="7.0N" altitudeDescriptor="+" altitude1="5000.0F"/>
        <Leg type="CF" fixType="WAYPOINT" fixRegion="LF" fixIdent="WPT0A" flyOver="FALSE" turnDirection="R" recommendedType="VOR" recommendedRegion="LF" recommendedIdent="VOR08" theta="270.3" rho="1.0N" magneticCourse="120.24359063653206" distance="23.0N" altitudeDescriptor="+" altitude1="5000.0F"/>
        <Leg type="HM" fixType="WAYPOINT" fixRegion="LF" fixIdent="WPT0A" turnDirection="R" magneticCourse="14.121795318266024" time="1.0" altitudeDescriptor="+" altitude1="5000.0F"/>
      </MissedApproachLegs>
      <Transition transitionType="FULL" fixType="TERMINAL_WAYPOINT" fixRegion="LF" fixIdent="TWT02" altitude="2000.0F">
        <TransitionLegs>
          <Leg type="PI" fixType="TERMINAL_WAYPOINT" fixRegion="LF" fixIdent="TWT02" turnDirection="R" recommendedType="VOR" recommendedRegion="LF" recommendedIdent="VOR05" theta="244.10000000000002" rho="1.0N" magneticCourse="82.24359063653206" distance="10.0N" altitudeDescriptor="+" altitude1="2000.0F"/>
          <Leg type="CF" fixType="WAYPOINT" fixRegion="LF" fixIdent="WPT5B" flyOver="FALSE" recommendedType="LOCALIZER" recommendedRegion="LF" recommendedIdent="IL00" theta="274.3" rho="1.0N" magneticCourse="307.2435906365321" distance="2.0N" altitudeDescriptor="+" altitude1="2000.0F"/>
        </TransitionLegs>
      </Transition>
    </Approach>
 
Messages
254
Country
unitedkingdom
Thanks @Dooby - Those two above are identical to the FSX SDK, but I'll have a look at the other docs. Appreciate you posting that link :)
 
Messages
254
Country
unitedkingdom
Ah I was under the impression the example with 'Glideslope' above was the FSX format

Yes you are correct. I need my coffee this morning.

With GlideSlope in, this is the error below. Actually... Its my error. I need Glideslope inside ILS. I'll give that a try. I'm not sure what the IlsReference tag is though.

INTERNAL COMPILER ERROR: #C2033: XML Parse Error (line, column, error) ERROR: 705, 107, Element 'GlideSlope' is unexpected according to content model of parent element 'Runway'. Expecting: Ils, IlsReference, RunwayStart, Material. INTERNAL COMPILER ERROR: #C2313: GlideSlope MUST be nested inside a Ils! INTERNAL COMPILER ERROR: #C2031: Failed element parse <GlideSlope> INTERNAL COMPILER ERROR: #C2032: XML Parse Error! Element tree follows: ERROR: <FSData ERROR: version = 9.0 ERROR: > ERROR: <Airport ERROR: city = Thurleigh ERROR: name = RAE Bedford ERROR: ident = EGBF ERROR: lat = 52.23094156254407 ERROR: lon = -0.46160174713115 ERROR: alt = 86.05386632233638 ERROR: magvar = 0.000000 ERROR: trafficScalar = 1.000000 ERROR: airportTestRadius = 2600.00000000000000 ERROR: applyFlatten = TRUE ERROR: isOnTIN = FALSE ERROR: starAirport = TRUE ERROR: > ERROR: <Runway ERROR: lat = 52.23091064754645 ERROR: lon = -0.46174715329814 ERROR: alt = 86.05353384607631 ERROR: heading = 80.52565765380859 ERROR: length = 3207.80859375000000 ERROR: width = 93.64620971679688 ERROR: patternAltitude = 304.79998779296875 ERROR: surface = {0D7DFD04-B3A3-47A9-A710-074276B6DB26} ERROR: transparent = FALSE ERROR: number = 09 ERROR: designator = NONE ERROR: primaryLanding = TRUE ERROR: primaryTakeoff = TRUE ERROR: primaryPattern = LEFT ERROR: secondaryLanding = TRUE ERROR: secondaryTakeoff = TRUE ERROR: secondaryPattern = LEFT ERROR: primaryMarkingBias = 0.00000000000000 ERROR: secondaryMarkingBias = 0.00000000000000 ERROR: groundMerging = TRUE ERROR: excludeVegetationAround = TRUE ERROR: > ERROR: <GlideSlope ERROR: lat = 52.228340 ERROR: lon = -0.487021 ERROR: alt = 86.05353384607631 ERROR: pitch = 3.00 ERROR: range = 20N ERROR: > ERROR: INTERNAL COMPILER ERROR: #C2328: Mismatch token end (GlideSlope)! INTERNAL COMPILER ERROR: #C2024: Failed to process closing element tag <GlideSlope> near line 705! INTERNAL COMPILER ERROR: #C2607: Compilation errors detected, compilation failed! INTERNAL COMPILER ERROR: #C2034: XML Parse Fatal Error (line, column, error) ERROR: 1713, 0, Validate failed. INTERNAL COMPILER ERROR: #C2430: Unrecoverable error parsing XML! INTERNAL COMPILER ERROR: #C2006: Parse failed (0x80004005) PackageBuilder | Skip mirroring due to command failures.
 
Last edited:
Messages
70
Country
unitedkingdom
INTERNAL COMPILER ERROR: #C2313: GlideSlope MUST be nested inside a Ils!
The example above shows <Ils .....> <GlideSlope /> </Ils>. Did you forget the / inside your GlideSlope tag?
 

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
34,854
Country
unitedkingdom
This is the schema for the ILS and the GS is an element with in it. If the XML is calling the GS part of the airport record or something else then that would cause a compiler error

1599229686835.png


1599229723045.png
 
Last edited:
Messages
254
Country
unitedkingdom
Hi Jon, yes that's the issue, I just need to check the syntax of how to add it to the ILS element, as the ILS element is already a child of the runway. XML isn't my strong suit
 

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
34,854
Country
unitedkingdom
Yes you are correct. I need my coffee this morning.

With GlideSlope in, this is the error below. Actually... Its my error. I need Glideslope inside ILS. I'll give that a try. I'm not sure what the IlsReference tag is though.

INTERNAL COMPILER ERROR: #C2033: XML Parse Error (line, column, error) ERROR: 705, 107, Element 'GlideSlope' is unexpected according to content model of parent element 'Runway'. Expecting: Ils, IlsReference, RunwayStart, Material. INTERNAL COMPILER ERROR: #C2313: GlideSlope MUST be nested inside a Ils! INTERNAL COMPILER ERROR: #C2031: Failed element parse <GlideSlope> INTERNAL COMPILER ERROR: #C2032: XML Parse Error! Element tree follows: ERROR: <FSData ERROR: version = 9.0 ERROR: > ERROR: <Airport ERROR: city = Thurleigh ERROR: name = RAE Bedford ERROR: ident = EGBF ERROR: lat = 52.23094156254407 ERROR: lon = -0.46160174713115 ERROR: alt = 86.05386632233638 ERROR: magvar = 0.000000 ERROR: trafficScalar = 1.000000 ERROR: airportTestRadius = 2600.00000000000000 ERROR: applyFlatten = TRUE ERROR: isOnTIN = FALSE ERROR: starAirport = TRUE ERROR: > ERROR: <Runway ERROR: lat = 52.23091064754645 ERROR: lon = -0.46174715329814 ERROR: alt = 86.05353384607631 ERROR: heading = 80.52565765380859 ERROR: length = 3207.80859375000000 ERROR: width = 93.64620971679688 ERROR: patternAltitude = 304.79998779296875 ERROR: surface = {0D7DFD04-B3A3-47A9-A710-074276B6DB26} ERROR: transparent = FALSE ERROR: number = 09 ERROR: designator = NONE ERROR: primaryLanding = TRUE ERROR: primaryTakeoff = TRUE ERROR: primaryPattern = LEFT ERROR: secondaryLanding = TRUE ERROR: secondaryTakeoff = TRUE ERROR: secondaryPattern = LEFT ERROR: primaryMarkingBias = 0.00000000000000 ERROR: secondaryMarkingBias = 0.00000000000000 ERROR: groundMerging = TRUE ERROR: excludeVegetationAround = TRUE ERROR: > ERROR: <GlideSlope ERROR: lat = 52.228340 ERROR: lon = -0.487021 ERROR: alt = 86.05353384607631 ERROR: pitch = 3.00 ERROR: range = 20N ERROR: > ERROR: INTERNAL COMPILER ERROR: #C2328: Mismatch token end (GlideSlope)! INTERNAL COMPILER ERROR: #C2024: Failed to process closing element tag <GlideSlope> near line 705! INTERNAL COMPILER ERROR: #C2607: Compilation errors detected, compilation failed! INTERNAL COMPILER ERROR: #C2034: XML Parse Fatal Error (line, column, error) ERROR: 1713, 0, Validate failed. INTERNAL COMPILER ERROR: #C2430: Unrecoverable error parsing XML! INTERNAL COMPILER ERROR: #C2006: Parse failed (0x80004005) PackageBuilder | Skip mirroring due to command failures.

Can I ask how you captured the compiler output?
 
Messages
42
Country
unitedkingdom
Can I ask how you captured the compiler output?
If you are running the fspackagetool externally, it stays open in a console windows, if you right click and select 'Mark' you can left click+drag highlight the block you want and hit 'Enter' - it puts it on the clipboard (that is a standard way to copy output from a windows command/dos prompt window)
 

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
34,854
Country
unitedkingdom
Duh - so long since I needed to do that. Thanks
 
Messages
254
Country
unitedkingdom
In Dev move, click on Window in the menu at the top and select console. I clear the console before I click on build so I can see the output cleanly and then just copy it. It’s a bit clunky but you can hold down shift and select multiple lines.
 

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
34,854
Country
unitedkingdom
Thanks - I found that the console window has a lot of erroneous entries in it - but perhaps that is cleared up now?
 
Top