TransCAD快速创建公交模型数据库的方法

TransCAD快速创建公交模型数据库的⽅法
构建和维护交通模型数据库是研发交通模型的重要基础性⼯作。交通⽹络数据构建⼯作量⼤、技术性强、维护周期长,⼀直以来是交通模型快速反馈规划⽅案的瓶颈。公共交通系统的数据库与道路交通⽹络通过特定的数据库结构相关联,因此道路⽹络的修改直接影响公交线路数据的同步更新维护,这就⼤⼤增加了维护的⼯作量和复杂性。在公交模型数据库的构建和维护⼯作中,交通模型师通常会遇到三个难以避免的问题:
(1)城市交通管理部门或公交运营企业提供了公交线路(线层)和公交车站(点层)的GIS数据,或者是互联⽹获取的数据,如何将其快速地转化为交通规划软件可⽤的格式。
(2)交通模型包括现状模型和规划模型,构建现状公交模型数据库后,如何将依附于现状道路⽹络的公交线路应⽤于规划道路⽹络、使之与规划⽹络进⾏数据关联。
(3)局部道路⽹络的规划⽅案修改后,必须同步修改公交线路以达到联动,这对⼯作⼈员的技术要求⾮常⾼。如何能够独⽴修改两个⽹络,并重新创建数据关联是需要攻克的难关。
⽬前较为流⾏的交通规划软件包括TransCAD,VISUM,EMME, CUBE等。这些软件对公交线路的数据库结构描述具有⼀定差异。TransCAD和VISUM软件允许公交车站位于路段的任意位置,位于路⽹节
点上是⼀种特例,这种数据库结构来源于GIS 中的动态分段技术。EMME和CUBE软件采⽤路⽹节点设置车站,即通过公共汽车⾛过的节点来描述线路的⾛向,车站只能放在道路⽹络的节点上。这些节点既包括真实的交叉⼝,也包括虚拟的节点。为了提⾼模型的精度,位于较长路段中间位置的车站需要打断,以适应这些软件只⽀持“车站位于路⽹节点上”的特点。
公交模型数据库在TransCAD软件中采取⼀种特殊的数据格式——路线系统(Route System)来存储,它是构建公交(超级)⽹络,进⾏公交客流分配的基础数据库。本⽂介绍如何在TransCAD软件中快速创建公交模型数据库的⼏种⽅法。
⼀、利⽤表格创建Route System
该功能在TransCAD的早期版本就有。需要准备⼀个道路⽹络,⼀张表格就可。表格的字段主要包括:
Route_Number(线路编号),Node_ID(节点ID,描述线路在路⽹上⾛过的节点序列),Stop_Flag(节点是否为站点标记),Stop_Name(站点名称,附加的信息)。
对模型师来说,最主要的⼯作是准备好这个表格。⼀般有以下⼏个情况:
(1)你已经获得线路和站点的两个GIS图层,要在路⽹上新建RouteSystem。⽐较可惜的是线路图层
⽤不上,只能使⽤站点图层的数据。可以事先为站点图层的添加属性,为站点所属的线路编号,使⽤TAG地理运算(参考TransCAD⽤户⼿册)获得站点最近的节点ID填充到Node_ID字段,因为都是站点,Stop_Flag的值均设置为1。表格准备好就可以创建RouteSystem了。这种⽅法建⽴的RouteSystem,站点都是在路⽹节点上的,和EMME和CUBE的⽅法类似,站点之间的线路⾛向是采⽤最短路径,并没有⽤到线路图层关于⾛向的信息。还有⽐较⿇烦的事情是,⼀条线路的多个站点可能都会被放到同⼀个节点上,需要检查错误后修正。虽然TransCAD可以检查这种情况并删除重复的站点,但这个做法已经失真了。
(2)你在⽼的路⽹上已经有⼀个⽼的RouteSystem,由于模型的⼤规模更新,例如局部区域的规划路⽹⼤量更新。在这种情况下,你仍旧可以采⽤Stop图层,按上⾯的⽅法创建表格,这时候⽼的节点编号Node_ID字段不要简单使⽤地理运算最近的节点,⽽是使⽤Transit菜单下的TagStops to Node菜单。在新的路⽹,可以检查表格中的节点ID是否在路⽹丢失(可使⽤数据表链接查询是否有没有对应到的),对丢失节点ID的站点,重新⽤地理运算获得新路⽹最近的节点ID。然后再使⽤表格创建RouteSystem。当然,如果你有⼀定的GISDK编程基础,还可以将公交线路⾛过的那些⾮站点的节点输出来,放到表格中,Stop_Flag的值设置为0,这样就可以最⼤限度保证公交线路的⾛向,⽽不是站点之间的最短路径。
⼆、利⽤TransCAD的GTFS数据导⼊功能
GTFS数据是Google公司提出的公交数据通⽤格式,能⽅便第三⽅开发者基于此,开发服务⼤众的应⽤服务。TransCAD可以导⼊GTFS格式的公交数据,⾃动与路⽹进⾏匹配,⽣成RouteSystem。
(1)你已经获得了某个城市的GTFS数据,并且坐标系统和你有的路⽹⼀致。这种情况下,你直接使⽤TransCAD的导⼊功能即可。
导⼊界⾯还有⼀些⾼级的设置,关于界⾯的⼀些解释和使⽤⽅法,请参考⽤户⼿册。这种情况下,GTFS系统可以导⼊为RouteSystem并和当前路⽹产⽣关联,如果路⽹和公交线路的地理匹配程度较好,导⼊的效果还是不错的。不过没有⼀个⼯具去查看线路导⼊的效果如何。
(2)你已经获得了某个城市的GTFS数据,但没有路⽹。这种情况下,TransCAD可以导⼊,并⽣成公交线路⾛过需要的基础路⽹,但是要⽤于模型还是要不少基础路⽹的编辑⼯作的,不展开描述。
⾃动⽣成的基础路⽹,同⼀⾛向线路不会重复产⽣路段,站点处路⽹产⽣节点,双向路段⽣成两个GIS对象(并⾮TransCAD常规的⼀个路段对象管理⽅式),节点相同。
(3)你已经获得了线路和站点的两个GIS图层,⽽不是GTFS数据,并且坐标系统和你的路⽹⼀致。这种情况下,你要做的事情就是把你的数据写成GTFS数据格式,你需要了解GTFS数据的具体情况,⾄于怎么编程GTFS数据,要看个⼈的编程或者数据操作能⼒各显神通了。
完整的GTFS格式是⼀个zip格式的压缩包,⾥⾯包含13个与公交相关的txt逗号分割符⽂件以及很多字段,但由于实际能获取互联⽹公交数据很有限,且最少只要其中的6个⽂件就可以⽣成公交线⽹,把获得的公交数据列放置到相应的位置以符合GTFS的数据格式要求,⽣成其中的7个txt⽂件即可导⼊TransCAD。6个必须⽂件与1个可选⽂件说明如下:
[⽂件(公交公司⽂件,必须)⽰例:
agency_id,agency_name
1,上海松江公共交通有限公司
2,上海⾦⼭巴⼠公共交通有限公司
此⽂件主要⽤到了公交线路属性⾥⾯的所属公交公司字段,需要将所有线路的所属公交公司去重,得到唯⼀的公司名,并赋予公司编号(agency_id)。
[2]、⽂件(服务⽇期⽂件,必须)⽰例:
service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
这⾥设置服务⽇期的模式,每种模式只要⼀条记录。⼀般线路都是⼀周7天运营,因此第⼀种模式每天都赋值为1,部分线路区分⼯作⽇与双休⽇的,可以设置相应的模式,在对应运营天赋值1,没有运营天赋值为0。
[⽂件(线路⽂件,必须)⽰例:
route_id,agency_id,route_short_name,route_long_name,route_type
格雷码
1,1,125路U,125路(外环路地铁站-新桥⽕车站),3
2,1,125路D,125路(新桥⽕车站-外环路地铁站),3
每条分向线路给⼀个线路ID(route_id),公司ID(agency_id)对应公交公司⽂件的公司ID,短线路名
(route_short_name)与长线路名(route_long_name)就⽤简化的分向线路名与分向线路名。线路类型
dm500s接收机>初一数学奥赛题
(route_type)⼀般就写3,默认为公交。
[⽂件(线路线形⽂件,可选,但推荐⽣成)⽰例:
本原多项式[⽂件(线路线形⽂件,可选,但推荐⽣成)⽰例:
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence
如果没有此⽂件,则TransCAD导⼊后不⽣成物理站点,且站点之间的线路⾛向⼀般按照最短路径⽣成。由于互联⽹公交数据⼀般会提供公交⾛向的形状点坐标,因此⽣成此⽂件可以使线路更符合实际的⾛向。
这⾥给每⼀条分向线路赋⼀个线形ID(shape_id),按照线路形状点坐标顺序码(shape_pt_sequence)排序。
[⽂件(线路路段⽂件,必须)⽰例:
route_id,service_id,trip_id,trip_short_name,shape_id
1,1, 1,125路U,1
2,1, 2,125路D,2
线路ID(route_id)、服务模式ID(service_id)、路段ID(trip_id)与线形ID(shape_id)为了⽅便都可以设置为相同的值。这三个值能让线路路段⽂件关联线路⽂件、服务⽇期⽂件以及线路线形⽂件。
[⽂件(线路站点⽂件,必须)⽰例:
stop_id,stop_name,stop_lat,stop_lon
给每个线路站点设置站点ID(stop_id)。
[7]⽂件(站点服务时间⽂件,必须)⽰例:
trip_id,arrival_time,departure_time,stop_id,stop_sequence,
1,,,1,1
1,,,2,2
这⾥⽤路段ID(trip_id)与站点ID(stop_id)和线路路段⽂件与线路站点⽂件关联。按照站点顺序码(stop_sequence)排序。如果有公交到达每站的时间(arrival_time)与离开每站的时间(departure_time)数据则可以写⼊。
根据获得的公交数据详细程度,还可以参考GTFS的格式规则,补充更多的字段信息。
三、利⽤TransCAD⼆次开发⼯具导⼊
虽然TransCAD和VISUM软件都有导⼊GTFS数据等功能,但实践的操作中,精确度和使⽤⽅便还不是那么令⼈满意。为此,⼀款TransCAD⼆次开发⼯具经过6年的开发,已经⾮常成熟。
1、输⼊数据
路桥农村合作银行(1)公交线路:为线层格式,包括线路名字段,是公交线路唯⼀的名字,需要区分上下⾏。
(2)站点层:即公交站点图层,要求线路名字段和线路层中的线路名字段对应;站点序号字段:站点图层⼀条线路中站点的顺序号。
(3)公交线路依附的道路⽹络:需要达到交通模型使⽤要求的拓扑属性。
2、⼯作原理
TransCAD软件的GISDK开发语⾔提供了创建公交线路系统的全套函数。根据上述输⼊数据,创建模型数据库的关键技术如下:
(1)创建公交线路的缓冲区(Buffer),对道路⽹络中缓冲区所包含的路段建⽴⼦⽹集合,公交线路经过的路段优先在⼦⽹中查,以约束线路⾛向。缓冲区越⼩,约束的精度越⾼。若路⽹坐标匹配程度较⼤,可以适当加⼤缓冲区,但⼀般不超过⼀个街区的宽度。
(2)站点可位于路段任意位置是研究最⼤的难点,⼀些站点位于交叉⼝附近,加上位置误差和地图匹配问题,只从空间位置上难以判别站点属于哪⼀个路段。因此对⼀条线路的站点序列进⾏递归前向探索,以确定车站属于哪⼀个路段并判断公交线路在路段上的⽅向。
(3)在道路⽹中,需要对明显不可能的路段进⾏排除。例如公交站点设置的路段,⼀般不会是⾼架、隧道和桥梁,可以通过选择集来限制。⽐如对于形⼼连线,其他模型需要的虚拟连线,也包含在路⽹图层中,但实际上这些路段是不存在的,可以排除公交线路的通⾏。再如,轨道交通⽹络不允许地⾯公交通⾏,可将地⾯公交和轨道交通交路通过不同的路⽹集合分批创建。
软件的⼀些界⾯如下。
ansoft3、扩展功能
(1)灵活选择部分线路导⼊,提⾼导⼊精度。可以对线路先进⾏⽐较严格的条件(缓冲区参数设置)导⼊,⽽对⽆法导⼊的线路或者站点错误⽐较多的线路,进⾏单独选择后,放宽条件导⼊。另外,对于新开⾏的线路进⾏添加导⼊,⽽不需要完全重新创建。
(2)线路更新和属性数据加载。线路更新主要⽤于数据的更新,例如公交线路的⾛向调整。程序可⾃动删除公交系统中重名的线路,并更新属性数据,⾃动进⾏关联加载。
(3)导⼊数据的检验和修正。公交线路的导⼊成功率依赖于模型的路⽹完善程度。例如公交线路经过的地区没有路⽹,程序可以让线路⾃动绕⾏,但若设站的地⽅没有路⽹,站点⽣成只好⾃动放弃。程序可以⾃动给出各种错误的报表,以便模型师⼈⼯核实少量错误。⽣成的模型公交系统和原始公交线路的差别检验⼯作⾮常重要。附加模块可根据错误报表指定线路名称查询对⽐,也可逐条浏览。⽀持批量保存为位图,可⽤于公交调整线路的查,便于模型长期维护。公交模型数据创建校验⽰例如下图。
(4)⽹站地图数据下载和GIS图层⽣成⼯具,地图坐标匹配矫正⼯具等。
4、其他配套功能
(1)路段公交站点组⼯具:百度等互联⽹提供的公交站点数据,或其他公交站点数据,针对同⼀路段上的同⼀个物理站台处,公交站点不是同⼀坐标,会出现散点分布。为了适合交通模型使⽤,宜组集中到⼀个点。该⼯具会根据组站点的重⼼对⼀站点进⾏移动聚合。组的容限是组范围的约定值。程序会避免同⼀线路的前后两个站点组到⼀起。
(3)中断公交线路修复:对因路段打断⽽未修复的公交线路(包括路⽹的⼈⼯和⾃动编辑情况),实现⾃动修复连通。中断区段的连通所⾛过的道路,可以进⾏集合设置,避免公交线路⾛⾏形⼼连线等交通模型辅助线路段。
(4)导出为EMME和Cube软件格式(VISUM可导⼊):TransCAD软件的公交模型数据库是⼀般通⽤格式(站点可以在路段中间),导出为特殊格式⾃然⽐较容易实现了。
5、应⽤案例
上海市2400余条公交线路,近6万个站点可以在1⼩时左右成功创建。软件还提供了报错功能(例如站点所在位置的周边地区没有基础道路⽹络),错误率在2%以内,可根据错误报告利⽤检验⼯具,⼈⼯修正少量站点和线路。如果按照传统的⼈⼯绘制公交线路,即使是⽐较熟练的模型师,也⾄少需要100个⼯作⽇,该软件⼤⼤提⾼了公交模型数据库的创建效率,并保证了很⾼的精度。软件在北京、天津、⼴州、杭州、乌鲁⽊齐、嘉兴、绍兴、东莞等地也得到成功应⽤。

本文发布于:2024-09-21 15:33:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/44819.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:线路   站点   模型   公交
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议