全部产品
云市场

客流分析

更新时间:2019-10-09 17:14:55

1. 概述

客流分析领域服务提供客流空间管理、人员及设备基础管理、监控点管理,以及传统客流数据分析、人脸客流数据分析、鱼眼热力数据分析服务。

2. 服务模型

服务列表

接口路径 接口名称 当前版本
设备绑定监控点 /CustomerFlowService/addMonitorToDevice 1.0.0
将空间加入分组 /CustomerFlowService/addSpaceToGroup 1.0.0
添加分组 /CustomerFlowService/createGroup 1.0.0
创建监控点 /CustomerFlowService/createMonitor 1.0.0
添加空间 /CustomerFlowService/createSpace 1.0.0
添加人员 /CustomerFlowService/createUsers 1.0.0
删除分组 /CustomerFlowService/deleteGroup 1.0.0
删除监控点 /CustomerFlowService/deleteMonitor 1.0.0
删除空间 /CustomerFlowService/deleteSpace 1.0.0
删除人员 /CustomerFlowService/deleteUsers 1.0.0
获取设备详情 /CustomerFlowService/getDeviceInfo 1.0.0
获取监控点列表 /CustomerFlowService/getMonitor 1.0.0
获取指定空间详情 /CustomerFlowService/getSpace 1.0.0
获取人员详情 /CustomerFlowService/getUser 1.0.0
编辑分组 /CustomerFlowService/modifyGroup 1.0.0
创建监控点 /CustomerFlowService/modifyMonitor 1.0.0
编辑空间 /CustomerFlowService/modifySpace 1.0.0
编辑人员 /CustomerFlowService/modifyUsers 1.0.0
获取设备列表 /CustomerFlowService/queryDeviceList 1.0.0
获取分组列表 /CustomerFlowService/queryGroup 1.0.0
获取监控点列表 /CustomerFlowService/queryMonitor 1.0.0
获取空间列表 /CustomerFlowService/querySpace 1.0.0
设备解绑监控点 /CustomerFlowService/removeMonitorToDevice 1.0.0
将空间移出分组 /CustomerFlowService/removeSpaceToGroup 1.0.0
设备绑定监控点 /CustomerFlowService/addMonitorToDevice 1.0.0
将空间加入分组 /CustomerFlowService/addSpaceToGroup 1.0.0
添加分组 /CustomerFlowService/createGroup 1.0.0

接口定义

最新接口定义请参考(请使用阿里云账号登录)

https://iot.console.aliyun.com/lh/config/model/detail?type=service&code=CustomerFlowService&version=1.0&serviceType=SERVICE_MODEL_D_DECLARE

开发包依赖

  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("1234567"); // 请填写正确的AppKey
  3. builderParams.setAppSecret("xxxxxx"); // 请填写正确的AppSecret
  4. ApacheHttpClient apacheHttpClient = new ApacheHttpClient(builderParams);
  5. IoTApiRequest request = new IoTApiRequest();
  6. //设置api的版本,并非模型中定义的版本,目前固定为 1.2
  7. request.setApiVer("1.0");
  8. //如果需要登陆,设置当前的会话的token
  9. //设置参数
  10. request.putParam("name", "aaa");
  11. //请求参数域名、pathrequest
  12. String host = "service-mesh.api-iot.cn-shanghai.aliyuncs.com";
  13. String path = "/CustomerFlowService/createUsers";
  14. System.out.println(JSON.toJSONString(request));
  15. ApiRequest apiRequest = new ApiRequest(HttpScheme.HTTP, host,
  16. HttpMethod.POST_BODY, path, JSON.toJSONBytes(request));
  17. apiRequest.setHttpConnectionMode(HttpConnectionModel.MULTIPLE_CONNECTION);
  18. ApiResponse response = apacheHttpClient.sendSyncRequest(apiRequest);
  19. System.out.println(request.getId());
  20. System.out.println(
  21. "response code = " + response.getCode() + " response message = " + response.getMessage()
  22. + " response content = " + new String(response.getBody(),
  23. "utf-8"));

示例代码中的path的规则为:/{moduleid}/{api}其中moduleid 是使用的模型名称,api是模型中对应的服务接口

3. 数据模型

传统客流分析数据(CustomerFlowData)

属性名称 属性标识符 数据类型 数据描述 是否必须
空间id spaceId String 空间Id Y
空间名称 spaceName String 空间名称 Y
空间类型 spaceType Integer 1广场 2楼层 3门店 4 区域 Y
周期 period Integer 1天 2小时 3十分 Y
时间 recordTime Date 分析记录时间 Y
进客流 inNum Integer 进客流数量 Y
出客流 outNum Integer 出客流数量 Y
外部进客流 outsideInNum Integer 外部进客流数量 Y
外部出客流 outsideOutNum Integer 外部出客流数量 Y

人脸客流分析数据(CustomerFaceFlowData)

属性名称 属性标识符 数据类型 数据描述 是否必须
人员id userid String 人员id N
设备id deviceId String 拍摄的设备id Y
性别 gender Integer 1 男 2女 99未知 Y
年龄 age Integer 识别的年龄 Y
情绪 mood Integer 情绪 1平静 2高兴 3愤怒 4悲伤 99 未知 Y
时间 recordTime Date 记录时间 Y
图片地址 pictureUrl String 原始图像地址 Y
人员类型 userType Integer 1 店员 2 顾客 99其他 Y

鱼眼热力数据(鱼眼热力数据)

属性名称 属性标识符 数据类型 数据描述 是否必须
空间Id spaceId String 空间id Y
设备Id deviceId String 设备Id Y
记录时间 recordTime Date 记录时间 Y
X坐标 x Float 热力X坐标 Y
Y坐标 y Float 热力Y坐标 Y

开发包依赖

  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. SyncApiClient syncClient = SyncApiClient.newBuilder()
  2. .appKey("1234567")
  3. .appSecret("xxxxx")
  4. .build();
  5. IoTApiRequest request = new IoTApiRequest();
  6. //设置api的版本
  7. request.setApiVer("1.0");
  8. Map<String, Object> requstMap = Maps.newHashMap();
  9. requstMap.put("apiVer", "1.0");
  10. request.setRequest(requstMap);
  11. // 接口参数
  12. params.put("modelId", "鱼眼热力数据");
  13. request.setParams(params);
  14. //请求参数域名、pathrequest
  15. Map<String, String> headerMap = Maps.newHashMap();
  16. ApiResponse response = syncClient.postBody("api.link.aliyun.com",
  17. "/data/model/data/query", request, true, headerMap);
  18. String respBody = new String(response.getBody(), "utf-8");
  19. System.out.println("response code = " + response.getStatusCode() + " response content = " + respBody);