Downloadable X-Plane Flightplans

Users Local time
Today 1:12 PM
Good day. Sorry if I just post too many wishes, but as the platform of this website is so great, I find some things that can be even more improved.
Right now we can only download MSFS flight plans which is a pity for us X-Planers. Therefore I suggest the option of downloadable flight plans for this simulator (maybe reading the option in our profile, where we specify our simulator), and then that would get downloaded to our machine.
The syntax of the flight plan is very very simple, so let me hope that this won't be much trouble.
Here's an example flight plan from Girona LEGE to Innsbruck LOWI:
Code:
I
3 version
1
2
1 LEGE 22000 +41.900967 +2.760547 
3 BGR 12000 +41.947686 +3.208858 
11 DIBER 22000 +42.079722 +4.415 
11 SOSUR 22000 +42.560278 +4.9975000000000005 
11 ROTIS 22000 +42.966667 +5.5 
11 ADITA 22000 +43.228611 +5.828889 
11 TURIL 22000 +43.226667 +6.023889 
3 STP 22000 +43.219472 +6.601806 
11 TIXIT 22000 +43.346111 +6.841667 
11 RAPED 22000 +43.373333 +6.893333 
11 NARTI 22000 +43.549167 +7.23 
11 PIGOS 22000 +43.622222 +7.371111 
11 NOSTA 22000 +43.819444 +7.755278 
3 ABN 22000 +44.055944 +8.220972 
11 DORAV 22000 +44.326389 +8.852222 
3 GEN 22000 +44.424361 +9.082083 
11 MONEB 22000 +44.626389 +9.250556 
11 ROBAS 22000 +45.193611 +9.726111 
11 GIBLO 22000 +45.358333 +9.866667 
11 OSKOR 22000 +45.649167 +10.116667 
11 NESTI 22000 +45.803889 +10.426944 
11 TAGIP 22000 +45.933611 +10.69 
11 DIBAX 22000 +46.116389 +11.064167 
11 SUMIR 22000 +46.258889 +11.359722 
3 BZO 22000 +46.463861 +11.322194 
11 OGEPI 22000 +46.787222 +11.355556 
11 BRENO 8000 +46.98 +11.376667 
1 LOWI 8000 +47.260278 +11.343889

I suspect 11 is a FIX, 1 APT, and 3 is VOR.
So the format is:
Code:
<i>
</i>I
3 version
1
2
NAVAID_CODE     NAVAID_NAME     ALTITUDE   COORDINATES(in absolute format)
Cheers,
Enric

EDIT: forgot to say, the extension is .FMS.
 
Enric, there are never too many wishes and suggestions :)

I agree that x-plane flightplans should be available as well as the Microsoft plans.

I can however, see it being a lot of work to make planes for all of the flights currently in the database.

I wonder if the software Norbert uses (I can't recall the name of it to check) also exports plans in the x-plane format as well as .pln format.
 
Andrew Williams said:
Enric, there are never too many wishes and suggestions :)

I agree that x-plane flightplans should be available as well as the Microsoft plans.

I can however, see it being a lot of work to make planes for all of the flights currently in the database.

I wonder if the software Norbert uses (I can't recall the name of it to check) also exports plans in the x-plane format as well as .pln format.

So let's hope either his software will do this, or there's a script that will export them into .FMS format 8) .
Cheers,
 
Andrew Williams said:
Enric, there are never too many wishes and suggestions :)

Yes, that why we say: AIR-CHILD is your Virtual Airline.


I'm planning the shedule and the flightplans with Flight Operation Center (FOC). But I'm sorry, it only exported in FS.

But that dosen't mean that this is the end. Let me see what I can do.

Best regards
Norbert
 
Norbert Woeller said:
Yes, that why we say: AIR-CHILD is your Virtual Airline.
That is very true, because I only fly with this airline; that's the virtual airline i feel the most comfortable to fly for. I tried some more: FreeWorld, Clickair, but i don't like them as much as i do like this one.
Maybe creating a ruby script to convert the FS format would do, unfortunately I don't recall my former ruby scripting knowledge...
Cheers,
Enric
 
