Jump to content
Sign in to follow this  
vcaptain747

A little more than a suggestion (Real world Snapshots)

Recommended Posts

Hi Nico,

Here I'm back again, but this time with a little more than a suggestion. I hope this will bring some excitement in an otherwise boring times! 😉

So, ever since we had the snapshot feature added, an old idea surfaced again: What if we could generate real time snapshots? I know this was discussed years ago (I couldn't find that old post), and I remember back then you were not keen to have PSXT interact with any external Web sources (for understandable reasons), suggesting that a separate tool should be created if anyone decided to give it a try and the discussion ended there.

With the snapshot feature introduced, I felt we came closer to achieve that , and today, I'm glad to present you  PSXT RealSnapGen , a free tool that does just that !  It runs beside PSXT and generates real-world  snapshot files ready to be loaded by PSXT. This takes the whole experience to new levels of realism never achieved before !  Without further bragging, let's take a deep dive into it:

PSXT-RSG.png

 

Nico, please excuse my lack of creativity when it comes to graphic design. I just went with the same layout as PSXT and I hope you won't mind it 🙂

 

How it works

RealSnapGen(RSG)  is a client-server architecture . The first phase of the snapshot generation happens on the server level, then the preliminary results  are downloaded, processed and enhanced by the RSG client.  The resulted snapshot is much more than a simple dump of departures and arrivals of a given airport, as the algorithm makes every possible check to make sure that any given aircraft is indeed on the ground and parked at a gate at the current time.   

Installation and configuration

Once installed and started for the first time, RSG will first ask you to load your AI_liveries.xml file. This will be needed for livery matching.

If you don't have one or don't know where it is (pretty sure you do😂 ), then follow these steps to generate one:

Spoiler

1. start PSXT and tick the server checkbox. 

2. close and start PSXT again

3.go to the liveries folder within you PSXT install folder. 

4. Copy the AI_liveries.xml somewhere else . This is important as PSXT will delete it once restarted with the server checkbox  unticked.

5. uncheck the "server" checkbox in PSXT ( if you don't need it of course)

6. go to RSG, press the "Load File" button and select the file you just generated.

At first launch , PSXT will create these folders:

1. %PSXT_path\parked_updates\snapgen_logs : This is where you can find relevant information about the snapshot file (missing liveries and missing gates ) .

2. %PSXT_path\parked_updates\gates_substitution : explained later in this post.

 

Now with the liveries file loaded, RSG is ready to do its magic:

1. Start your flight simulator and position your plane at any airport . you can start airborne as well.

2. a) Start RSG and make sure PSXT is not running. If the user aircraft is on the ground at an airport, then RSG will detect which airport you're in, and  automatically generate a snapshot file in your snapshot folder (in under 20 seconds in most cases). 

NOTE: RSG screen will freeze during the snapgen process. Just give it time and it will unfreeze once the snapshot is generated. 

2. b) if started airborne, then you have two options:

  • option1: go to Dest ICAO and specify your arrival airport (ex. EHAM). Once you get to 30nm from your destination, RSG will automatically generate the snapshot. PSXT kicks in at about 15 nm from dest, so it should find the snap ready to be loaded.
  • option2: Leave the dest empty. In this case, RSG will mimick PSXT algorithm and will try to guess your destination. However, that part of the code is still bogus and will need to be improved. In this config, it becomes a race condition between RSG and PSXT. RSG should be able to guess the dest and generate the snapshot before PSXT does. But right now, that's not always the case. 

3. Start PSXT. At this point you should have your airport populated with aircrafts parked at the exact positions/gates where the real one are  , as if you were there !

4. after takeoff, just leave RSG and PSXT running. when you approach your destination, real parked aircraft will be generated and loaded by PSXT.

That's the simplest way to use RSG. However, at certain airports,  further tweaking is needed for optimal the results. (for anyone: just jump to Gate substitution section if you don't care about all details)

 

How it works in Details

