2.查询功能实现:为了说明上述各种查询检索功能是如何具体实现的,下面举两个例子加以论述。
(1)点位查询:点位查询完成对景点的随意查询。用户通过键盘控制光标移动,可以随意选出感兴趣的景点,查询该景点的内容与图像。其实现过程如图9-24所示。
(2)等距查询:游客可移动光标任选一交通网节点为中心,然后给出某个距离值,系统便可计算出与该值相应的范围,并逐个查询和显示其中景点的详细信息。其实现过程如图9-25所示。为缩短上述过程的时间,可先将交通网节点间的距离算好,存在名为short.DIS文件中,供随时调用。
四、线路选择
游客到一个地区旅游,如何按照“付出代价最小收获最大”的原则选择一条合适或满意的旅游线路,是一个最重要的问题。由于旅游线路的选择,不仅仅是一个从这里到那里、在地图上画一条线的问题,它要涉及游览内容、食宿购物安排、日程表确定及整个路线的经费开销等一系列游客关心的重大问题。因此,要帮助游客选择旅游线路应该是TORTIS系统的一个十分重要的任务或功能。对此,我们作了一些初步的尝试。
在TORTIS系统中游客提供了三种不同的选择:①游客选择起终两点,计算机自动选出一条“最佳”的旅游线路;②游客通过与TORTIS的人机对话,选出起、终点以及一些必游的景点,计算机帮助连成一条完整的路线;③游客可以从旅行社或有关部门给出的一些定型旅游线路中,选取一条他们乐意使用的路线,以完成他们在该地区的旅游活动。下面就其中的一些关键性的问题加以讨论。
1.选线原则:旅游线路选择的原理,一般来说可以概括为使游客“付出代价最小,而收获最大”。在这里游客付出的代价主要包括:时间、金钱和兴趣,而收获主要包括身心上的满足。为此,在具体选线时,应尽可能减少重复路线,缩短旅途时间,降低旅游费用,或在不延长旅游时间的条件下,增加旅游内容,提高旅游活动质量,使游客各方面的需要得以最大限度的满足,尽兴而归。
此外,对于不同类型的游客而言,有不同选线的标准和出发点。例如金钱优先、时间优先或兴趣优先的游客,在选线的原则上有很大的差别。对于他们在具体贯彻“付出代价最小,而收获最大”的原则时,要作不同的安排和修正。只有充分照顾到不同类型游客在线路上的要求,才能使他们对某一地区的旅游活动感到满意。
2.选线方法:在TORTIS中,计算机旅游路线选择的方法是:对区域旅游网络分析中的狄克斯特累求解最短路径的算法完成。对于一个区域旅游网络而言,其构成的三大要素是:旅游地(或旅游资源)是旅游网络主要内容或目标物;旅游交通是旅游地相互联系的纽带,是构成旅游网络的保障和骨架;游客是旅游网络中的活动体或主体。在具体选线时必须具体地综合考虑这三方面的因素和影响。
狄克斯特累(Dijkstra’s algorithm)是一种标号算法。它从源(节点)开始,每次对一个节点标号,并在网络中逐步扩散开去。该算法给每一个节点j一个永久性标号,它等于从节点i到节点j的最短路径的长度,而对尚无永久性标号的每一个节点则给一个试探性标号。它在后面可用来计算该节点的永久性标号。节点j的试探性标号实际上是从节点i到节点j的最短路径长度的一个估计值。设P(j)表示节点j的永久性标号,Τ(k)表示k的试探性标号。数组PRIOR记录从源节点到最终节点所经地的最短路径各节点的代号,bij是节点距离矩阵中节点i到节点j的距离,如不直接相联则为∞,i=j时为0。具体实现步骤如下:
(1)给源节点i一个水久性标号0,而给其它各节点以试探性标号∞。
(2)对于每一个具有试探性标号的节点(i,j)计算
T(j)=min[T(j),P(i)+bij]