Howto:Add procedures to the route manager: Difference between revisions

Jump to navigation Jump to search
+- Lots of minor cleanup; +- Rearranging the disposition; + Repository link templates; + Mailing list thread; Etc. Still lots to do though.
(→‎Related content: + Mailing list thread)
(+- Lots of minor cleanup; +- Rearranging the disposition; + Repository link templates; + Mailing list thread; Etc. Still lots to do though.)
 
Line 2: Line 2:
{{Autoflight Navigation}}
{{Autoflight Navigation}}


== Objective ==
A free way to get more SID and STAR procedures for the FlightGear Route Planner.<ref>{{cite web
A free way to get more SID and STAR procedures for the FlightGear Route Planner<ref>{{cite web
| url    =  https://forum.flightgear.org/viewtopic.php?p=313123#p313123  
  |url    =  https://forum.flightgear.org/viewtopic.php?p=313123#p313123  
| title  =  <nowiki> routeplanner stir sid </nowiki>  
  |title  =  <nowiki> routeplanner stir sid </nowiki>  
| author =  <nowiki> Sarith </nowiki>  
  |author =  <nowiki> Sarith </nowiki>  
| date   =  Jun 24th, 2017
   |date  =  Jun 24th, 2017  
| added  =  Jun 24th, 2017
  |added  =  Jun 24th, 2017  
| script_version = 0.40
  |script_version = 0.40  
}}</ref>
  }}</ref>
 
Make some procedures yourself. Charts are easy to find and a quick search will find you the syntax. This is what FlightGear is all about; doing it yourself and sharing it to others. A quick search would also find existing packages.<ref>{{cite web
| url    =  https://forum.flightgear.org/viewtopic.php?p=313128#p313128
| title  =  <nowiki> Re: routeplanner stir sid </nowiki>
| author =  <nowiki> Parnikkapore </nowiki>
| date  =  Jun 24th, 2017  
| added  =  Jun 24th, 2017  
| script_version = 0.40  
}}</ref>
 
== Installing procedure files ==
=== Manually ===
SID and STAR procedures are found in the <code>procedures.xml</code> file for an airport. There is at most one procedures file per airport and it is located in the root of the airport directory:
 
<code>[[$FG_SCENERY]]/Airports/I/C/A/ICAO.procedures.xml</code>


== Background ==
With the ICAO code of your airport replacing <code>ICAO</code>.<ref>{{cite web
Make some yourself. Charts are easy to find and a quick search will find you the syntax.
| url    =  https://forum.flightgear.org/viewtopic.php?p=313362#p313362
This is what FlightGear is all about; doing it yourself and sharing it to others.
| title  =  <nowiki> Re: routeplanner stir sid </nowiki>  
A quick search would also find existing packages...<ref>{{cite web
| author =  <nowiki> Parnikkapore </nowiki>  
  |url    =  https://forum.flightgear.org/viewtopic.php?p=313128#p313128
| date  =  Jun 28th, 2017  
  |title  =  <nowiki> Re: routeplanner stir sid </nowiki>  
| added  =  Jun 28th, 2017  
  |author =  <nowiki> Parnikkapore </nowiki>  
| script_version = 0.40  
  |date  =  Jun 24th, 2017  
}}</ref>
  |added  =  Jun 24th, 2017  
  |script_version = 0.40  
  }}</ref>


For example, to import SID or STAR procedures for Phuket International Airport (VTSP), you name the file <code>VTSP.procedures.xml</code> and put it in the directory


<code>[[$FG_SCENERY]]/Airports/V/T/S/</code>


== Instructions ==
In there you will likely find for example <code>VTSP.twr.xml</code>, but not an existing <code>VTSP.procedures.xml</code> file.
SID and STAR procedures are found in the airport's procedures.xml file. There is at most one file per airport and it is located in the airport's root directory:


&lt;scenery directory&gt;/Airports/I/C/A/ICAO.procedures.xml
Replace <code>VTSP</code> in the directory and <code>procedures.xml</code> file name with your airport code.<ref>{{cite web
| url    =  https://forum.flightgear.org/viewtopic.php?p=313409#p313409
| title  =  <nowiki> Re: routeplanner stir sid </nowiki>
| author =  <nowiki> Parnikkapore </nowiki>
| date  =  Jun 29th, 2017
| added  =  Jun 29th, 2017
| script_version = 0.40
}}</ref>


