找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 19092|回复: 26

PMDG FSX 程序导航数据 码代码教程

  [复制链接]
发表于 2014-5-15 13:26:25 | 显示全部楼层 |阅读模式
本帖最后由 Leoneus 于 2014-5-15 17:27 编辑

PMDG FSX 程序导航数据 码代码教程

UAL4188
15MAY14


PMDG FSX 导航数据位于:
(主目录)/PMDG 目录下
机场及航路等数据文件位于(主目录)/PMDG/NavData
程序及机位等数据文件位于(主目录)/PMDG/SIDSTARS
本文所讲为SIDSTARS文件

SIDSTARS文件的名称为 (机场ICAO代码).txt
在编写该机场数据之前,其ICAO代码及及机场基本信息应首先在NavData的数个相应文件中录入。

初次编写SIDSTARS文件建议用原有SIDSTARS文件作为模板,以减少语法错误。

SIDSTAR文件的开头一般是数据版本版权等信息,以及一些补充说明,非数据的内容。在段首标记"//",机模不会读取该段信息。


数据的第一项是定位点信息,其包含于:
FIXES
... ...
ENDFIXES
之中。

定位点的位置确定主要是两种语法:

1. 坐标式 (经纬度)
格式示例:
FIX ***** LATLON N ## ##.# E ### ##
FIX *** LATLON S # ##.### W ## #.###

其中#代表数字
经纬度格式为:度+空格+分(可带小数)
南宁VOR:FIX NNG LATLON N 22 36.3 E 108 10.5
坐标点NN552:FIX NN552 LATLON N 22 21.19998 E 108 37.60002

SIDSTAR当中,坐标格式不用补0,直接省略即可。
整的北纬22度东经108度,可直接写作 N 22 E 108。
但请注意不要遗漏空格。

2. 极坐标式 (角度-距离定位)
格式示例
FIX ***** COLOCATED *** ### ##.#
即基准点+空格+径向线+空格+距离(海里)
FIX D353J COLOCATED HUN 353 10
(以上为淮安涟水连云港-13离场程序中切入定位点的定义代码)
不整的海里用小数表示。

请注意,SIDSTARS文件中所有径向,航向,航迹,都是指磁航向。

该项当中的定位点信息是为之后的程序调用而准备的,注意所有点(包括台)在SIDSTARS文件中出现都应在前面加上"FIX"作为标记,而对于NDB,除了FIX之外还应在其名称之后应加上"NB"作为标记(无空格),比如怀来NDB:KM,应写作KMNB,烟庄NDB:ZS,应写作ZSNB(这不是宁波!)。
以及,打点所调用的数据并不从SIDSTARS文件中来,而来自NavData文件。也就是是说这些点定义的实质目的就仅仅是在后面的程序中调用。

更具体命名规则请参阅相应机型的FCOM。


数据的第二项是跑道信息,其包含于:
RNWS
... ...
ENDRNWS
之中。

跑道定义格式为:
RNW ##
示例:
RNW 05
RNW 23
该项当中的跑道信息是为之后的程序调用而准备的,注意所有跑道在SIDSTARS文件中出现都应在前面加上"RNW"作为标记。


数据的第三项是SID信息,其包含于:
SIDS
... ...
ENDSIDS
之中。

这一切开始之前,请首先明确!!!
必须是在FIXES中定义了的点,才可对其高度进行指定。


语法框架:
SID XXX##X RNW ## ...... ...... ......

即:
程序名-起飞跑道-离场路径

RNW ## 为该程序所有可用跑道,如有多条跑道可用,需要全部列出。

离地语法:(不一定会有,具体程序具体分析)
1. 沿航迹(或航向)###爬升至高度****:TRK(HDG) ### UNTIL ****
2. 沿航迹(或航向)###爬升至距离XXX点**海里:TRK(HDG) ### UNTIL ** FROM FIX XXX
对了,请在学写代码前首先学会区分航迹和航向。航迹是飞机飞行轨迹的磁航向,航向是指飞机机头朝向的磁航向。所谓保持跑道航向是指航迹(TRK)与跑道航向一致。

飞向点的语法:
1. 旁切:无语法,直接标出程序所经过的旁切点XXX,即FIX XXX。(对应数据库编码中的TF代码)
2. 直飞:TURN LEFT(RIGHT) DIRECT FIX XXX (对应数据库编码中的DF代码)
3. 沿径向飞向:HDG(TRK) *** INTERCEPT RADIAL ### TO FIX XXX' FIX XXX,其中XXX'为基准点,XXX为飞向点,两者可相同,切入前的航向(航迹)需要人工指定,如果程序中没有标出,需要自行估计,在相当多的情况下,可以为30度切入。(对应数据库编码中的CF代码)
4. 弧线:我不会写,在部分RNP程序中会出现。(对应数据库编码中的RF代码)

