chinesezgb 发表于 2022-10-2 12:17:41

仿真航图-Jeppesen Simchart档案系统

附录、Jeppesen Simchart档案系统剖析

航空供应界的大老Jeppesen为仿真飞行界提供了一项新的商品,称之为”Simchart”,意即仿真的航图。它和真实航图有何区别呢?Jeppesen官方说法是除了「分辨率」有差之外,基本上差不多。没错,资料内容是差不多,不过各位可以在打开Simchart时把画面卷到最顶端或最下端,仔细看看这张航图是什么年代的资料(才12年,再9年才是皇家礼炮)。至于分辨率,实际上,cdn不是某种图形文件格式,放大了会变模糊;而是类似pdf的格式,理论上是可以做得很细致。也就是说,这十分可能是故意的模糊。

  在此并非教各位怎么用这套软件,因为它使用方式太简单了,实在不需要教(不过观图接口并不好用);而是怎么「有效地」使用它。此话怎讲?

  FS2000随光盘附赠的是Demo版。其实Demo版的主程序性能和正式版并无二致,实在不需要另外安装正式版程序。激活后它会先找光盘,看看有无Simchart盘片在里面,有的话就读盘片上的资料(第一顺位);若没有,则读取其子目录下的\Democharts目录。OK, 既然如此,那我们大可把光盘上的档案Copy进硬盘让它读还快一点,是吧?错!这样行不通。问题出在”Charts.toc”这个索引文件上头。每片光盘,包括内建的Democharts目录中都有个这玩意儿,告诉Simchart系统有那些机场。

  是故,Simchart的机场索引并不是看目录中有那些航图档(*.cdn),而是看Charts.toc里设定了那些机场。里面没有的,根本列不出来。因此,若把得来的光盘全CO进去,原来目录里的资料就不能用了。意即,你顶多只有一个选择,看是要灌那一片进去。此外,你也不能在网络上临时向同好伸手,「借」几个cdn档来飞飞(一个才几K~2xK),把它丢进Democharts目录中。(公司警告:上述此举将有可能引来法律后果,不鼓励进行)

  依机师应有的智商,立刻的反应是:我何不修改Charts.toc档呢?是的,就这么办吧。其数据结构分析如下:

 ICAO码(4 bytes)+Chr(0)+城市名+”,”+Chr(32)+国家名+CHr(0)+机场名+Chr(0)

  其中城市名、国家名、机场名无固定长度,但我没去测它极限(反正不是128就是256, 512....),不要太长即可。国家名依内建资料通常是3码,如CHN即中国、JPN即日本等,但也可再长。两个Chr(0)之间的资料算一个字段,可以留空白(即Chr(32)),如”CKS Int’l Airport”。

  其每笔资料头尾相接。Chr(0)及Chr(32)是ASCII字码,Chr(32)是空白,Chr(0)则根本无法用键盘打出来。在此引出ASCII是方便会写程序的同仁自行写个小程序。

  很多人会想到,何不用文书编辑软件「剪贴」一下即可?试试看吧,有些编辑软件或许可以,但大部分体贴的、人性化的、有「精灵」的,或微软的软件会把Chr(0)自动转成Chr(32)。所以若要尝试,请先备份,其次不要用微软的任何文书处理系统做这项工作。最后,要注意每个机场资料都包括最后一个「空格符Chr(0)」,不要漏了。

  其它自行解决的途径有三:

1.用功能强大的Hex编辑器编辑。借微软的名言:这仅适用于「进阶使用者」。同时要注意的是,Hex是16进位,Chr(32)会显示”20”;Chr(0)则是”00”。各编辑器操作各异,在此不多加说明。各位可以先用文书软件剪贴后,再把分字段用的”00”字符改回来。

2.写程序解决,数据结构列出来应该就没问题了。高中以上计算机课应该都会接触简易程序设计,如QB、VB之类的都可以。旧DOS 6.x版底下都有QB。写程序解决是最根本又快速的办法,因为程序可以为所欲为!简直无所不能。这尤其可让cdn档像mp3一样…各位自行体会。

3.多重目录法,这是最简单的解决之道。Simchart只会找其子目录Democharts底下的资料,因此在Simchart底下可以摆上一堆目录如USChart、EuroChart、JapanChart....等自建目录,当要使用时,把该目录名称改为”Democharts”即可。这样一来,所有的光盘都能摆进硬盘(够大的话)直接读取。
#有什么真实一点的模拟飞行手机游戏吗##模拟飞行##模拟飞行的那点事##电脑版的,哪个模拟飞行游戏比较好##接近真实的飞行游戏#
页: [1]
查看完整版本: 仿真航图-Jeppesen Simchart档案系统