1.需求:我现在需要做一个公交客流展现,用不同的展现来显示公交车的客流量,类似地图中的实时路况,所有的状态是后台人为设置的。
2.有一条线路1,存在A,B,C,D,E,F,G,H站点,可以A->H这样行进,也可以H->A行进,设置A->B为状态1,B->C为状态2,C->H状态3.
展示出来状态为:
A--状态1-->B--状态2-->C-状态3-->H
如果再设置B-E为状态4,展示状态为:
A--状态1-->B--状态4-->E--状态3-->H
反向行进也同样。
现在没有思路怎么去做这个,包括数据库如何设计,希望大家能给个思路,谢谢
=======================================================================
如果是多条线路,线路可以交叉,该怎么做
例:有两条线路line1,line2;line1中有站点A,B,C,D,E,line2中有站点a,b,c,D,e,f;
如果需要设置A->f 为状态1,(A->B->C->D->e->f)为状态1,
这样该怎么做呢,如果是N条线路
偶来抛个砖 -- 存数据库的时候按最小粒度,分成一小段一小段的存:
| begin | end | status |
| A | B | 1 |
| B | C | 2 |
| C | D | 3 |
| ... | ... | ... |
| D | C | 1 |
| C | B | 2 |
| B | A | 3 |
感谢 @北月武士 的回答,最终就是按照他的思路去做的
首先对每条线路的站点进行依次排序,增加一个序列号,对于每条线路都会以最小粒子进行保存。
最后还有其实还有一个疑问。如果线路可以交叉怎么办