点的限制:
1. 高度限制:在FIX XXX加上所需要的高度,一般指定直接跟高度****,不低于写作AT OR ABOVE ****,不高于写作AT OR BELOW ****,介于两者之间写作AT OR BELOW **** AT OR ABOVE ****',只能对于在FIXES中有定义的点使用该语法。高度可以按照AIRAC的米制换算规则(即最多保留三位有效数字,精确到10英尺),也可按照国内米制取整规则。看个人喜好吧,前者高度写作2960 3940 4930 5910 6890 7880 8860 9850,后者高度写作3000 3900 4900 5900 6900 7900 8900 9800。
2. 速度限制:如果有高度限制,速度限制在高度限制之后,格式为SPEED ***

飞越点:
程序中的飞越点XXX,在XXX之前加入OVERFLY,变成FIX OVERFLY XXX

指定航迹雷达引导语法:
TRK ### VECTORS

离场过渡点与过渡程序语法暂不介绍。


数据的第四项是STAR信息,其包含于:
STARS
... ...
ENDSTARS
之中。

语法框架:
STAR XXX##X FIX XXX ....... ...... ......
  RNW ##


即:
程序名-进场路径
  落地跑道
注意是两行。

RNW ## 为该程序所有可用跑道,如有多条跑道可用,需要全部列出。

进场过渡点与过渡程序语法暂不介绍。
其他语法与SID类似。


数据的第五项是IAP信息,其包含于:
APPROACHES
... ...
ENDAPPROACHES
之中。

语法框架:
APPROACH %%%## FIX XXX ....... RNW ## ......
TRANSITION XXX FIX XXX ...... ......
......


即:
程序名-进近路径-落地跑道-复飞程序
进近过渡程序名-过渡路径

一般而言,进近路径由IF开始,进近过渡程序由IAF开始,在IF前终止。

同一个IAF若对应两个或多个过度程序,用标号予以区分。一般而言,这种情况出现在修正角程序中,1号为CD类机,2号为AB类机。当然真正的737或者777这样的飞机上看来是不会有AB类的程序的,可是PMDG毕竟不是只做CD类机是吧。

对于传统ILS和RNAV ILS没有分离的程序,写起来一般比较麻烦。由于这样的情况在国内即将全面淘汰,改用ILS-Z和ILS-Y等方式来命名,所以在这写不写也不是很有意义了。AIRAC数据的一般原则是五边按传统的写,TRANS里兼有传统和RNAV的程序,用标号区分(比如浦东的TOSA1和TOSA2)。但特例其实也挺多的。

对于ILS还分多种的,比如有的机场有ILS/DME和ILS之分的,以及其他乱七八糟的情况的,具体问题具体分析吧。

等待语法:
HOLD AT FIX XXX LEFT(RIGHT) TURN INBOUNDCOURSE ### ALT **** SPEED *** LEGTIME #
其中高度与速度不强制要求指定。若标注高度为###或以上,则应指定为###(###为MHA)。

出航语法:
TRK ### UNTIL ### FROM FIX XXX
与指定DME的离地语法类似,注意此语法不可指定高度。
对于出航计时的。。。这种程序本身就不应该写。
实在要写,用典型速度乘上所需时间得到距离,按测距的语法写。

DME弧语法:

FIX D***X FIX D***X' FIX D***X''
即对DME弧上的部分点进行定义,根据需要确定间隔,一般为10度左右,然后连接各点。个人推荐使用飞越语法。
示例:FIX OVERFLY D107L FIX OVERFLY D117L FIX OVERFLY D127L FIX OVERFLY D137L FIX OVERFLY D147L

其他语法一时想不起,欢迎提问,有遗漏会及时补充。


数据的第六项是机位信息,其包含于:
GATES
... ...
ENDGATES
之中。

机位坐标不是太有意义的东西,除非你地景真的很准很准。
有心情就模仿着写,不在此多说。



评分

参与人数 1支持 +1 收起 理由
ckwan + 1 我很贊同!

查看全部评分

发表于 2014-5-15 14:45:42 | 显示全部楼层
卧槽。。。。。太凶残了
猫大也说了:让4188写程序不就得了
回复

使用道具 举报

发表于 2014-5-15 15:06:15 | 显示全部楼层
太赞了!太凶残了!慢慢看
回复

使用道具 举报

发表于 2014-5-15 16:38:36 | 显示全部楼层
纯技术贴,牛啊!
回复

使用道具 举报

发表于 2014-5-15 16:56:10 | 显示全部楼层
支持下UAL的朋友
前些天写武夷山机场的导航数据也摸索了几天,哈哈
回复

使用道具 举报

发表于 2014-5-17 16:43:29 | 显示全部楼层
说起极坐标,想起了前两天学的数学选修里的极坐标方程公式:x²+y²=ρ²,,y/x=tanα
回复

使用道具 举报

 楼主| 发表于 2014-5-17 16:56:34 | 显示全部楼层
国民第四军 发表于 2014-5-17 16:43
说起极坐标,想起了前两天学的数学选修里的极坐标方程公式:x²+y²=ρ²,,y/x=tanα ...

那是平面上的(x,y)坐标系统
回复

使用道具 举报

发表于 2014-9-14 12:32:04 | 显示全部楼层
你写得实在看不懂,看来要好好学习学习中文了
回复

