transferSolutions


URI

<transferNetwork_uri>/solutions[.<format>]

支持的方法

GETHEAD

父资源

transferNetwork

介绍

用于进行交通换乘分析,返回所有的乘车方案,根据方案中的介绍信息可以获取具体的乘车路线。

支持的方法:

支持的表述格式:rjson、json、html、xml。

资源层次

HTTP 请求方法

对如下 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]

GET 请求

获取所有的乘车方案,相当于进行了一次交通换乘分析。

请求参数

在 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:
  • 方案1的总消耗为:10 + 1*15 = 25
  • 方案2的总消耗为:15 + 0.5*15 = 22.5
此时方案2消耗更低。
2. 假设权重比为2:
  • 方案1的总消耗为:10+1*2 = 12
  • 方案2的总消耗为:15+0.5*2 = 17
此时方案1消耗更低。
priorStops long[] 优先站点的 ID 集合。
如果设置某些线路为优先站点,则进行换乘分析时会优先考虑这些站点,但最优换乘方案是由多个参数共同决定的,因此并不一定会包含这些站点。另外,优先的站点必须是线路上的站点,例如,某站点在位置上位于某条线路上,但在关系表中不存在二者的对应关系,那么设置该站点为优先站点是无效的,换乘分析时可能不会包含通过该站点的线路。
priorLines long[] 优先线路的 ID 集合。
如果设置某些线路为优先线路,则进行换乘分析时会优先考虑这些线路,但最优换乘方案是由多个参数共同决定的,因此并不一定会包含这些线路。
evadeLines long[] 避让线路的 ID 集合。

如果设置某些线路避让线路,则进行换乘分析时不会使用这些线路,例如,设置123路为避让线路,进行公交换乘分析,即使乘坐该线路可以到达目的地,换乘方案中也不会包含乘坐该线路的方案。

注意:如果将某线路同时设置为优先或者避让的线路,系统将以避让线路来处理。

evadeStops long[] 避让站点的 ID 集合。

如果设置某些线路避让站点,则进行换乘分析方案中不会包含这些站点,例如,设置天安门西站为避让站点,那么公交换乘方案中就不会包含该站点,也就是不会在该站点换乘或下车。

注意:如果将某站点同时设置为优先或者避让的站点,系统将以避让站点来处理。另外,避让的站点必须是线路上的站点,例如,某站点在位置上位于某条线路上,但在关系表中不存在二者的对应关系,那么设置该站点为避让站点是无效的,换乘分析的结果中仍有可能包含该站点。

returnGuides boolean 是否返回所有换乘路线。默认为 false,此时只返回默认的换乘路线,即 defaultGuide。当设置为 true 时,将额外返回交通换乘车方案集合对应的换乘路线集合,即 transferGuides,
travelTime Date 出行的时间。
如果设置了该参数,在分析时,则会考虑线路的首末班车时间的限制,即在返回的结果中会提示公交的首末班发车时间。

响应结构

字段 类型 说明
solutionItems TransferSolution[] 返回的乘车方案集合
defaultGuide TransferGuide 默认的乘车方案及相关信息
transferGuides 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 表述如下:

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 transferSolutions 资源是否存在,或者客户端是否有权限访问 transferSolutions 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 transferSolutions 资源是否支持<format>格式的表述。

请参见