美文网首页
禁航分析软件诞生记从1.0到3.0 ——冥冥思索后的灵光一现

禁航分析软件诞生记从1.0到3.0 ——冥冥思索后的灵光一现

作者: 一滴水魔法 | 来源:发表于2017-08-16 15:10 被阅读0次

    2017年7月5日 晚  夜班


    当晚,签派室收到某情报区明日早晨有禁航的通告,需要对航班进行调整和控制。

    师傅给我耐心讲解了此禁航分析和推点的方法,希望我能初次体验下禁航分析的知识,同时评估下禁航的影响和师傅的结果能否一致。

    笔者拿到任务理顺下思路:

    1.在航班生产系统中查询通告影响的城市对;

    2.根据通告时间大概判定航班是否影响;

    3.若有影响,在通告后面写下航班号;

    4.使用交叉相减的方法计算推点(即为飞机飞到禁航开始点时禁航已结束为最早时间,飞机飞到禁航结束点时禁航刚开始为最晚时间)

    当时的笔者使用了EXCEl表格填写记录数据,目的是数据看着规整;

    当时的笔者三四字代码记忆并不好,碰到记不住的还查询了机场数据;

    当时的笔者对公司所飞的城市对并不掌握,不确定通告影响的城市对公司是否在飞,

    所以评估速度非常缓慢。

    所幸,笔者所评估过的通告结果和师傅一致,证明笔者理清了禁航分析的基本方法,

    上文笔者的思路将会在后文的EXCEL软件中慢慢得以体现。

    2017年7月6日 下午  休息


    下了班的笔者,就睡不着觉了,脑子里转的都是:

    通告的四字码,查三字码,查生产系统的航班;

    交叉相减的方法正是excel计算数据的优势。

    这些特点正是excel的优势,笔者决定用excel解决上面的方法。

    笔者的excel的函数早已遗忘多年,现在能记得住也就sum,if,count等简单的函数了,

    笔者认为这个不是困难,最大的困难就是:

    你不知道你自己什么不会;

    你不能清楚的描述自己的问题。

    Excel的函数,笔者开始描述问题,百度度娘,

    循着昨晚的原始分析的方法,

    1.第一步:四字代码查机场数据,找三字码

    这个问题,就是将通告的ZBAAZWWW001(比如)转化为PEKURC。

    询问度娘,就是问题一:如何从身份证号码中提取生日;

    就是问题二:单元格如何通过另一个表格的数据库转化为另个内容:即ZBAA怎样变成PEK,这肯定需要一个三四字代码表支撑。

    2.第二三步:查航班生产系统的航班在通告时间内是否执飞;

    这个问题非常纠结,从昨晚的分析方法,是要在每个通告后面写出来影响的航班;

    从excel角度,是每个单元格后面对应多个单元格;

    然而excel只能解决一对一的问题,比如第一步的ZBAA转为PEK;

    原始思维方法的使用陷入苦局和瓶颈,一对多的问题怎么解决。

    笔者苦苦思索,这条路走不通咱们就换个思路,

    从数学角度,就是集合里的元素对应,包含与被包含的问题;

    目前是一对多,反过来不就是多对一;

    跳出来原始思维的路线,转变成,

    航班的起飞落地的六个字母在通告的六个字母中是否存在,存在即为影响,不存在就不影响。

    此时,笔者的禁航分析1.0版本已经完成。

    它的本质就是利用excel函数的特点,元素的一对一或者一对多的方法,航班所飞起落机场6字母对应通告6字母,然后对应通告8字母的思路。

    2017年7月6日  晚上 休息


    笔者为禁航1.0版本可以极大缩短分析时间,只用10分钟不到而高兴不已。

    当晚将文章发给了经理,希望能得到运行经验丰富的经理的指导。经理很耐心读完了文章,指出了以下问题:

    1.软件如何体现航班时刻和通告时间的匹配,人工筛选航班时刻,如何根据时间筛除,导入所需今日航班?

    2.软件梳理了影响航班,那么推点时间如何计算?

    第二问题,因为笔者没写,比较容易,所以问题集中在第一个。

    软件1.0版本之所以忽略了时间分析,是由于昨晚分析的禁航通告是在机场的进离场上,时间只用卡在起飞时间在禁航之前即可。

    经理告诉我,禁航也可能在航路上,比如某国外航路上禁航。

    笔者思路被打开,开始混乱,冷静下来明白了出在时间匹配的问题,

    于是,笔者问了经理自己不懂的症结:

    如何手工经验判定一个航班是否受禁航时间的影响?

    经理告诉我,准确方法是:使用CFP查出飞行时间,交叉相减算出最早和最晚的时间,若班表时间在之间,航班即为受到影响。

    同时我也明白了,excel对于时间不能精确匹配的原因是:它需要对所有航班拆包查看飞行时间,交叉相减判定。然而手工拆包所有航班,工作量如此之大,excel没有办法解决。

    禁航分析1.0版本在时间匹配问题上被终止,因为一个软件首要的前提是准确,时间匹配解决不了,那么就得不到实用。

    2017年7月8日  白班


    经过上次的禁航分析,时间充裕,师傅给我细心讲了禁航知识:

    禁航种类:全高度,部分高度,航路区域禁航等等;

    禁航措施:有高度禁航的超控高度,有更改航路,有管制绕飞,有推点措施。

    判定航班是否受禁航影响的方法。

    这次讲解使我打开了禁航的知识,然而1.0版本的时间问题和实用性依然得不到解决,1.0版本就此搁置。

    2017年7月18日 夜班早晨


    笔者在某区域席位放行航班,隔壁席位在分析某区域多份禁航通告的影响,这让笔者更加觉得1.0版本只能解决单分通告的不实用性。

    2017年7月28日 白班


    离1.0版本过去了有20天左右,笔者自己都快遗忘。

    经理发微信说,国外某区域航路有大面积禁航的影响,你抽空研究下,可以扩宽你的思路,

    笔者抱着试试的态度,休息时向同事了解下分析内容:大概内容是一个国际航班由于航路优选,需要多个航路进行CFP,交叉相减。

    2017年8月1日 晚


    笔者进过师傅的知识讲解;,

    笔者感受了着国内多份通告禁航,国际航路区域禁航的复杂性。

    冥冥思索后的灵光一现

    确定了禁航2.0版本的总原则:准确性、方便性、快速性。

    2.0版本相比1.0体现在以下优势:

    1.可以分析多份通告,了解一个航班是否受多份通告的影响;

    2.将某些函数嵌套,缩减了函数的使用次数;

    3.增加了计算推点的计算方法;

    4.明确了此软件由于拆包CFP查飞行时间,来准确判定时间匹配的巨大工作量的不实用性。更改为在原数据导入和数据结果时,时间的两次筛选解决。

    2017年8月2日  白 夜班


    笔者带着2.0版本和经理当面座谈,笔者进一步明确了时间匹配的解决方法,同时也对于特殊航班,比如国际航班、远程航班、跨日航班次软件也不会出现遗漏问题。

    经理提醒我,推点时间算出的最晚时间和最早时间在实际工作中,会在此处增加余量,来保证运行安全。

    2017年8月6日  夜班


    笔者带着2.0版本让班组长指点,班组长问了个问题:

    这个软件怎么体现001和002航路的筛选。

    可能无意的一个问题,这句话,我突然明白了此软件核心和思路:

    从excel的数据分析功能角度,禁航分析就是将航班的元素去匹配通告的元素,查询是否存在。此处的元素指的是时间、城市对和航路代号。其中,城市对分析是此软件的核心,可以精确匹配;时间分析在航班数据的录入和第四步筛选结果的优化处理(可不操作)有所体现;航路代号分析默认001航路,不对此缩小范围。因此,此软件的作用是对于大数据时,可以快速缩小影响的航班范围,但不保证范围内的每个航班都受影响。

    2017年8月14日 晚上


    班组长希望明天的班组会让宣讲下此小软件,

    笔者决定在方便性上进一步改善,造出了3.0版本,相比2.0:

    1.三四字代码表进行隐藏,机场增加500个,不会出现#N/A;

    2.函数进一步嵌套,同时函数下拉方法改为快捷的双击左键;

    3.增加了筛选结果的航班,可以时间准确判定的方法;

    4.影响的航班考虑了流控和直飞,增加了安全余量考虑;

    5.Excel所用函数可以直接在excel表格的文本框中,直接复制使用。

    此时,禁航分析3.0版本终于诞生!!!

    后记:禁航分析软件,从1.0到3.0,思索了很久,得到了经理,班组长,师傅的大力帮助,开阔了思路,非常感谢。本文的目的记录一个小软件的诞生日记,记录自己思维的过程,纪念小时候科学家的梦想,可惜实现不了,嘿嘿。目前,此软件仍处在试使用阶段,使用的是EXCEL的基本函数,也希望得到IT大神的支持,能有N .0版本。

    相关文章

      网友评论

          本文标题:禁航分析软件诞生记从1.0到3.0 ——冥冥思索后的灵光一现

          本文链接:https://www.haomeiwen.com/subject/mhmirxtx.html