When a snapshot is needed, RSG contacts the server and requests a preliminary snapshot for the airport, and receives the following data: (this one is for EHAM generated on Feb 08,2022 at 1825zulu time

Spoiler

 


<?xml version="1.0"?><snaproot>
<meta>
	<info name="author" value="RealtSnapGen for PSXseeconTraffic" />
	<info name="version" value="1.0" />
	<info name="date" value="Feb 08, 2022" />
</meta>
<parameters>
	<parameter name="utc_time" value="1644344342" />
</parameters>
<snapshot>
	<parked id="B15"	status="Scheduled Dep"	callsign="IBE3063"	orig_dest="EHAM - LEMD"	rtid="3425864"	airline="IBE"	airlinename="Iberia"	type="A320"	reg="EC-MDK"	cargo="false"	event_time_LT="22-02-08 19:10"	gmt_hour="18" />
	<parked id="C16"	status="Scheduled Dep"	callsign="FIN1306"	orig_dest="EHAM - EFHK"	rtid="4595504"	airline="FIN"	airlinename="Finnair"	type="A319"	reg="OH-LVC"	cargo="false"	event_time_LT="22-02-08 19:30"	gmt_hour="18" />
	<parked id="D16"	status="Scheduled Dep"	callsign="CFE8456"	orig_dest="EHAM - EGLC"	rtid="4220171"	airline="CFE"	airlinename="British Airways"	type="E190"	reg="G-LCYO"	cargo="false"	event_time_LT="22-02-08 19:15"	gmt_hour="18" />
	<parked id=""	status="Scheduled Dep"	callsign="EZY2170"	orig_dest="EHAM - EGGW"	rtid="4458011"	airline="EJU"	airlinename="easyJet"	type="A319"	reg="OE-LKK"	cargo="false"	event_time_LT="22-02-08 19:25"	gmt_hour="18" />
	<parked id="G2"	status="Scheduled Dep"	callsign="SXS945"	orig_dest="EHAM - LTBJ"	rtid="4967911"	airline="SXS"	airlinename="SunExpress"	type="B738"	reg="TC-SOG"	cargo="false"		event_time_LT="22-02-08 19:50"	gmt_hour="18" />
	<parked id="D18"	status="Scheduled Dep"	callsign="ROT364"	orig_dest="EHAM - LROP"	rtid="4851300"	airline="ROT"	airlinename="Tarom"	type="A318"	reg="YR-ASD"	cargo="false"		event_time_LT="22-02-08 20:00"	gmt_hour="19" />
	<parked id=""	status="Scheduled Dep"	callsign="EZY5108"	orig_dest="EHAM - EDDB"	rtid="4456924"	airline="EJU"	airlinename="easyJet (Berlin Livery)"	type="A320"	reg="OE-IZQ"	cargo="false"	event_time_LT="22-02-08 20:05"	gmt_hour="19" />
	<parked id="G4"	status="Scheduled Dep"	callsign="RAM681"	orig_dest="EHAM - GMMW"	rtid="131186"	airline="RAM"	airlinename="Royal Air Maroc"	type="B738"	reg="CN-ROL"	cargo="false"		event_time_LT="22-02-08 20:15"	gmt_hour="19" />
	<parked id="B16"	status="Scheduled Dep"	callsign="KLC1501"	orig_dest="EHAM - LEVC"	rtid="4738944"	airline="KLM"	airlinename="KLM (SkyTeam Livery)"	type="E190"	reg="PH-EZX"	cargo="false"	event_time_LT="22-02-08 20:35"	gmt_hour="19" />
	<parked id="D6"	status="Scheduled Dep"	callsign="KLC1899"	orig_dest="EHAM - LYBE"	rtid="4738943"	airline="KLM"	airlinename="KLM"	type="E190"	reg="PH-EZW"	cargo="false"	event_time_LT="22-02-08 20:35"	gmt_hour="19" />
	<parked id="B2"	status="Scheduled Dep"	callsign="KLC1263"	orig_dest="EHAM - LFMN"	rtid="4741140"	airline="KLM"	airlinename="KLM"	type="E75L"	reg="PH-EXT"	cargo="false"	event_time_LT="22-02-08 20:35"	gmt_hour="19" />
	<parked id="B32"	status="Scheduled Dep"	callsign="KLC1309"	orig_dest="EHAM - LFBO"	rtid="4741238"	airline="KLM"	airlinename="KLM"	type="E75L"	reg="PH-EXZ"	cargo="false"	event_time_LT="22-02-08 20:35"	gmt_hour="19" />
	<parked id="E4"	status="Scheduled Dep"	callsign="KLM1033"	orig_dest="EHAM - EGLL"	rtid="4736344"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BGA"	cargo="false"	event_time_LT="22-02-08 20:35"	gmt_hour="19" />
	<parked id="D66"	status="Scheduled Dep"	callsign="KLM1659"	orig_dest="EHAM - LIPZ"	rtid="4738233"	airline="KLM"	airlinename="KLM"	type="B737"	reg="PH-BGT"	cargo="false"	event_time_LT="22-02-08 20:35"	gmt_hour="19" />
	<parked id="B36"	status="Scheduled Dep"	callsign="KLC1163"	orig_dest="EHAM - ESGG"	rtid="4738131"	airline="KLM"	airlinename="KLM"	type="E190"	reg="PH-EZO"	cargo="false"	event_time_LT="22-02-08 20:50"	gmt_hour="19" />
	<parked id="C15"	status="Scheduled Dep"	callsign="KLM1789"	orig_dest="EHAM - EDDH"	rtid="4736349"	airline="KLM"	airlinename="KLM"	type="B737"	reg="PH-BGF"	cargo="false"	event_time_LT="22-02-08 20:40"	gmt_hour="19" />
	<parked id="9"	status="Scheduled Dep"	callsign="KLM905"	orig_dest="EHAM - UUEE"	rtid="4738839"	airline="KLM"	airlinename="KLM"	type="B737"	reg="PH-BGX"	cargo="false"	event_time_LT="22-02-08 20:45"	gmt_hour="19" />
	<parked id="D82"	status="Scheduled Dep"	callsign="KLM1707"	orig_dest="EHAM - LEMD"	rtid="4738840"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BCB"	cargo="false"	event_time_LT="22-02-08 20:45"	gmt_hour="19" />
	<parked id="D62"	status="Scheduled Dep"	callsign="KLM1581"	orig_dest="EHAM - LGAV"	rtid="4737936"	airline="KLM"	airlinename="KLM"	type="B737"	reg="PH-BGI"	cargo="false"	event_time_LT="22-02-08 20:55"	gmt_hour="19" />
	<parked id="C14"	status="Scheduled Dep"	callsign="KLM1681"	orig_dest="EHAM - LEBL"	rtid="4736345"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BGB"	cargo="false"	event_time_LT="22-02-08 20:55"	gmt_hour="19" />
	<parked id="B35"	status="Scheduled Dep"	callsign="KLM1969"	orig_dest="EHAM - LSZH"	rtid="4743767"	airline="KLM"	airlinename="KLM"	type="E295"	reg="PH-NXA"	cargo="false"	event_time_LT="22-02-08 21:00"	gmt_hour="20" />
	<parked id="B30"	status="Scheduled Dep"	callsign="KLC1193"	orig_dest="EHAM - ENBR"	rtid="4740238"	airline="KLM"	airlinename="KLM"	type="E75L"	reg="PH-EXL"	cargo="false"	event_time_LT="22-02-08 21:10"	gmt_hour="20" />
	<parked id="D74"	status="Scheduled Dep"	callsign="KLM1139"	orig_dest="EHAM - EKCH"	rtid="4736342"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BXY"	cargo="false"	event_time_LT="22-02-08 21:10"	gmt_hour="20" />
	<parked id="B28"	status="Scheduled Dep"	callsign="KLC1419"	orig_dest="EHAM - LFLL"	rtid="4738243"	airline="KLM"	airlinename="KLM"	type="E190"	reg="PH-EZS"	cargo="false"	event_time_LT="22-02-08 21:20"	gmt_hour="20" />
	<parked id="C18"	status="Scheduled Dep"	callsign="KLM1637"	orig_dest="EHAM - LIMC"	rtid="4735282"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BXC"	cargo="false"	event_time_LT="22-02-08 21:15"	gmt_hour="20" />
	<parked id="F9"	status="Scheduled Dep"	callsign="KLM701"	orig_dest="EHAM - SAEZ"	rtid="4739909"	airline="KLM"	airlinename="KLM"	type="B789"	reg="PH-BHM"	cargo="false"	event_time_LT="22-02-08 21:20"	gmt_hour="20" />
	<parked id="E5"	status="Scheduled Dep"	callsign="KLM939"	orig_dest="EHAM - EIDW"	rtid="4735330"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BXI"	cargo="false"	event_time_LT="22-02-08 21:25"	gmt_hour="20" />
	<parked id="D53"	status="Scheduled Dep"	callsign="KLM1369"	orig_dest="EHAM - EPWA"	rtid="4737938"	airline="KLM"	airlinename="KLM"	type="B737"	reg="PH-BGL"	cargo="false"	event_time_LT="22-02-08 21:30"	gmt_hour="20" />
	<parked id="C6"	status="Scheduled Dep"	callsign="KLM1349"	orig_dest="EHAM - EKBI"	rtid="4735281"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BXB"	cargo="false"	event_time_LT="22-02-08 21:40"	gmt_hour="20" />
	<parked id="D28"	status="Scheduled Dep"	callsign="KLC965"	orig_dest="EHAM - EGNT"	rtid="4739173"	airline="KLM"	airlinename="KLM"	type="E190"	reg="PH-EZZ"	cargo="false"	event_time_LT="22-02-08 21:55"	gmt_hour="20" />
	<parked id="F6"	status="Scheduled Dep"	callsign="AMX26"	orig_dest="EHAM - MMMX"	rtid="854480"	airline="AMX"	airlinename="Aeromexico (Quetzalcoatl Livery)"	type="B789"	reg="XA-ADL"	cargo="false"	event_time_LT="22-02-08 22:35"	gmt_hour="21" />
	<parked id="C10"	status="Scheduled Dep"	callsign="TRA6331"	orig_dest="EHAM - LEVC"	rtid="4739363"	airline="TRA"	airlinename="Transavia"	type="B738"	reg="PH-HSM"	cargo="false"	event_time_LT="22-02-09 06:40"	gmt_hour="05" />
	<parked id="C11"	status="Scheduled Dep"	callsign="TRA6115"	orig_dest="EHAM - LEMG"	rtid="4739081"	airline="TRA"	airlinename="Transavia (Peter Pan Vakantieclub Livery)"	type="B738"	reg="PH-HSI"	cargo="false"	event_time_LT="22-02-09 06:50"	gmt_hour="05" />
	<parked id="A08"	status="Landed"	callsign="KLM74F"	orig_dest="EGNM - EHAM"	rtid="4740084"	airline="KLM"	airlinename="KLM"	type="E75L"	reg="PH-EXJ"	cargo="false"	event_time_LT="22-02-08 19:00"	gmt_hour="18" />
	<parked id="A04"	status="Landed"	callsign="KLM90K"	orig_dest="ELLX - EHAM"	rtid="4739828"	airline="KLM"	airlinename="KLM"	type="E75L"	reg="PH-EXG"	cargo="false"	event_time_LT="22-02-08 19:11"	gmt_hour="18" />
	<parked id="E06"	status="Landed"	callsign="KLM1614"	orig_dest="LTFM - EHAM"	rtid="4738788"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-HSD"	cargo="false"	event_time_LT="22-02-08 19:17"	gmt_hour="18" />
	<parked id="C05"	status="Landed"	callsign="KLM54M"	orig_dest="LSGG - EHAM"	rtid="4738231"	airline="KLM"	airlinename="KLM"	type="B737"	reg="PH-BGQ"	cargo="false"	event_time_LT="22-02-08 18:42"	gmt_hour="17" />
	<parked id=""	status="Landed"	callsign="EJU91XA"	orig_dest="LOWW - EHAM"	rtid="4457858"	airline="EJU"	airlinename="easyJet"	type="A319"	reg="OE-LKF"	cargo="false"	event_time_LT="22-02-08 18:55"	gmt_hour="17" />
	<parked id="C13"	status="Landed"	callsign="KLM30M"	orig_dest="EKCH - EHAM"	rtid="4735334"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BXN"	cargo="false"	event_time_LT="22-02-08 18:23"	gmt_hour="17" />
	<parked id=""	status="Landed"	callsign="KAL925"	orig_dest="RKSI - EHAM"	rtid="7454759"	airline="KAL"	airlinename="Korean Air"	type="A333"	reg="HL8027"	cargo="false"	event_time_LT="22-02-08 18:01"	gmt_hour="17" />
	<parked id="E04"	status="Landed"	callsign="KLM1386"	orig_dest="UKBB - EHAM"	rtid="4735372"	airline="KLM"	airlinename="KLM"	type="B739"	reg="PH-BXR"	cargo="false"	event_time_LT="22-02-08 15:39"	gmt_hour="14" />
	<parked id="D87"	status="Landed"	callsign="KLM20M"	orig_dest="ESSA - EHAM"	rtid="4735331"	airline="KLM"	airlinename="KLM"	type="B738"	reg="PH-BXK"	cargo="false"	event_time_LT="22-02-08 15:21"	gmt_hour="14" />
	<parked id="A09"	status="Landed"	callsign="KLM48X"	orig_dest="LYBE - EHAM"	rtid="4739199"	airline="KLM"	airlinename="KLM"	type="E190"	reg="PH-EXA"	cargo="false"	event_time_LT="22-02-08 14:50"	gmt_hour="13" />
	<parked id="E07"	status="Landed"	callsign="KLM142"	orig_dest="MMMX - EHAM"	rtid="4741000"	airline="KLM"	airlinename="KLM"	type="B789"	reg="PH-BHP"	cargo="false"	event_time_LT="22-02-08 14:05"	gmt_hour="13" />
	<parked id=""	status="Landed"	callsign="GTI8157"	orig_dest="UCFM - EHAM"	rtid="10879920"	airline="GTI"	airlinename="Atlas Air"	type="B744"	reg="N487MC"	cargo="true"	event_time_LT="22-02-08 15:47"	gmt_hour="14" />
	<parked id=""	status="Landed"	callsign="GAC005P"	orig_dest="LIPX - EHAM"	rtid="4458436"	airline="GAC"	airlinename="GlobeAir"	type="C510"	reg="OE-FNP"	cargo="false"	event_time_LT="22-02-08 14:20"	gmt_hour="13" />
	<parked id="C09"	status="Landed"	callsign="KLM40B"	orig_dest="LIPZ - EHAM"	rtid="4735398"	airline="KLM"	airlinename="KLM"	type="B739"	reg="PH-BXT"	cargo="false"	event_time_LT="22-02-08 13:47"	gmt_hour="12" />
</snapshot></snaproot>

 

 

 

Few things to take from the snapshot above:

  • at this point, we have detailed flight information (including valid acft Hex Codes) for each scheduled flight and landed flight that are confirmed to be on the ground and parked somewhere at the time the snap was taken (not taxiing or pushing back or in the air either in approach or taken off):
    • if scheduled: then we have the scheduled dep local time & destination icao
    • if arrived flight: then we have the arrival local time and origin icao
  • No livery information is provided by the server. This will be done by RSG based on your AI_liveries.xml file that you loaded during the first start. 
  • For some flights, the gate information is not available. This is where the old good LEARNER will come into play! For some other airports , all flights will be missing gate information. Again the learner will play its role and help decide where to place them.
  • Gate designation from the source will not always match what we have in our airport scenery files . For example , KLM1150 arrived at gate A04, but in the scenery file, the gate is referred to as A4. To resolve gate number related issues (and others case explained bellow), RSG will use a Gate Substitution logic.   

 

Back to details, upon receiving the results from the server , RSG will then do the following steps:

  • Step 1:  Liveries Matching: This is basically the same process you're all familiar with in PSXT. Currently the process happens in three phases:
    • Exact match first try to match by Airline + type + reg 
    • then if no exact match, then match by Airline + type 
      • if cargo flight (the server can tell if it is), then check if cargo livery exist. if not use same airline PAX livery
    • For remaining flights with no exact match or company match, then simply pick a random livery based on the aircraft type

 

  • Step 2: Gates  substitution 

Here RSG will process gate numbers from the source to make sure that they do exist in our scenery file. The gate substitution logic uses the user inputs to apply necessary changes to the gate number. Here is how to use it to handle different cases:

  • Case 1:  gate from the source is this format:  A04  but in scenery file its id is A4 without the 0 :
    • create a file named <airport_icao>.txt  (replace airport_icao with the real ICAO) in \parked_updates\snapshots\gates_substitution folder in your PSXT install path
    • in our case, we are creating EHAM.txt
    • for any gate number that starts with a letter followed by a 0 , we want RSG to remove the 0  . For this we need to add this line to EHAM.txt and save:
      • *0*, 
  • Case 2:  in certain airports, the same gate can have 2 different designators. Take Toronto (CYYZ) for example, gate 174 is the same as E74.  So if you check the satellite imagery of the airport, you will see 174 printed on the tarmac , but in your boarding pass or if you check on flightaware   , you will see E74. In Flytampa scenery , this gate is referred to as 174.
    • to fix this, open CYYZ.txt in gates_sub folder and  add this line:
      • E74,174 
    • so here we are telling RSG to change any gate number that matches E74 to 174 . this way , PSXT will be able to load that aircraft at the correct position. 
    • you can add as many line as needed :
      • E74,174
      • E75,175
      • E76,176
      • etc...
    • Case 3: Some airport gates can have multiple parking configurations. Example: gate A63 in EDDF  have A63A and A63B , but no scenery (stock or addon) will have such gates. In this case, we are using Aerosoft's EDDF and we know for a fact that there is no such gates. 
      • In this case, we need to tell RSG to remove any A or B located at the end of the gate designation. We create or open EDDF.txt if it exists already and append this line:
        • *A,
        • *B,
      •  explanation:
        • *A,  : for each gate number ending with an A, replace the A with nothing. if we wanted to replace it with a C for example, then the rule would be: *A,C
    • Case 4: this similar to case 2, but we solve it in a different way. In Montreal (CYUL) for example, the real gate numbers (those printed on the tarmac and on the charts) are like  from 1 to 98 or close. However, if you check on flightaware or inside the airport terminal, you will see the following . from 1 to 70 are referred to as A1 - A70 (domestic and international) and from 70 to 98 are referred to as C70 - C98 (US departures). However, in the scenery file generated by PSXT, these are marked as g1, g2, ...g98
      • in this case we need to add these lines:
        • A*,g
        • C*,g 
      •  explanation:
        • A*,g  : for each gate starting with an "A", replace the A with "g". If we wanted to simply remove the A, then the rule would be: A*,
    • One lase case: if you want to apply changes to the  all gate numbers by default. Example , the data from the server mention gates 1,2,3,4,5 but in scenery they are all  g1,g2,g3,....
      • in this case we add the following line:
        • XX,g
      •   XX means any gate. the  g will be placed in the beginning of the gate number.

Here is what the file might look like at the end:

E74,174
*0*,
*A,
*C,
E*,g
B*,g
XX,g

 

  • Step3 : Gates assignment  for flights with no Gate info

During this step, RSG will use available knowledge from the LEARNER to guess and assign gate to flights without  gate. Here is how it goes:

1.   check if a parked_updates file exists for the airport . if yes then it parses the parked positions section and try to find where flights with same airline and type usually park. if multiple options are available, then it takes the one closest to the gmt_hour attribute of the scheduled or arrived flight.

2. If no parking options are found, then it check the AFCAD information to find a possible parking spot for the flight based on its airline (wingspans are not considered for now . will change in a future update)At the end of the process, the snapshot file will look like the following (CYUL):

Spoiler



<?xml version="1.0"?>

  <meta>
    <info name="author" value="RealtSnapGen for PSXseeconTraffic" />
    <info name="version" value="1.0" />
    <info name="date" value="Feb 08, 2022" />
  </meta>
  <parameters>
    <parameter name="utc_time" value="1644344342" />
  </parameters>
  <snapshot>
    <parked id="B15" status="Scheduled Dep" callsign="IBE3063" orig_dest="EHAM - LEMD" rtid="3425864" airline="IBE" airlinename="Iberia" type="A320" reg="EC-MDK" cargo="false" event_time_LT="22-02-08 19:10" gmt_hour="18" title="FLAi_FAIB_A320CFM_IBE-Iberia NC" matchRmk="Matched AIR TYPE livery" />
    <parked id="C16" status="Scheduled Dep" callsign="FIN1306" orig_dest="EHAM - EFHK" rtid="4595504" airline="FIN" airlinename="Finnair" type="A319" reg="OH-LVC" cargo="false" event_time_LT="22-02-08 19:30" gmt_hour="18" title="FLAi_FAIB_A319CFM_FIN-Finnair" matchRmk="Matched AIR TYPE livery" />
    <parked id="D16" status="Scheduled Dep" callsign="CFE8456" orig_dest="EHAM - EGLC" rtid="4220171" airline="CFE" airlinename="British Airways" type="E190" reg="G-LCYO" cargo="false" event_time_LT="22-02-08 19:15" gmt_hour="18" title="FLAi_AIA_E190_CFE-Cityflyer" matchRmk="Matched AIR TYPE livery" />
    <parked id="H1" status="Scheduled Dep" callsign="EZY2170" orig_dest="EHAM - EGGW" rtid="4458011" airline="EJU" airlinename="easyJet" type="A319" reg="OE-LKK" cargo="false" event_time_LT="22-02-08 19:25" gmt_hour="18" title="FLAi_FAIB_A319CFM_AAF-Aigle Azur" matchRmk="No company livery found" rmk="GATE AFCAD-BASED" />
    <parked id="G2" status="Scheduled Dep" callsign="SXS945" orig_dest="EHAM - LTBJ" rtid="4967911" airline="SXS" airlinename="SunExpress" type="B738" reg="TC-SOG" cargo="false" event_time_LT="22-02-08 19:50" gmt_hour="18" title="FLAi_FAIB_B738_SXS-Sun Express WL" matchRmk="Matched AIR TYPE livery" />
    <parked id="D18" status="Scheduled Dep" callsign="ROT364" orig_dest="EHAM - LROP" rtid="4851300" airline="ROT" airlinename="Tarom" type="A318" reg="YR-ASD" cargo="false" event_time_LT="22-02-08 20:00" gmt_hour="19" title="FLAi_FAIB_A318CFM_ROT-Tarom" matchRmk="Matched AIR TYPE livery" />
    <parked id="H2" status="Scheduled Dep" callsign="EZY5108" orig_dest="EHAM - EDDB" rtid="4456924" airline="EJU" airlinename="easyJet (Berlin Livery)" type="A320" reg="OE-IZQ" cargo="false" event_time_LT="22-02-08 20:05" gmt_hour="19" title="FLAi_FAIB_A320CFM_AAF-Aigle NC" matchRmk="No company livery found" rmk="GATE AFCAD-BASED" />
    <parked id="G4" status="Scheduled Dep" callsign="RAM681" orig_dest="EHAM - GMMW" rtid="131186" airline="RAM" airlinename="Royal Air Maroc" type="B738" reg="CN-ROL" cargo="false" event_time_LT="22-02-08 20:15" gmt_hour="19" title="FLAi_FAIB_B738_RAM-Royal Air Maroc" matchRmk="Matched AIR TYPE livery" />
    <parked id="B16" status="Scheduled Dep" callsign="KLC1501" orig_dest="EHAM - LEVC" rtid="4738944" airline="KLM" airlinename="KLM (SkyTeam Livery)" type="E190" reg="PH-EZX" cargo="false" event_time_LT="22-02-08 20:35" gmt_hour="19" title="FLAi_AIA_E190_AAL-American" matchRmk="No company livery found" />
    <parked id="D6" status="Scheduled Dep" callsign="KLC1899" orig_dest="EHAM - LYBE" rtid="4738943" airline="KLM" airlinename="KLM" type="E190" reg="PH-EZW" cargo="false" event_time_LT="22-02-08 20:35" gmt_hour="19" title="FLAi_AIA_E190_AAL-American" matchRmk="No company livery found" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="B2" status="Scheduled Dep" callsign="KLC1263" orig_dest="EHAM - LFMN" rtid="4741140" airline="KLM" airlinename="KLM" type="E75L" reg="PH-EXT" cargo="false" event_time_LT="22-02-08 20:35" gmt_hour="19" title="FLAi_RAI_E75L_KLC-Cityhopper" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="B32" status="Scheduled Dep" callsign="KLC1309" orig_dest="EHAM - LFBO" rtid="4741238" airline="KLM" airlinename="KLM" type="E75L" reg="PH-EXZ" cargo="false" event_time_LT="22-02-08 20:35" gmt_hour="19" title="FLAi_RAI_E75L_KLC-Cityhopper" matchRmk="Matched AIR TYPE livery" />
    <parked id="E4" status="Scheduled Dep" callsign="KLM1033" orig_dest="EHAM - EGLL" rtid="4736344" airline="KLM" airlinename="KLM" type="B738" reg="PH-BGA" cargo="false" event_time_LT="22-02-08 20:35" gmt_hour="19" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="D66" status="Scheduled Dep" callsign="KLM1659" orig_dest="EHAM - LIPZ" rtid="4738233" airline="KLM" airlinename="KLM" type="B737" reg="PH-BGT" cargo="false" event_time_LT="22-02-08 20:35" gmt_hour="19" title="FLAi_FAIB_B737_KLM" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="B36" status="Scheduled Dep" callsign="KLC1163" orig_dest="EHAM - ESGG" rtid="4738131" airline="KLM" airlinename="KLM" type="E190" reg="PH-EZO" cargo="false" event_time_LT="22-02-08 20:50" gmt_hour="19" title="FLAi_AIA_E190_AAL-American" matchRmk="No company livery found" />
    <parked id="C15" status="Scheduled Dep" callsign="KLM1789" orig_dest="EHAM - EDDH" rtid="4736349" airline="KLM" airlinename="KLM" type="B737" reg="PH-BGF" cargo="false" event_time_LT="22-02-08 20:40" gmt_hour="19" title="FLAi_FAIB_B737_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="9" status="Scheduled Dep" callsign="KLM905" orig_dest="EHAM - UUEE" rtid="4738839" airline="KLM" airlinename="KLM" type="B737" reg="PH-BGX" cargo="false" event_time_LT="22-02-08 20:45" gmt_hour="19" title="FLAi_FAIB_B737_KLM" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="D82" status="Scheduled Dep" callsign="KLM1707" orig_dest="EHAM - LEMD" rtid="4738840" airline="KLM" airlinename="KLM" type="B738" reg="PH-BCB" cargo="false" event_time_LT="22-02-08 20:45" gmt_hour="19" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="D62" status="Scheduled Dep" callsign="KLM1581" orig_dest="EHAM - LGAV" rtid="4737936" airline="KLM" airlinename="KLM" type="B737" reg="PH-BGI" cargo="false" event_time_LT="22-02-08 20:55" gmt_hour="19" title="FLAi_FAIB_B737_KLM" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="C14" status="Scheduled Dep" callsign="KLM1681" orig_dest="EHAM - LEBL" rtid="4736345" airline="KLM" airlinename="KLM" type="B738" reg="PH-BGB" cargo="false" event_time_LT="22-02-08 20:55" gmt_hour="19" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="B35" status="Scheduled Dep" callsign="KLM1969" orig_dest="EHAM - LSZH" rtid="4743767" airline="KLM" airlinename="KLM" type="E295" reg="PH-NXA" cargo="false" event_time_LT="22-02-08 21:00" gmt_hour="20" />
    <parked id="B3" status="Scheduled Dep" callsign="KLC1193" orig_dest="EHAM - ENBR" rtid="4740238" airline="KLM" airlinename="KLM" type="E75L" reg="PH-EXL" cargo="false" event_time_LT="22-02-08 21:10" gmt_hour="20" title="FLAi_RAI_E75L_KLC-Cityhopper" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="D74" status="Scheduled Dep" callsign="KLM1139" orig_dest="EHAM - EKCH" rtid="4736342" airline="KLM" airlinename="KLM" type="B738" reg="PH-BXY" cargo="false" event_time_LT="22-02-08 21:10" gmt_hour="20" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="B28" status="Scheduled Dep" callsign="KLC1419" orig_dest="EHAM - LFLL" rtid="4738243" airline="KLM" airlinename="KLM" type="E190" reg="PH-EZS" cargo="false" event_time_LT="22-02-08 21:20" gmt_hour="20" title="FLAi_AIA_E190_AAL-American" matchRmk="No company livery found" />
    <parked id="C18" status="Scheduled Dep" callsign="KLM1637" orig_dest="EHAM - LIMC" rtid="4735282" airline="KLM" airlinename="KLM" type="B738" reg="PH-BXC" cargo="false" event_time_LT="22-02-08 21:15" gmt_hour="20" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="F9" status="Scheduled Dep" callsign="KLM701" orig_dest="EHAM - SAEZ" rtid="4739909" airline="KLM" airlinename="KLM" type="B789" reg="PH-BHM" cargo="false" event_time_LT="22-02-08 21:20" gmt_hour="20" title="FLAi_FSPXAI_B789_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="E5" status="Scheduled Dep" callsign="KLM939" orig_dest="EHAM - EIDW" rtid="4735330" airline="KLM" airlinename="KLM" type="B738" reg="PH-BXI" cargo="false" event_time_LT="22-02-08 21:25" gmt_hour="20" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="D53" status="Scheduled Dep" callsign="KLM1369" orig_dest="EHAM - EPWA" rtid="4737938" airline="KLM" airlinename="KLM" type="B737" reg="PH-BGL" cargo="false" event_time_LT="22-02-08 21:30" gmt_hour="20" title="FLAi_FAIB_B737_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="C6" status="Scheduled Dep" callsign="KLM1349" orig_dest="EHAM - EKBI" rtid="4735281" airline="KLM" airlinename="KLM" type="B738" reg="PH-BXB" cargo="false" event_time_LT="22-02-08 21:40" gmt_hour="20" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="D28" status="Scheduled Dep" callsign="KLC965" orig_dest="EHAM - EGNT" rtid="4739173" airline="KLM" airlinename="KLM" type="E190" reg="PH-EZZ" cargo="false" event_time_LT="22-02-08 21:55" gmt_hour="20" title="FLAi_AIA_E190_AAL-American" matchRmk="No company livery found" />
    <parked id="F6" status="Scheduled Dep" callsign="AMX26" orig_dest="EHAM - MMMX" rtid="854480" airline="AMX" airlinename="Aeromexico (Quetzalcoatl Livery)" type="B789" reg="XA-ADL" cargo="false" event_time_LT="22-02-08 22:35" gmt_hour="21" title="FLAi_FSPXAI_B789_AMX-Aeromexico" matchRmk="Matched AIR TYPE livery" />
    <parked id="C1" status="Scheduled Dep" callsign="TRA6331" orig_dest="EHAM - LEVC" rtid="4739363" airline="TRA" airlinename="Transavia" type="B738" reg="PH-HSM" cargo="false" event_time_LT="22-02-09 06:40" gmt_hour="05" title="FLAi_FAIB_B738_TRA-Transavia" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="C11" status="Scheduled Dep" callsign="TRA6115" orig_dest="EHAM - LEMG" rtid="4739081" airline="TRA" airlinename="Transavia (Peter Pan Vakantieclub Livery)" type="B738" reg="PH-HSI" cargo="false" event_time_LT="22-02-09 06:50" gmt_hour="05" title="FLAi_FAIB_B738_TRA-Transavia" matchRmk="Matched AIR TYPE livery" />
    <parked id="A8" status="Landed" callsign="KLM74F" orig_dest="EGNM - EHAM" rtid="4740084" airline="KLM" airlinename="KLM" type="E75L" reg="PH-EXJ" cargo="false" event_time_LT="22-02-08 19:00" gmt_hour="18" title="FLAi_RAI_E75L_KLC-Cityhopper" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="A4" status="Landed" callsign="KLM90K" orig_dest="ELLX - EHAM" rtid="4739828" airline="KLM" airlinename="KLM" type="E75L" reg="PH-EXG" cargo="false" event_time_LT="22-02-08 19:11" gmt_hour="18" title="FLAi_RAI_E75L_KLC-Cityhopper" matchRmk="Matched By REG" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="E6" status="Landed" callsign="KLM1614" orig_dest="LTFM - EHAM" rtid="4738788" airline="KLM" airlinename="KLM" type="B738" reg="PH-HSD" cargo="false" event_time_LT="22-02-08 19:17" gmt_hour="18" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="C5" status="Landed" callsign="KLM54M" orig_dest="LSGG - EHAM" rtid="4738231" airline="KLM" airlinename="KLM" type="B737" reg="PH-BGQ" cargo="false" event_time_LT="22-02-08 18:42" gmt_hour="17" title="FLAi_FAIB_B737_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="H5" status="Landed" callsign="EJU91XA" orig_dest="LOWW - EHAM" rtid="4457858" airline="EJU" airlinename="easyJet" type="A319" reg="OE-LKF" cargo="false" event_time_LT="22-02-08 18:55" gmt_hour="17" title="FLAi_FAIB_A319CFM_AAF-Aigle Azur" matchRmk="No company livery found" rmk="GATE AFCAD-BASED" />
    <parked id="C13" status="Landed" callsign="KLM30M" orig_dest="EKCH - EHAM" rtid="4735334" airline="KLM" airlinename="KLM" type="B738" reg="PH-BXN" cargo="false" event_time_LT="22-02-08 18:23" gmt_hour="17" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="F4" status="Landed" callsign="KAL925" orig_dest="RKSI - EHAM" rtid="7454759" airline="KAL" airlinename="Korean Air" type="A333" reg="HL8027" cargo="false" event_time_LT="22-02-08 18:01" gmt_hour="17" title="FLAi_TFS_A330-300_PW_KAL-Korean" matchRmk="Matched AIR TYPE livery" rmk="GATE AFCAD-BASED" />
    <parked id="E4" status="Landed" callsign="KLM1386" orig_dest="UKBB - EHAM" rtid="4735372" airline="KLM" airlinename="KLM" type="B739" reg="PH-BXR" cargo="false" event_time_LT="22-02-08 15:39" gmt_hour="14" title="FLAi_FAIB_B739_KLM NC" matchRmk="Matched AIR TYPE livery" />
    <parked id="D87" status="Landed" callsign="KLM20M" orig_dest="ESSA - EHAM" rtid="4735331" airline="KLM" airlinename="KLM" type="B738" reg="PH-BXK" cargo="false" event_time_LT="22-02-08 15:21" gmt_hour="14" title="FLAi_FAIB_B738_KLM" matchRmk="Matched AIR TYPE livery" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="A9" status="Landed" callsign="KLM48X" orig_dest="LYBE - EHAM" rtid="4739199" airline="KLM" airlinename="KLM" type="E190" reg="PH-EXA" cargo="false" event_time_LT="22-02-08 14:50" gmt_hour="13" title="FLAi_AIA_E190_AAL-American" matchRmk="No company livery found" rmk="GATE NOT FOUND IN SCENERY" />
    <parked id="E7" status="Landed" callsign="KLM142" orig_dest="MMMX - EHAM" rtid="4741000" airline="KLM" airlinename="KLM" type="B789" reg="PH-BHP" cargo="false" event_time_LT="22-02-08 14:05" gmt_hour="13" title="FLAi_FSPXAI_B789_KLM" matchRmk="Matched AIR TYPE livery" />
    <parked id="S82" status="Landed" callsign="GTI8157" orig_dest="UCFM - EHAM" rtid="10879920" airline="GTI" airlinename="Atlas Air" type="B744" reg="N487MC" cargo="true" event_time_LT="22-02-08 15:47" gmt_hour="14" title="FLAi_FAIB_B744_AAR-Asiana" matchRmk="No company livery found" rmk="GATE AFCAD-BASED" />
    <parked id="" status="Landed" callsign="GAC005P" orig_dest="LIPX - EHAM" rtid="4458436" airline="GAC" airlinename="GlobeAir" type="C510" reg="OE-FNP" cargo="false" event_time_LT="22-02-08 14:20" gmt_hour="13" rmk="NO AFCAD INFO FOR COMPANY" />
    <parked id="C9" status="Landed" callsign="KLM40B" orig_dest="LIPZ - EHAM" rtid="4735398" airline="KLM" airlinename="KLM" type="B739" reg="PH-BXT" cargo="false" event_time_LT="22-02-08 13:47" gmt_hour="12" title="FLAi_FAIB_B739_KLM NC" matchRmk="Matched AIR TYPE livery" />
  </snapshot>

 

Two log files will be generated in this folder

 

PSXT_path\parked_updates\snapgen_logs\ :

  • missing liveries for the airport
  • missing gates in your scenery: this will help you to identify gate numbers discrepancies and fine-tune the substitution rules.

With this , you have the most accurate ground parking situation for any given airport you fly from or to!  

 

Additional Notes:

  • I do not own MSFS2020 just yet, so all tests were made with P3D. Please do your tests and let me know.
  • RSG works better with addon airports for obvious reasons
  • You might find inaccuracies (that you probably won't notice most of the time ) for a very limited number of flights, mainly arrivals. 
  • In some regions of the world and small airports, the gate information won't be available from the source, so the accuracy of the snapshot will depend on how rich is your parked_updates file
  •  Gates substitution can be done on the server. It just needs the file with the rules to be uploaded to the server. If someone is confident that he have a file with accurate rules for a specific scenery, he can share it and I will test it and have it uploaded to the server, so other users can take benefit of it
  • There is on additional "special" case for gates substitution. So far, I've encountered it only in CYUL  where the same gate is named differently depending it it's an arrival or departure flight.
    • Example:
      • ACA419 is scheduled to depart from Gate A19
      • the inbound flight is scheduled to arrive to Gate 19 , but basically it is the same gate. this applies for all gates in CYUL where gate starts with a letter when dep flight and no letter when arrival flight;
    • Why is this an issue? let take a look at this example to give you an idea about how things work first. 
      • let say ACA419 is scheduled to depart in 6 hours from now from gate A19. The server will do the following (among other checks):
        • Is there any flight departing from gate A19 between now and and ACA419 scheduled dep time
          • if yes, then ACA419 will not be parked since that gate is already occupied with an earlier departure
          • if no, then check if any scheduled arrival will park at gate A19 between now and ACA419 dep time
            • if yes, than ACA419 will not be parked since the arrival flight will claim that gate. 

Now , if the source indicates A19 as gate for ACA 419 and 19 for that arrival flight, then the server will consider ACA419 to be parked, since the arrival is claiming a different gate (A19 vs 19). To resolve this, I have the exact same  gate substitution logic happening at the server level for CYUL, so that all gates issues are sorted before the parking logic is applied. 

 

  • Suggested changes to PSXT

I did some tests and I confirm that PSXT works great with RSG . Here are few suggestions that would improve the whole experience:

1. Now that we have the callsign information for each flight in the snapshot, would it be possible to load them with their current callsigns instead of random ones?

2.Would it be possible to load them as "parked live" instead of "parked static" to "protect" parked aircrafts from the built-in randomness. I've noticed that after some time, the randomness kicks in and starts removing parked aircrafts. Or may be you can come up with a better idea how to handle the randomness when using RSG

3.Currently , when the snapshot is loaded, PSXT adds traffic from the parked_updates, thus conflicting with the RGS data. I'm sure you'll come up with a way to handle this better than any suggestion I might have 😉

4.  the "parked live" feature does a great job , especially with the data from RSG. However, as you know, aircrafts don't always switch on their  transponders at the gate and my appear far from their original gate.  What I noticed in such case , is that the aircraft remains parked, even though an aircraft with the same Hex Code has appeared as live traffic. Would it be possible to add duplicate Hex Code detection and remove parked ones when dups are detected? 

 

@Nico, I'm sending you the installer in a private message so you can do some tests and evaluate the tool yourself. If you like what you see, then you are at liberty to distribute it as part of the PSXT package.  If you want to have it integrated within PSXT , to avoid having seperate tools, then I can provide anything to to help with that if needed.

For everyone else , please keep patience. I like to do things right, and asking for Nico's approval of the tool is the right thing to do. He's the PSXT father after all 😉

 I'll finish this post with a disclaimer: I'm far from being a professional developer , so bugs are to be expected. And while I have some dev notions when it come to server side dev , this was my first time ever developing a desktop application. As a matter of fact, until few weeks ago, I thought Visual Studio was a video editing software... True story 😁.

Have a great day,

Amine.

  

 

Edited by kiek
  • Like 4

Share this post


Link to post
Share on other sites

Wow, what a post! See my response in P.M.

Share this post


Link to post
Share on other sites

Hi, very interesting. What has happened with your work, will it be possible to have a beta to test it in MSFS?

Edited by kiek

Eduardo Lee

(MROC)

Share this post


Link to post
Share on other sites
59 minutes ago, elee said:

Hi, very interesting. What has happened with your work

Thank you! As you might have guessed from other posts, some work is still needed to take advantage of the latest PSXT features, and have yet to sort out the release specifics with Nico.

59 minutes ago, elee said:

will it be possible to have a beta to test it in MSFS

I'll be glad to have you as a beta tester once I feel its ready to go for testing. 

Stay tuned 😉

PS: Can I ask you to unquote the original post please. It's already a mammoth post, no need to have it twice. Thanks. 

Edited by vcaptain747

Share this post


Link to post
Share on other sites

For some reason I don't have the option to unquote. 😔


Eduardo Lee

(MROC)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...