全部产品

车辆调度

更新时间:2020-12-11 22:11

1、服务介绍

本服务适用于景区巴士及轮船等园内交通工具停靠点的调度,本服务依赖交通工具GPS数据、排队处客流数据、售票及核销的动态数据接入,再结合路线、交通工具等静态信息,输出指定停靠点需要排队人数、排队预估时长和是否需要调度车辆进行疏导的结果。

2、API说明

本服务包含数据的接入和结果的输出,请务必注意,必须有数据输入,才可以有结果输出。

2.1 数据接入

2.1.1 接入方式

对接详情参考数据对接指引

2.1.2 接口说明

车辆数据

模型ID: PassengerVehicleLog
模型版本: 1.0

名称 属性 类型 必须 备注
车牌号 plateNumber String 车牌号,如无车牌则为车辆唯一编号
位置经度 longitude Double 位置经度-高德坐标系
位置经度 latitude Double 位置经度-高德坐标系
位置 position String 当前位置名称,例如:”江西庐山公安局附近19米”
路线 lineId String 车辆线路(仅支持固定线路车辆)
座位总数 totalSeats Integer 比如“10”


要求:
1、30秒上报一次车辆坐标数据。
2、车辆出发、每次到站及离站上报空余座位(可选)、当前站点、状态数据。

票务数据

模型ID: PassengerTicketingLog
模型版本:1.0

1、票务数据和入园票务保持一致,详情请参考智慧票务 1.2模块。
2、景点数据使用项目整体数据,详情请参考景区管理 1.1模块。


要求:
买票和刷票后,分别上报一次票数数据

站点巴士/客流数据

模型ID:PassengerStationLog
模型版本:1.0

名称 属性 类型 必须 备注
站点ID scenicSpotId String 站点ID,文旅景点ID - scenicSpotId
排队人数 passengerQueueLength Integer 客流排队人数
车辆总数 totalVehicle Integer 可调度车辆总数


要求:
30秒上报更新站点排队及可调度车辆数据

车辆路线数据(可选)

模型ID:PassengerVehiclePath
模型版本:1.0

名称 属性 类型 必须 备注
路线ID lineId String 线路ID
站点ID路径 stationIdPath String 站点ID列表 :S1/S2/S3
站点名路径 stationNamePath String 站点名列表:站点1/站点2/站点3

2.2 调度结果输出

2.2.1 接入方式

SDK依赖

本例提供java sdk pom依赖示例,更多语言SDK详情请参考API调用对接指引

  1. <dependency>
  2. <groupId>com.aliyun.api.gateway</groupId>
  3. <artifactId>sdk-core-java</artifactId>
  4. <version>1.6.0.3</version>
  5. </dependency>

示例代码

  1. HttpClientBuilderParams builderParams = new HttpClientBuilderParams();
  2. builderParams.setAppKey("${appKey}"); // 请填写正确的AppKey
  3. builderParams.setAppSecret("${appSecret}"); // 请填写正确的AppSecret
  4. ApacheHttpClient apacheHttpClient = new ApacheHttpClient(builderParams);
  5. IoTApiRequest request = new IoTApiRequest();
  6. //设置api的版本
  7. request.setApiVer("1.0.0");
  8. //如果需要登录,设置当前的会话的token
  9. //设置参数
  10. request.putParam("model", "xxxxxx");
  11. request.putParam("projectId", "yyyyy");
  12. Map<String, Object> param = new HashMap<>(8);
  13. param.put("startTime", "2019-01-01");
  14. param.put("endTime", "2019-01-31");
  15. param.put("limit", 10);
  16. request.putParam("paramJson", JSONObject.toJSONString(param));
  17. //请求参数域名、path、request
  18. String host = "api.link.aliyun.com";
  19. String path = "/tourism/statistics/query";
  20. System.out.println(JSON.toJSONString(request));
  21. ApiRequest apiRequest = new ApiRequest(HttpScheme.HTTP, host,
  22. HttpMethod.POST_BODY, path, JSON.toJSONBytes(request));
  23. apiRequest.setHttpConnectionMode(HttpConnectionModel.MULTIPLE_CONNECTION);
  24. ApiResponse response = apacheHttpClient.sendSyncRequest(apiRequest);
  25. System.out.println(request.getId());
  26. System.out.println(
  27. "response code = " + response.getCode() + " response message = " + response.getMessage()
  28. + " response content = " + new String(response.getBody(),
  29. "utf-8"));

2.2.2 接口说明

站点排队查询

Path 版本 是否登录
/tourism/passenger/queue/query 1.0.0

入参

参数名 数据类型 是否必填 参数描述
scenicSpotIds List 站点ID列表,为空则读取所有站点

出参

参数名 数据类型 参数描述
code Integer 错误码,code=200表示正确,其他表示错误
message String 结果信息,正确为success,错误的时候是错误提示
data JSONArray 结果数据
-queueLength Integer 排队人数
-waitingTime Integer 排队时长(秒)
-needVehicle Integer 需要车辆
-scenicSpotId String 站点ID
-scenicSpotName String 站点名称
-nextVehicleArriveTime Integer 下一辆车到达时间(秒),依赖车辆行驶固定路线
-nextVehiclePlateNumber Integer 下一辆车到达车牌