# TrafficSim **Repository Path**: sapperjiang/TrafficSim ## Basic Information - **Project Name**: TrafficSim - **Description**: 交通仿真软件 作为专业人士,仅仅迷醉于用用vissim,看看3d仿真后的效果,是不够的。无意批评某一款软件,但商业软件可用于微观交通建模的功能几乎没有(我是说,让你自己建立驾驶员模型,建立自己的行为规则,建立自己的交通规则,建立自己的交通控制规则,建立自己的巴拉巴拉,从根本上,而不仅仅是修改商业软件内置模型的几个不知所云的参数)。那么,为什么不自己开发一个呢? 查看以下链接获取更多信息 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: http://my.oschina.net/u/214547 - **GVP Project**: No ## Statistics - **Stars**: 61 - **Forks**: 31 - **Created**: 2015-01-03 - **Last Updated**: 2025-08-16 ## Categories & Tags **Categories**: erp **Tags**: None ## README # TrafficSim #### 项目介绍 交通仿真软件 作为专业人士,仅仅迷醉于用用vissim,看看3d仿真后的效果,是不够的。无意批评某一款软件,但商业软件可用于微观交通建模的功能几乎没有(我是说,让你自己建立驾驶员模型,建立自己的行为规则,建立自己的交通规则,建立自己的交通控制规则,建立自己的巴拉巴拉,从根本上,而不仅仅是修改商业软件内置模型的几个不知所云的参数)。那么,为什么不自己开发一个呢? 查看以下链接获取更多信息 #### 软件架构 sapperjiang的个人空间 工作日志 正文 如何自己编写一个交通仿真软件 (开篇) 走火入魔。 顶 原 sapperjiang sapperjiang 发布于 2014/12/23 15:00 字数 2269 阅读 917 收藏 3 点赞 2 评论 0 管理 交通仿真软件并行仿真交通流理论交通信息工程地理信息系统元胞自动机。 关注交通仿真公众号,获取更多精彩文章 未来的汽车是怎么跑起来的。 从滴滴交通大脑看交通仿真软件的创新变革。 还有更多资讯,请扫码关注。 如何自己编写一个交通仿真软件 (一)火种 如何自己编写一个交通仿真软件(二)原野 注意以下为老版本软件和代码。 软件下载地址(百度网盘)(可运行的软件位于debug目录下) CSDN源代码下载(需有csdn账号)该文章也同时在CSDN 发布, 有图有真相,也有exe(就是没有女票)。 以下为新版本软件和代码 任何安装了git客户端的人都可以用git pull最新完整版代码。 GIT项目地址:http://git.oschina.net/sapperjiang/TrafficSim git地址:https://git.oschina.net/sapperjiang/TrafficSim.git 一、这个软件是干嘛的? -----------本仿真软件的定位---------------- 1、为了给交通领域的研究人员提供一个好的学习和实验平台,能产生一定的学术价值。 对那些有能力有精力有志向探索交通仿真的人,希望是一个帮助,毕竟这些路径我探索过。扫除有一定基础的专业人士,对自己开发仿真软件的初步障碍、提供一个曾经实践过的思路和想法。 2、不打算商业化,还差点远。商业化的好处在于--持续的商业利益驱动软件更新完善并能得到用户需求的不断推动;局限在于对于研究、探索和培养人才来说,了解内部运行机理成为不可能。 3、降低实践的门槛、发挥学术价值。 毕竟已经有了一个基础的平台。可以通过几个月的时间,在这个平台上完善或者实践自己的模型。平台允许自己建立一个模型、然后用软件跑出来看看仿真动画、分析分析仿真数据,解决模型的局限。 4、解决软件的局限。学术研究人员能够根据自己的需求,对软件进行改进,加深自己对交通仿真的认识。 二、还有其他类似开源交通仿真软件么? 答案是YES,我们的德国交通同行,正在开发和改进一款叫做sumo的开源软件。 下面是它的主页:http://sumo.sourceforge.net/ 它最近的活动链接:http://www.dlr.de/ts/en/desktopdefault.aspx/tabid-10848/18984_read-44970/ 二、非专业人士如何选择合理的开发工具和开发语言。 软件发布后,有人给我交流。也是想开发软件的“奋青”(发奋的有志青年)。 对很多程序开发初学者来说。学习哪门语言,是个很纠结的问题,这是个开创成功事业能否成功的问题。在此我做一下解答,结合我自身经历: 声明本人非计算机科班出身(正宗交通工程+交通信息工程专业毕业)。 由于我大一第一学期(没办法,家里没有鱼塘,启蒙太晚,成就不了13岁编程神童的传说)就学会了C并有了处女作“hello world!!”, 再学习C plus plus ,就是自然而然了,就想用惯了苹果6 ,入手 苹果6 plus plus 顺理成章。 (我这种笨人,当初敲入turbo c 2.0 并且将处女作编译成功花了一节上机课的时间(不得不吐槽,当年遇到困难的时候,也不如张良这伙计运气好,提提鞋子,就能获赠兵法,日后指点江山。当初求助的计算机学院的老表在用电脑打纸牌游戏,极不耐烦(失去了多年后被我表扬的机会),很不屑我这种小菜鸟的这种小问题)。 但是,C++复杂难懂,超出了预计的成本。且长久的钻研却看不到回报的事业注定是一件很没有动力持续的事业。。。。。当初我真怀疑:对非专业人士来说,学懂C++是否要卖个肾~~。 废话太多,这里不伦你是vb 还是java 还是C++或者python.开发仿真软件,建议非专业人士用.net平台。理由如下: 1、c++这样的语言,设计过于专业严谨,学习成本高((不要急着反驳我这个业余人士,不许反驳,因为我业余(嘻嘻)))。 2、非.net 平台下的c++ 数据结构相当不友好。(不要急着反驳,还是因为我业余(嘻嘻))。对于自幼(哈哈,包装一下,凸显天粪)学习c的人来说,相当不容易搞懂指针。然而,仿真软件建模当中,各种交通元素的模型,不涉及链表、图、矩阵、队列、栈这些鬼东西(神器)的编程尝试,必然会被计算机这个傻瓜兄弟嘲弄而头破血流。在C++中,这些数据结构都涉及指针,维护和读懂他们就是个灾难(我业余我骄傲~~)(什么你就喜欢指针?你就喜欢指针的指针?留下大名,给你上柱香)。 3、c++原生的函数库支持,简直是弱爆了。有了.net 还好。当初为了脱离.net 平台,写了算法,自己实现了好多别的语言都有的函数和数据结构,想想都要哭,难道每次我都要重新发明轮子?vc6.0 给我的印象两个:1、经典;2、绝望;3、我的各妈,真绝望;4、我不识数。 4、会牵扯你更多的精力在bug调试、内存泄露(非.net 平台下的c++)而不是专注于自己的目标---编写交通仿真软件,早日看到运行成果。尤其是bug定位不准确所造成的不知所云and 巴拉巴拉。。。。。 5、要自己写代码呈现仿真效果,windows下开发(什么,你Linux?好,没关系,建议用mono框架,可以跨平台),离不开GDI+编程。而这个GDI+还是比GDI容易理解和伺候的。 最后:我强调一下:我不是诋毁c++的愤青,我是在帮非专业人士,节约你的生命和增加表白(哦,不,交通仿真软件事业)成功的可能,一定要记住你的目标:编写成仿真软件,早日尝到甜头,而不是学习编程本身。(变态大的字体,警示啊。) 三、专业人士如何加入该项目 (一)加入团队(不加入也行,自己研究用~~) 专业人士可以给我发email参与代码开发协作。1286008361@qq.com。加qq也可以:1286008361.到时候 我把你加入开发者中,就可以push(svn叫commit)代码了。 (二)下载版本控制软件: 首先你要准备两个软件,分别是msysgit(这个才是git,先安装)和tortoisegit(git的图形操作界面,后安装)。。直接下载(两个软件都有) 只下载totoisegit 这个软件根本没用,我搞了好长时间才明白。 (草泥马,程序员做的东西果然不是一般人的思维,直接内置git.exe得了。) (三)下载仿真软件源代码: 项目的平台搭建好了,代码托管在OSChina上面想参与的童靴请注册一个oschina账号发我email,加入开发者团队之后就可以push代码。 暂时不想加入的话,任何一个git客户端都可以往自己的电脑pull项目最新的代码下来。 为什么不是sourceforge?github?天朝是有 长城防火墙的 万一墙掉了,就回到解放前了 然后就是从OSCHINA git地址 pull代码。 项目地址:http://git.oschina.net/sapperjiang/TrafficSim git地址:https://git.oschina.net/sapperjiang/TrafficSim.git (四)遇到问题怎么办 1、现在这个项目的文档不完善。如果项目没有帮助更多的人,或者别人不想用、或者不想参与,文档也没意义。写文档是个费力气的活儿,等需要的人出现,我就写。否则,写了白写,还不如约女票波一个。 2、软件的原理和代码不懂的。单步运行几下,看看函数的调用堆栈就明白了。如果不想浪费时间,就qq问我吧,不过不保证服务质量~~。 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [http://git.mydoc.io/](http://git.mydoc.io/) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)