Enric Morales said:
That is very true, because I only fly with this airline; that's the virtual airline i feel the most comfortable to fly for.
Wait until you get your pay check :rofl:
Maybe creating a ruby script to convert the FS format would do,
unfortunately I don't recall my former ruby scripting knowledge...
Unfortunately I never had some :lol: (at least I know what it is, so don't worry)
But we had the same idea here, Enric. Actually our long term goal is to generate flight plans automatically from the company routes, using current AIRAC cycles from Navigraph. Because this is not as easy as I thought first, and because I couldn't work on that since May, it is another project for 2010. Once we have that running, though, it won't be a problem to generate FS and X-Plane plans at the same time.
Now, if we don't have the perfect solution available yet, we will have to use the second best. And that's a converter, as you suggested. I really can't tell how long it will take, but rather next month than next year. Will keep you updated.
 
Let me help you a bit: i saw a bookmarklet for rfinder, so when we go to rfinder.asalink.net/free we can just click the bookmarklet and that will create a FMS file. As you have seen, the syntax of the file is very very simple.
The code of this bookmarklet is:
Code:
javascript:function show() {var fmsplan = document.createElement('div');var fmsplan_form = document.createElement('form');var fmsplan_text = document.createElement('textarea');var fmsplan_name = document.createElement('input');fmsplan.id='fms';fmsplan.style.backgroundColor='#cacaca';fmsplan.style.padding='30px 0px 0px 30px';fmsplan.style.position='absolute';fmsplan.style.paddingBottom='20px';fmsplan.style.borderBottom='3px solid %235f5f5f';fmsplan.style.top='0px';fmsplan.style.left='0px';fmsplan.style.width='100%';fmsplan.style.height='28px';fmsplan.style.textAlign='center';fmsplan_form.style.backgroundColor='%23ececec';fmsplan_form.style.padding='20px 0px 30px 30px';fmsplan_form.action='http://x-plane.indexf1.hu/dofms.php';fmsplan_form.method='post';fmsplan_form.style.position='absolute';fmsplan_form.style.top='81px';fmsplan_form.style.left='0px';fmsplan_form.style.width='100%';var fmsplan_button = document.createElement('input');fmsplan_button.type='submit';fmsplan_button.value='Download FMS plan';fmsplan_form.appendChild(fmsplan_button);var fmsplan_p = document.createElement('span');fmsplan_p.innerHTML=' (without altitude setting) %3Cb%3Eor%3C/b%3E%3Cbr /%3E%3Cbr /%3ESet the altitudes per waypoint below in %3Cb%3Efeet%3C/b%3E:%3Cbr%3E%3Cspan style=\'color: %235f5f5f;font-size: 10px;\'%3ETip 1.: with the button labeled \'v\', you can copypaste altitude to the rest of the waypoints related to clicked one.%3Cbr /%3ETip 2.: You can check the departure and destination airport elevation by clicking on the ICAO code. (Opens in new browser window)%3C/span%3E%3Cbr /%3E%3Cbr /%3E';fmsplan_form.appendChild(fmsplan_p);fmsplan_text.name='fms';fmsplan_name.name = 'filename';fmsplan_text.style.display='none';fmsplan_name.style.display='none';fmsplan_text.style.width='600px';fmsplan_text.style.height='600px';document.body.appendChild(fmsplan);document.body.appendChild(fmsplan_form);fmsplan_form.appendChild(fmsplan_text);fmsplan_form.appendChild(fmsplan_name);var fp = document.getElementsByTagName('pre')[0].innerHTML;fp_rows = fp.split('\n');var fp_cols = new Array;var id = new Array;var freq = new Array;var trk = new Array;var dist = new Array;var lat = new Array;var lon = new Array;var name = new Array;for(i=0;i%3Cfp_rows.length;i++){fp_cols[i] = fp_rows[i].split(' ');for(k=0;k%3C50;k++){for(j=0;j%3Cfp_cols[i].length;j++){if(!isNaN(fp_cols[i][j])){fp_cols[i].splice(j,1);}}}}var fms = document.getElementById('fms');var str1='%3Cb%3E%3Ca style=\'font-size: 16px;\' href=http://x-plane.indexf1.hu/fms_en.html%3EX-Plane FMS Export v0.92%3C/a%3E%3C/b%3E%3Cbr /%3EIf you find any problems, bugs please report to %3Cb%3Ekaesgy %23 gmail %23 com%3C/b%3E.%3Cbr /%3E%3Cpre%3EI\n3 version\n1\n2\n';var str2='';for(i=1;i%3Cfp_rows.length;i++){for(x=0;x%3Cfp_cols[i].length;x++){estr2='';if(x==0) {if(fp_cols[i][0].length==3){estr2='3 ';} if(fp_cols[i][0].length==5){estr2 = '11 ';}if(fp_cols[i][0].length==4){ estr2 = '1 ';}if(fp_cols[i][0].length==2){ estr2 = '2 ';}}lat='';lon='';if(x==1){var lat1;var lat2;var lat3;var tlat1;var tlat2;var tlat3;tlat1 = fp_cols[i][1].split('°');tlat2 = tlat1[1].split('\'');tlat3 = tlat2[1].replace(/\'/,'');if(tlat1[0][0]=='N') { elojel='+'; } else {elojel='-'; };tmplat1=tlat1[0].replace(/N/,'');tmplat1=tmplat1.replace(/S/,'');lat_tizedes = Math.round((parseFloat(tlat2[0]*60)+parseFloat(tlat3))/60*100/60*10000);lat1=parseFloat(tmplat1)+parseFloat(lat_tizedes/1000000);lat=elojel+lat1;}if(x==2){var lon1;var lon2;var lon3;var tlon1;var tlon2;var tlon3;tlon1 = fp_cols[i][2].split('°');tlon2 = tlon1[1].split('\'');tlon3 = tlon2[1].replace(/\'/,'');if(tlon1[0][0]=='E') { Lelojel='+';} else {Lelojel='-';}tmplon1=tlon1[0].replace(/E/,'');tmplon1=tmplon1.replace(/W/,'');lon_tizedes = Math.round((parseFloat(tlon2[0]*60)+parseFloat(tlon3))/60*100/60*10000);lon1=parseFloat(tmplon1)+parseFloat(lon_tizedes/1000000);lon=Lelojel+lon1;}if(x==1) {str2+='0 '+estr2+lat+' ';var alt = document.createElement('input');var altdiv = document.createElement('div');var copyalt = document.createElement('input');alt.id='alt'+i;alt.value='0';alt.style.width='60px';alt.style.cssFloat='right';altdiv.style.width='170px';altdiv.style.height='22px';if(i==1) {altdiv.innerHTML='%3Cdiv style=\'float: left;\'%3E%3Cb%3E%3Ca target=\'_blank\' href=\'http://www.ivao.aero/db/ss/airport.asp?Id='+fp_cols[i][0]+'\'%3E'+fp_cols[i][0]+'%3C/a%3E%3C/b%3E%3C/div%3E';} else if (i==fp_rows.length-2){altdiv.innerHTML='%3Cdiv style=\'float: left;\'%3E%3Cb%3E%3Ca target=\'_blank\' href=\'http://www.ivao.aero/db/ss/airport.asp?Id='+fp_cols[i][0]+'\'%3E'+fp_cols[i][0]+'%3C/a%3E%3C/b%3E%3C/div%3E';} else {altdiv.innerHTML='%3Cdiv style=\'float: left;\'%3E%3Cb%3E'+fp_cols[i][0]+'%3C/b%3E%3C/div%3E';}z=i;y=z+1;copyalt.type='button';copyalt.style.cssFloat='right';copyalt.value='v';copyalt.id=z;copyalt.onclick=function() { zz=this.id;for(zzz=this.id;zzz%3Cfp_rows.length-1;zzz++) {document.getElementById('alt'+zzz).value=document.getElementById('alt'+zz).value;}};if(i!=fp_rows.length-2) {altdiv.appendChild(copyalt);}altdiv.appendChild(alt);fmsplan_form.appendChild(altdiv);} if(x==2) {str2+=estr2+lon+' ';}if(x!=1 && x!=2 && x!=3 && x!=4 && x!=5 && x!=6 && x!=7){str2+=estr2+fp_cols[i][x]+' ';}}str2 += '\n';}fms.innerHTML = str1+str2+'%3C/pre%3E';fmsplan.getElementsByTagName('pre')[0].style.border='1px solid %23000000';fmsplan.getElementsByTagName('pre')[0].style.backgroundColor='%23ffffff';fmsplan.getElementsByTagName('pre')[0].style.padding='5px';fmsplan_text.innerHTML = fmsplan.getElementsByTagName('pre')[0].innerHTML;fmsplan.getElementsByTagName('pre')[0].style.display='none';fmsplan_name.value=fp_cols[1][0]+'-'+fp_cols[fp_cols.length-2][0]+'.fms';var fmsplan_genalt = document.createElement('input');fmsplan_genalt.type='button';fmsplan_genalt.style.marginTop='10px';fmsplan_genalt.value='Download FMS plan';fmsplan_genalt.onclick=function() {genalt();};fmsplan_form.appendChild(fmsplan_genalt);for(u=0;u%3Cdocument.getElementsByTagName('input').length;u++){document.getElementsByTagName('input')[u].style.border='1px solid %235f5f5f';}for(u=0;u%3Cdocument.getElementsByTagName('a').length;u++){document.getElementsByTagName('a')[u].style.color='%2300005f';}function genalt() {var altfms_str = '';altfmsplan_rows=fmsplan_text.value.split('\n');for(v=1;v%3Caltfmsplan_rows.length-2;v++){vv=v-3;if(v%3E3) {altfms_str+=altfmsplan_rows[v].replace(/ 0 /,' '+document.getElementById('alt'+vv).value+' ')+'\n';}}fmsplan_text.innerHTML='I\n3 version\n1\n2\n'+altfms_str;fmsplan_form.submit();}}show();

I cannot read JavaScript but if I did, there must be the magic code somewhere there. The homepage of the bookmarklet, with some more info is at http://x-plane.hu/fms/.
You know, the FMS file doesn't need as much info as the Flight Simulator one; just the waypoint, and optional altitude, that's it.

Cheers,
Enric
 
Thank you, Enric. This could be helpful. I think the conversion itself is not so much of a problem. The only thing that bothers me is the altitude in the fms plans. We don't have that value in MSFS plans (apart from cruise level). On the other hand, if I look at your example plan in the top post, the altitude values seem strange to me:
LEGE 22000 ??
LOWI 8000 ??
Not quite what I would have expected :think: ;)
 
Hey Peter! Oh, don't worry, that was just an example, when I was trying out the bookmarklet which creates a quite strange interface, which can be tricky at first. The altitude, as I said before, can be zero perfectly, as it's optional. Norbert sent me a msg, that's pretty exciting, something's cooking here ;)
 
Back
Top Bottom