Where ICAO is your airport code.<ref>{{cite web
=== Bash script for organizing files ===
   |url    =  https://forum.flightgear.org/viewtopic.php?p=313362#p313362
ZirconiumX wrote a bash script for putting the XML files into the the right directories in the scenery.<ref>{{cite web
   |title  =  <nowiki> Re: routeplanner stir sid </nowiki>  
   | url    =  https://forum.flightgear.org/viewtopic.php?p=280561#p280561
   |author =  <nowiki> Parnikkapore </nowiki>  
   | title  =  <nowiki> Re: Non-Navigraph SID/STAR xml files </nowiki>  
   |date  =  Jun 28th, 2017
   | author =  <nowiki> ZirconiumX </nowiki>  
   |added  =  Jun 28th, 2017
   | date  =  Mar 26th, 2016
   |script_version = 0.40  
   | added  =  Mar 26th, 2016
   }}</ref>
   | script_version = 0.40  
   }}</ref><!-- Where do you even get the original files? Navigraph? -->


For example, to import SID or STAR procedures for VTSP (Phuket International Airport), you name the file VTSP.procedures.xml and put it in the &lt;scenery directory&gt;/Airports/V/T/S/ directory. In there you will likely find VTSP.twr.xml but not an existing VTSP.procedures.xml file.
<syntaxhighlight lang="bash">
Replace "VTSP" in the directory and procedures.xml file name with your airport code.<ref>{{cite web
for file in $(ls *.xml)
  |url    =  https://forum.flightgear.org/viewtopic.php?p=313409#p313409
do
  |title  =  <nowiki> Re: routeplanner stir sid </nowiki>
  # First, rename all the files to the correct convention
  |author =  <nowiki> Parnikkapore </nowiki>
  mv "$file" "${file%.xml}.procedures.xml"
  |date  =  Jun 29th, 2017
  |added  =  Jun 29th, 2017
  |script_version = 0.40
  }}</ref>


== File Structure ==
  # Then move it to the correct place
  icao=${file%.xml}
  icao1=$(echo $icao | cut -c 1)
  icao2=$(echo $icao | cut -c 2)
  icao3=$(echo $icao | cut -c 3)
  mkdir -p $icao1/$icao2/$icao3
  mv "${icao}.procedures.xml" "$icao1/$icao2/$icao3/${icao}.procedures.xml"
done
</syntaxhighlight>


In the explanation below, the name like "ProceduresDB" is the tag - so it's actually <ProceduresDB> in the XML file.
== File structure ==
The subsequent parameters, like "build" are attributes - so it's actually <ProceduresDB build=""> in the XML file.
In the explanation below, the name like "ProceduresDB" is the tag - so it's actually <code>&lt;ProceduresDB&gt;</code> in the XML file.
The subsequent parameters, like "build" are attributes - so it's actually <code>&lt;ProceduresDB build=""&gt;</code> in the XML file.


<pre>
<pre>
Line 96: Line 121:
</pre>
</pre>


== Sample procedures.xml File ==
== Sample procedures.xml files ==
 
Here are some links to example XML files which follows the format specified above:
Here is a link to an example xml file which follows the format specified above: https://github.com/jojo2357/flightgear-star-sid-manager/blob/master/2020.4/Airports/K/A/T/KATL.procedures.xml<ref>{{cite web
* {{github source
   |url    =  https://forum.flightgear.org/viewtopic.php?p=313583#p313583  
| proj = jojo2357
   |title  =  <nowiki> Re: routeplanner stir sid </nowiki>  
| repo = flightgear-star-sid-manager
   |author =  <nowiki> eric </nowiki>  
| path = 2020.4/Airports/K/A/T/KATL.procedures.xml
   |date  =  Jul 2nd, 2017  
}}<ref>{{cite web
   |added  =  Jul 2nd, 2017  
   | url    =  https://forum.flightgear.org/viewtopic.php?p=313583#p313583  
   |script_version = 0.40  
   | title  =  <nowiki> Re: routeplanner stir sid </nowiki>  
   | author =  <nowiki> eric </nowiki>  
   | date  =  Jul 2nd, 2017  
   | added  =  Jul 2nd, 2017  
   | script_version = 0.40  
   }}</ref>
   }}</ref>
== Bash script ==
* {{github source
ZirconiumX wrote a bash script for putting the XML files into the FG required locations.<ref>{{cite web
  | proj = terrasync
  |url    = https://forum.flightgear.org/viewtopic.php?p=280561#p280561
  | repo = main
  |title  = <nowiki> Re: Non-Navigraph SID/STAR xml files </nowiki>
  | path = Airports/L/F/R/LFRB.procedures.xml
  |author = <nowiki> ZirconiumX </nowiki>
}}
  |date  = Mar 26th, 2016
  |added =  Mar 26th, 2016
  |script_version = 0.40
  }}</ref><!-- Where do you even get the original files? Navigraph? -->


