AI Traffic: Difference between revisions

Jump to navigation Jump to search
3,606 bytes removed ,  16 July 2020
m
Image placements in Groundnet flow section
(Added Groundnet Routing 7.6 Details and Instructions)
m (Image placements in Groundnet flow section)
Line 222: Line 222:


The name of the file is the ICAO of the operator (aircraft owner) which is normally the same that the one found in the <airline> tag in the file itself but not alway. For example Compass Airlines in Minneapolis, has the ICAO code CPZ but operates flights for both American Airlines (AAL) and Delta Airlines (DAL). In this scenario the traffic file will be stored as [[$FG_ROOT]]/AI/Traffic/C/CPZ.xml and will contain a series of aircrafts with airlines tags AAL and another series with tag DAL. Similarly, certain flights in the file will be numbered AAxxxx or DLxxxx.
The name of the file is the ICAO of the operator (aircraft owner) which is normally the same that the one found in the <airline> tag in the file itself but not alway. For example Compass Airlines in Minneapolis, has the ICAO code CPZ but operates flights for both American Airlines (AAL) and Delta Airlines (DAL). In this scenario the traffic file will be stored as [[$FG_ROOT]]/AI/Traffic/C/CPZ.xml and will contain a series of aircrafts with airlines tags AAL and another series with tag DAL. Similarly, certain flights in the file will be numbered AAxxxx or DLxxxx.
== Tools ==
The author of the traffic manager code has written some scripts, mainly for private use, that will allow one to input the flight data into a simple text format and then convert the resulting text file to XML. The most important of these scripts can be found in the FlightGear source package under scripts/perl/traffic/. https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/scripts/perl/traffic/
Creating AI traffic files this way is easy. First, you need to define the aircraft for each fleet (data taken from the June 2010 Malaysian project):
###HOMEP RegNo  TypeCode    Type          AirLine  Livery  Offset  Radius  FltType  Perf.Class    Heavy  Model
######## ###### ########### ############## ######## ####### ####### ####### ######## ############## ####### ######################################
AC WMKK  TF-ARN 747        747-2F6B      MAS      MAS    19      39      gate    jet_transport  true    Aircraft/747-400/747-400-Malaysian.xml
AC WMKK  TF-ARJ 747        747-2F6B      MAS      MAS    19      39      gate    jet_transport  true    Aircraft/747-400/747-400-Malaysian.xml
AC WMKK  TF-ATZ 747        747-2F6B      MAS      MAS    19      39      gate    jet_transport  true    Aircraft/747-400/747-400-Malaysian.xml
Then, you need to define all the flights according to the following layout:
########Flt.No      Flt.Rules Days    Departure      Arrival        FltLevel A/C type
#################### ######### ####### ############### ############### ######## ##########
# London Heathrow (EGLL; UTC+0100 ) to Kuala Lumpur (WMKK UTC+0800)
FLIGHT Malaysian0001 IFR      0123456 21:00  EGLL    09:25  WMKK    360      747MAS
FLIGHT Malaysian0002 IFR      0123456 15:40  WMKK    04:50  EGLL    360      747MAS
FLIGHT Malaysian0003 IFR      0123456 11:00  EGLL    23:25  WMKK    360      747MAS
FLIGHT Malaysian0004 IFR      0123456 09:05  WMKK    08:15  EGLL    360      747MAS
# Frankfurt (EDDF; UTC+0200 ) to Kuala Lumpur (WMKK UTC+0800)
FLIGHT Malaysian0005 IFR      0.2.456 10:30  EDDF    22:25  WMKK    360      777MAS
FLIGHT Malaysian0006 IFR      .1.3456 15:50  WMKK    04:25  EDDF    360      777MAS
Note that the flight information laid out above resembles that of a standard airline schedule table as close as possible, with a few known exceptions:
* Weekdays are in the range 0 to 6, but do follow standard airline conventions (0 = Monday; 6 is Sunday)
* All times in the table are in UTC; to convert from local time, as given in the airline table, subtract the airport in question's UTC offset.
** eg1: KJFK is UTC-0400 so a flight leaving at 20:00 local New York time is written as 00:00 UTC.
** eg2: EHAM is UTC+0100 so a flight leaving EHAM at 20:00 local Amsterdam time is written as 21:00 UTC.
* The last entry in each line (A/C type) should correspond to the ''combination'' of the '''TypeCode''' and '''Airline''' entries in the aircraft sections.
The resulting table can now easily be converted to XML output by running the conf2xml.pl (conv2xml.pl - check) script.
For Operating Systems of the Unix family, simply run conf2xml.pl from the directory where you unpacked the trafficdata.zip archive:
./conf2xml.pl
will give the output:
Writing to ADR.xml
Writing to AFL.xml
...
Writing to VLG.xml
Writing to VLM.xml
When the script encounters an error, it will stop prematurely.
The [[AI Schedule Manager]] is a GUI based application that uses a database backend to store and perform operations on flights, fleets and aircraft for airlines.


== Ground networks ==
== Ground networks ==
Line 287: Line 234:


Similarly to Terrain and Objects, Terrasync groundnets can be overridden by placing a personalized version in your custom scenery folder, using the same path structure: /Custom Scenery/Airports/[I]/[C]/[A]/[ICAO].groundnet.xml.
Similarly to Terrain and Objects, Terrasync groundnets can be overridden by placing a personalized version in your custom scenery folder, using the same path structure: /Custom Scenery/Airports/[I]/[C]/[A]/[ICAO].groundnet.xml.
Older versions of FlightGear store groundnets on your computer as $FG_SCENERY/Airports/[I]/[C]/[A]/[ICAO].groundnet.xml


Groundnets are not mandatory but, in absence of this routing information, AI Aircrafts cannot park anywhere; they will still try to stick to their schedule, appearing magically at the centre of the airport and taxiing directly to the runways’ thresholds, over grass, buildings and static objects, on time.
Groundnets are not mandatory but, in absence of this routing information, AI Aircrafts cannot park anywhere; they will still try to stick to their schedule, appearing magically at the centre of the airport and taxiing directly to the runways’ thresholds, over grass, buildings and static objects, on time.
Line 478: Line 423:
Reading: ‘Belts’ in green rotate clockwise, red rotate counter clockwise, segments in blue provide access in and out of the belts. The main belt along the northern runway includes bypasses allowing an aircraft to quickly reach the other side of the belt without having to travel the full belt.
Reading: ‘Belts’ in green rotate clockwise, red rotate counter clockwise, segments in blue provide access in and out of the belts. The main belt along the northern runway includes bypasses allowing an aircraft to quickly reach the other side of the belt without having to travel the full belt.


Using the diagram, you can pick any combination of one runway access (threshold or midway vacating point) and one parking position and realize you can always find a unique route from A to B and another unique route from B to A without ever coming across an intersection, always using merging lanes fromed by "Y" intersections of 3 routes.
Using the diagram, you can pick any combination of one runway access (threshold or midway vacating point) and one parking position and realize you can always find a unique route from A to B and another unique route from B to A without ever coming across an intersection, always using merging lanes formed by "Y" shaped intersections aggregating no more than 3 segments.
 


'''NEXT PARAGRAPH | TESTING | WORK IN PROGRESS'''




86

edits

Navigation menu