使用道具 举报

发表于 2015-8-13 20:53:22 | 显示全部楼层
LZ。。。UNTIL出航程序是可以指定高度的
回复

使用道具 举报

 楼主| 发表于 2015-8-15 22:24:22 | 显示全部楼层
qfa7301 发表于 2015-8-13 20:53
LZ。。。UNTIL出航程序是可以指定高度的

找个现成的例子给我吧。我懒得去翻了。

点评

不过很多NAIP的NDB进场都有计时。。。我在考虑要不要写(不写的话进场程序会少很多)  发表于 2015-8-16 16:58
啊咧卧槽十分抱歉。。。。  发表于 2015-8-16 16:57
你貌似理解错了,我说的出航UNTIL,是定DME出航。  发表于 2015-8-15 22:47
本人不私聊,有问题欢迎在空管群或飞院群交流探讨。  发表于 2015-8-15 22:41
能不能私聊下。。我有些NAIP的问题想请教  发表于 2015-8-15 22:32
看来你的学习方法也和我一样。。照葫芦画瓢 YSSY ABBEY3 离场(航图:http://www.airservicesaustralia.com/aip/current/dap/SSYDP15-142.pdf) Navigraph有.  发表于 2015-8-15 22:32
回复

使用道具 举报

发表于 2015-8-20 01:37:34 | 显示全部楼层
话说。。LZ知道在写VORDME进场时如何截取两条来自分别来自一个VOR的径向线的交点吗。。。。
回复

使用道具 举报

发表于 2015-11-5 11:56:56 | 显示全部楼层
SIDSTARS进离场程序学会怎么弄了,但是NavData这个怎么弄啊,在fmc输入机场显示NOT IN DATABASE应该是没有机场数据吧,那这个机场数据怎么弄呢
回复

使用道具 举报

 楼主| 发表于 2015-11-5 16:22:47 | 显示全部楼层
明摆着 发表于 2015-11-5 11:56
SIDSTARS进离场程序学会怎么弄了,但是NavData这个怎么弄啊,在fmc输入机场显示NOT IN DATABASE应该是没有 ...

这些东西难度不大,对着文件照抄就行了。
回复

使用道具 举报

发表于 2016-10-4 22:58:09 | 显示全部楼层
学习学习  再学习    牛贴
回复

使用道具 举报

发表于 2016-10-29 16:31:14 | 显示全部楼层
老大问一下 形如N27° 50′ 11.8″的点 精度比较高 是不是一定要转换 否则它不认?
回复

使用道具 举报

 楼主| 发表于 2016-11-1 10:06:05 | 显示全部楼层
zlzbsd 发表于 2016-10-29 16:31
老大问一下 形如N27° 50′ 11.8″的点 精度比较高 是不是一定要转换 否则它不认? ...

看你保留到小数点后几位的问题。
回复

使用道具 举报

发表于 2017-11-10 11:46:53 | 显示全部楼层
要认真学习
回复

使用道具 举报

发表于 2018-8-5 11:40:00 | 显示全部楼层
我最近在进行PMDG和A3XX Navigraph的进离场程序的比较,目的是编辑ZUNZ和ZULS等高原机场的RNP进离场程序。比如:

PMDG:成都CZH01D离场是这么编辑的:
SID CZH01D RNW 02LTRK 024 UNTIL 6.6 FROM FIX CTU FIX OVERFLY D245M TURN RIGHT DIRECT FIX Z FIXCZH

A3XX Navigraph:成都CZH01D离场是这么编辑的:
SID,CZH01D,02L,2
CD,,0.000000,0.000000,0,CTU,0,0.0,24.0,6.6,0,0,0,0,0,0,0,0,
CF,D245M,30.776686,104.174519,0,CTU,46.4,17.1,65.0,11.0,0,0,0,0,0,0,0,1,
DF,Z,30.554681,103.935886,2,,0.0,0.0,0,0,0,0,0,0,0,0,

TF,CZH,30.645000,103.686667,0,,0.0,0.0,0.0,0.0,2,19700,0,0,0,0,0,0,

我现在有PMDG的ZUNZ和ZULS的RNP程序,这么改编成A3XX Navigraph
回复

使用道具 举报

发表于 2019-3-15 10:50:12 | 显示全部楼层
好贴,大赞!!!
回复

使用道具 举报

 楼主| 发表于 2019-3-15 11:29:53 | 显示全部楼层
zhensanmao 发表于 2018-8-5 11:40
我最近在进行PMDG和A3XX Navigraph的进离场程序的比较,目的是编辑ZUNZ和ZULS等高原机场的RNP进离场程序。 ...

PMDG的RNP AR是伪AR,原理跟一部分具有RF功能的插件写AR的方法完全不一样。没法直接拿来用。
回复

使用道具 举报

发表于 2019-4-16 17:15:26 | 显示全部楼层
找到个PMDG737NG进离场程序教程,里面以ZUJZ为例,有兴趣的可以看看http://www.doc88.com/p-9733334591269.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表