<transferNetwork_uri>/solutions[.<format>]
用于进行交通换乘分析,返回所有的乘车方案,根据方案中的介绍信息可以获取具体的乘车路线。
支持的方法:
支持的表述格式:rjson、json、html、xml。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/traffictransferanalyst-sample/restjsr/traffictransferanalyst/Traffic-Changchun/solutions.rjson?solutionCount=5&transferTactic=LESS_TIME&transferPreference=NONE&walkingRatio=10&points=[175,164]
获取所有的乘车方案,相当于进行了一次交通换乘分析。
在 URI 中的“?”之后,传入如下参数:
名称 | 类型 | 含义 |
points | int[]
Point2D[] |
【必选参数】
两种查询方式: 1. 按照公交站点的起止 ID 进行查询,则 points 参数的类型为 int[],形如:[起点 ID、终点 ID],公交站点的 ID 对应服务提供者配置中的 stopIDField; 2. 按照起止点的坐标进行查询,则 points 参数的类型为 Point2D[],形如:[{"x":44,"y":39},{"x":45,"y":40}]。 |
transferTactic | TransferTactic | 公交换乘策略类型,包括时间最短、距离最短、最少换乘、少步行四种选择,默认为时间最短。 |
transferPreference | TransferPreference | 乘车偏好,默认无偏好。 |
solutionCount | int | 乘车方案的数量,默认值为5。 |
walkingRatio | double | 步行与公交的消耗权重比,默认值为 10。此值越大,则步行因素对于方案选择的影响越大。
例如现在有两种换乘方案(在仅考虑消耗因素的情况下): 方案1:坐车10公里,走路1公里; 方案2:坐车15公里,走路0.5公里; 1. 假设权重比为15:
2. 假设权重比为2:
|
priorStops | long[] | 优先站点的 ID 集合。
如果设置某些线路为优先站点,则进行换乘分析时会优先考虑这些站点,但最优换乘方案是由多个参数共同决定的,因此并不一定会包含这些站点。另外,优先的站点必须是线路上的站点,例如,某站点在位置上位于某条线路上,但在关系表中不存在二者的对应关系,那么设置该站点为优先站点是无效的,换乘分析时可能不会包含通过该站点的线路。 |
priorLines | long[] | 优先线路的 ID 集合。
如果设置某些线路为优先线路,则进行换乘分析时会优先考虑这些线路,但最优换乘方案是由多个参数共同决定的,因此并不一定会包含这些线路。 |
evadeLines | long[] | 避让线路的 ID 集合。
如果设置某些线路避让线路,则进行换乘分析时不会使用这些线路,例如,设置123路为避让线路,进行公交换乘分析,即使乘坐该线路可以到达目的地,换乘方案中也不会包含乘坐该线路的方案。 注意:如果将某线路同时设置为优先或者避让的线路,系统将以避让线路来处理。 |
evadeStops | long[] | 避让站点的 ID 集合。
如果设置某些线路避让站点,则进行换乘分析方案中不会包含这些站点,例如,设置天安门西站为避让站点,那么公交换乘方案中就不会包含该站点,也就是不会在该站点换乘或下车。 注意:如果将某站点同时设置为优先或者避让的站点,系统将以避让站点来处理。另外,避让的站点必须是线路上的站点,例如,某站点在位置上位于某条线路上,但在关系表中不存在二者的对应关系,那么设置该站点为避让站点是无效的,换乘分析的结果中仍有可能包含该站点。 |
travelTime | Date | 出行的时间。
如果设置了该参数,在分析时,则会考虑线路的首末班车时间的限制,即在返回的结果中会提示公交的首末班发车时间。 |
字段 | 类型 | 说明 |
solutionItems | TransferSolution[] | 返回的乘车方案集合 |
defaultGuide | TransferGuide | 默认的乘车方案及相关信息 |
suggestWalking | boolean | 是否建议步行 |
对 transferSolutions 资源执行如下 GET 请求:
http://localhost:8090/iserver/services/traffictransferanalyst-sample/restjsr/traffictransferanalyst/Traffic-Changchun/solutions.rjson?solutionCount=5&transferTactic=LESS_TIME&transferPreference=NONE&walkingRatio=10&evadeLines=&evadeStops=&priorLines=&priorStops=&points=[175,179]&travelTime=15:30
则返回的 rjson 表述如下:
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 transferSolutions 资源是否存在,或者客户端是否有权限访问 transferSolutions 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 transferSolutions 资源是否支持<format>格式的表述。