<syntaxhighlight lang="bash">
== Sources for procedure files ==
for file in $(ls *.xml)
=== Installing free community procedures ===
do
  # First, rename all the files to the correct convention
  mv "$file" "${file%.xml}.procedures.xml"
 
  # Then move it to the correct place
  icao=${file%.xml}
  icao1=$(echo $icao | cut -c 1)
  icao2=$(echo $icao | cut -c 2)
  icao3=$(echo $icao | cut -c 3)
  mkdir -p $icao1/$icao2/$icao3
  mv "${icao}.procedures.xml" "$icao1/$icao2/$icao3/${icao}.procedures.xml"
done
</syntaxhighlight>
 
== Installing free community procedures ==
The FAA provides the [https://www.faa.gov/air_traffic/flight_info/aeronav/digital_products/cifp/ CIFP] which provides procedure data for airports under the purview of the FAA, namely the US.
The FAA provides the [https://www.faa.gov/air_traffic/flight_info/aeronav/digital_products/cifp/ CIFP] which provides procedure data for airports under the purview of the FAA, namely the US.


 
There is a free project on {{github source
 
| user = jojo2357
There is a free project on [https://github.com/jojo2357/flightgear-star-sid-manager GitHub] that aims to take FAA data and format it into the LevelD required by FlightGear. For instructions on how to install, see [https://github.com/jojo2357/flightgear-star-sid-manager#installation this section] of the README.
| repo = flightgear-star-sid-manager
| text = GitHub
}} that aims to take FAA data and format it into the Level-D required by FlightGear. For instructions on how to install, see {{github source
| user = jojo2357
| repo = flightgear-star-sid-manager
| path = README.MD#installation
| text = this section
}} of the README.


This project uses GitHub Actions in order to automatically update the procedures at the start of a new AIRAC cycle.
This project uses GitHub Actions in order to automatically update the procedures at the start of a new AIRAC cycle.


== Commercial sources==
=== Commercial sources ===
A process to import SID/STARs from Navigraph Level D (obtaining this data requires paid subscription to Navigraph) was described on the forum.
A process to import SID/STARs from Navigraph Level D (obtaining this data requires paid subscription to Navigraph) was described on the forum.


Quoting here for reference:{{cite web
Quoting here for reference:{{cite web
   |url=https://forum.flightgear.org/viewtopic.php?f=11&t=37975&start=15#p416078
   | url=https://forum.flightgear.org/viewtopic.php?f=11&t=37975&start=15#p416078
   |title  =  <nowiki> Re: How to get SIDs and STARs in Airbus A320 mcdu </nowiki>  
   | title  =  <nowiki> Re: How to get SIDs and STARs in Airbus A320 mcdu </nowiki>  
   |author =  <nowiki> mpotra </nowiki>  
   | author =  <nowiki> mpotra </nowiki>  
   |quote = :
   | quote = :
# Download Level-D navdata from Navigraph (On the Downloads -> Manual Download page)
# Download Level-D navdata from Navigraph (On the Downloads -> Manual Download page)
# This is ZIP file with a Windows Installer executable inside. If you're on Windows already, run the installer, select a version (Prepar3D/PD3) and then skip to step 4.
# This is ZIP file with a Windows Installer executable inside. If you're on Windows already, run the installer, select a version (Prepar3D/PD3) and then skip to step 4.
Line 161: Line 178:
   }}
   }}


 
== References ==
==References==
{{Appendix}}
{{Appendix}}


==Related content==
== Related content ==
===Wiki articles===
=== Wiki articles ===
*[[Route manager]]
* [[Route manager]]
*[[Flightplan XML formats]]
* [[Flightplan XML formats]]


===Mailing list threads===
=== Mailing list threads ===
*[https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/222DD5B1-B7F1-421B-84AE-A60353203085@flightgear.org/ <nowiki>[Flightgear-devel<nowiki>]</nowiki> Procedures SID/STAR/Approach]
* [https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/222DD5B1-B7F1-421B-84AE-A60353203085@flightgear.org/ <nowiki>[Flightgear-devel<nowiki>]</nowiki> Procedures SID/STAR/Approach]


===Source code===
=== Source code ===
*{{flightgear source|path=src/Navaids/LevelDXML.hxx}}
* {{flightgear source|path=src/Navaids/LevelDXML.hxx}}
*{{flightgear source|path=src/Navaids/LevelDXML.cxx}}
* {{flightgear source|path=src/Navaids/LevelDXML.cxx}}

Navigation menu