百度地图 API
  1. 功能说明
百度地图 API
  • 获取密钥
    • 获取秘钥
  • 地点检索
    • 地点检索V2.0
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
      • 资源下载
      • 行政区划区域检索
      • 圆形区域检索
      • 地点详情检索
  • 地点输入提示
    • 地点输入提示V2.0
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 地点输入提示接口
  • 正/逆地理编码
    • 地理编码
      • 服务介绍
      • 使用指南
      • 常用问题
      • 更新日志
      • 资源下载
      • 地理编码
    • 全球逆地理编码
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 逆地理编码
  • 轻量级轨迹服务
    • 轨迹纠偏API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 轨迹纠偏
    • 轨迹重合率分析API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 轨迹重合率分析API
    • 轨迹分析API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 轻量轨迹分析API
  • 道路信息预警服务
    • 超速判断API
      • 服务介绍
      • 使用指南
      • 更新日志
      • 超速判断API
  • 路线规划
    • 轻量级路线规划
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 服务文档
      • 驾车路线规划
      • 骑行路线规划
      • 步行路线规划
      • 公交路线规划
    • 路线规划
      • 服务介绍
      • 使用指南
      • 常见问题
      • 更新日志
      • 服务文档
      • 摩托车路线规划
      • 公交路线规划
      • 骑行路线规划
      • 驾车路线规划
    • 货车路线规划
      • 服务介绍
      • 使用指南
      • 常用问题
      • 更新日志
      • 服务文档
      • 货车路线规划
  • 智能调度
    • 路网矩阵API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
      • 路网创建接口
      • 路网查询接口
      • 路网新增/减少网点/更新网点坐标
      • 网点线路更新
      • 路网删除
      • 路网任务执行时间查询接口
      • 路网任务权重修改接口
    • 排单排线API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
      • 排单排线计算
      • 排单排线查询
      • 线内优化排单计算
      • 线内优化结果查询
      • 多点有序排单计算
      • 多点有序排单查询
    • 快速排单API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 快速排单计算
      • 快速排单查询
    • 多仓排单API
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 多仓排单排线计算
      • 多仓排单排线查询
  • 私有化图层
    • 私有化地址库
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
    • 私有化路线库
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常用问题
      • 更新日志
  • 天气查询
    • 国内天气查询
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 基础服务
      • 高级权限(国内经纬度天气查询)
    • 海外天气查询
      • 服务介绍
      • 服务文档
      • 使用指南
      • 常见问题
      • 更新日志
      • 资源下载
      • 基础服务
      • 高级权限(海外经纬度天气查询)
  • 批量算路
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务地址批量算路
  • 货车批量算路
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 货车路线规划
  • 地址解析聚合
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 地址解析聚合
  • 城乡类型判别
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 城乡类别判别
  • 行政区划查询服务
    • 服务介绍
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务文档
    • 行政区划查询服务
  • 区域边界查询服务
    • 服务介绍
  • 普通IP定位
    • 服务介绍
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务文档
    • 普通IP定位
  • 智能硬件定位
    • 服务介绍
    • 使用指南
    • 常见问题
    • 更新日志
    • 服务文档
    • 智能硬件定位
  • 鹰眼轨迹
    • 概述
    • 常见问题
    • 更新日志
    • 相关下载
    • 获取密钥
      • 获取密钥
    • 开发指南
      • 账号和获取密钥
      • 鹰眼基本概念
      • 权限和配额
      • Hello鹰眼
      • 连接设备
      • 轨迹追踪
      • 轨迹存储
      • 轨迹查询
      • 轨迹纠偏
      • 空间搜索
      • 地理围栏
      • 轨迹分析
      • 经验行为分析
      • 交通方式识别
      • 图像存储
      • 全球轨迹服务
      • 轨迹管理台使用手册
      • 轨迹管理台开源代码
    • 行业解决方案
      • 物流车队管理方案
    • 鹰眼Web服务API
      • 接口总览
      • 附录
      • 终端管理
        • 终端管理
        • 添加entity
        • 更新entity
        • 删除entity
        • 查询entity
      • 空间搜索
        • 空间搜索
        • 关键字搜索
        • 矩形范围搜索
        • 周边搜索
        • 多边形搜索
        • 行政区搜索
      • 轨迹上传
        • 轨迹上传
        • 上传单个轨迹点
        • 批量添加轨迹点
      • 轨迹查询和纠偏
        • 轨迹查询和纠偏
        • 实时纠偏
        • 查询轨迹里程
        • 轨迹查询与纠偏
      • 轨迹分析
        • 轨迹分析
        • 停留点查询
        • 驾驶行为分析
      • 经验行为分析
        • 经验行为分析
        • createjob接口创建任务
        • getjob接口定期查询任务
      • ETC费用
        • ETC费用
        • 货车ETC费用
        • 乘用车ETC费用
      • 地理围栏管理
        • 地理围栏管理
        • 创建圆形围栏
        • 更新圆形围栏
        • 创建多边形围栏
        • 更新多边形围栏
        • 创建线型围栏
        • 更新线型围栏
        • 创建行政区划围栏
        • 更新行政区划围栏
        • 删除围栏
        • 删除围栏可去除监控的entity
        • 增加围栏需监控的entity
        • 查询围栏
        • 查询围栏监控的所有entity
      • 地理围栏报警
        • 地理围栏报警
        • 查询监控对象相对围栏的状态
        • 根据坐标查询监控对象相对围栏的状态
        • 查询某监控对象的围栏报警信息
        • 批量查询所有围栏报警信息
      • 批量导出轨迹
        • 批量导出轨迹
        • 创建任务
        • 删除任务
        • 查询任务
      • 历史轨迹搜索
        • 历史轨迹搜索
        • 创建检索任务
        • 查询搜索
        • 删除搜索任务
      • 自定义属性字段
        • 自定义属性字段
      • 坐标系说明
        • 坐标系说明
    • 鹰眼Android SDK
      • 概述
      • 获取密钥
      • 更新日志
      • 相关下载
      • Web轨迹管理台
      • 开发指南
        • 快速入门
          • 简介
          • 账号和获取密钥
          • 创建鹰眼服务
          • 鹰眼基本概念
          • 权限和配额
          • 配置工程
          • 隐私合规接口
          • Hello Trace
        • 功能说明
          • 轨迹追踪
          • 缓存轨迹处理
          • 空间搜索
          • 轨迹查询
          • 轨迹纠偏
          • 里程计算
          • 轨迹分析
          • 地理围栏
          • 图像存储
        • 其他说明
          • 服务的存活
          • 电量和流量
          • 运营商网络
          • 坐标系说明
    • 鹰眼iOS SDK
      • 概述
      • 获取密钥
      • 更新日志
      • 相关下载
      • Web轨迹管理台
      • 开发指南
        • 快速入门
          • 简介
          • 账号和获取密钥
          • 创建鹰眼服务
          • 鹰眼基本概念
          • 权限和配额
          • 配置工程
          • CocoaPods自动配置
          • 隐私合规接口说明
        • 功能说明
          • 轨迹追踪
          • 缓存轨迹处理
          • 空间搜索
          • 轨迹查询与纠偏
          • 里程计算
          • 地理围栏
          • 轨迹分析
        • 其他说明
          • 运营商网络
          • 坐标系说明
    • 鹰眼硬件设备
      • 鹰眼硬件产品概览
      • 博实结BSJ-M11
      • 成为CW-601E
      • 北斗易通E-198A
    • Web轨迹管理台
      • Web轨迹管理台
  • 实时路况查询
    • 服务介绍
    • 服务文档
    • 使用指南
    • 更新日志
    • 道路路况查询
    • 矩形区域路况查询
    • 多边形区域路况查询
    • 周边路况查询
  • 时区
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常用问题
    • 更新日志
    • 时区
  • 批量服务
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 批量服务
  • 推荐上车点
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 推荐上车点
  • 坐标转换
    • 服务介绍
    • 服务文档
    • 使用指南
    • 常见问题
    • 更新日志
    • 坐标转换
  • 地图调起
    • 服务介绍
    • 常见问题
    • 更新日志
    • 相关下载
    • 开发指南
      • 简介
      • Hello World
    • 接口说明
      • web端
      • android端
      • iOS端
      • 地图标点功能
      • 地址解析
      • 反向地址解析
      • POI地点检索
      • 公交、地铁线路查询
      • 公交、驾车、步行路线规划
      • POI详情页展示
      • 全景服务
      • 展示地图
      • 自定义打点
      • 展现地图图区
      • 地址解析
      • 附近搜索
      • 驾车导航
      • 骑行导航
      • 步行导航
      • 导航到家
      • 调起离线导航包下载页面
      • 路线(出行)页面调起协议
      • 跳转出行早晚报页面
      • 跳转行程助手主页或者编辑页
      • 实时公交页面
      • 离线地图下载页面
      • 实时汇率页面
      • 实时翻译页面
      • 电子狗功能
      • 路况页面协议
      • AR识楼
      • 地铁图
      • IOS地图标注
      • iOS显示主图区
      • ios地址解析
      • ios反向地址解析
      • ios-POI(地点)搜索
      • ios用户位置附近检索
      • ios路线规划
      • ios公交、地铁线路查询
      • ios驾车导航
      • ios骑行导航
      • ios步行导航
      • ios-POI详情页展示
  • 静态图
    • 服务介绍
    • 服务文档
    • 可视化工具
    • 使用指南
  • 全景静态图
    • 功能介绍
    • 服务文档
    • 使用指南
  • 附录
    • 状态码定义
  • 概述
    • 概述
  1. 功能说明

空间搜索

简介

空间搜索服务提供通过关键字、多边形、矩形、周边搜索等多种方式,实现对指定范围内entity实时位置和数量的搜索。类BTKEntityAction中支持实时查询entity最新位置、高度、速度、方向和相关属性信息。支持以下搜索方式:

  1. 关键字模糊查询:根据entityName和entityDesc字段模糊查询entity

  2. 周边搜索:查询某中心点周边的entity

  3. 矩形搜索:查询某矩形地理范围内的entity

  4. 多边形搜索:查询多边形范围内的entity

关键字检索

通过 -(void)searchEntityWith:(BTKSearchEntityRequest *)request delegate:(id)delegate; 方法,根据关键字检索终端实体,并返回其实时位置。与 -(void)queryEntityWith:(BTKQueryEntityRequest *)request delegate:(id)delegate; 方法相比,该方法增加了关键字检索的功能,支持对终端实体的名称和描述的联合模糊检索。

以下代码片段表示,查找100000这个service下,名称或描述字段含有“entity”的,在过去7天有轨迹上传的,终端实体的实时位置。若有多个entity满足条件,则按照它们最后定位时间 “loc_time” 字段的倒序返回,即定位时间离现在越近越靠前。

// 设置过滤条件
BTKQueryEntityFilterOption *filterOption = [[BTKQueryEntityFilterOption alloc] init];
filterOption.activeTime = [[NSDate date] timeIntervalSince1970] - 7 * 24 * 3600;
// 设置排序条件,返回的多个entity按照,定位时间'loc_time'的倒序排列
BTKSearchEntitySortByOption * sortbyOption = [[BTKSearchEntitySortByOption alloc] init];
sortbyOption.fieldName = @"loc_time";
sortbyOption.sortType = BTK_ENTITY_SORT_TYPE_DESC;
// 构造请求对象
BTKSearchEntityRequest *request = [[BTKSearchEntityRequest alloc] initWithQueryKeyword:@"entity" filter:filterOption sortby:sortbyOption outputCoordType:BTK_COORDTYPE_BD09LL pageIndex:1 pageSize:10 ServiceID:100000 tag:34];
// 发起检索请求
[[BTKEntityAction sharedInstance] searchEntityWith:request delegate:self];

矩形范围搜索

通过 -(void)boundSearchEntityWith:(BTKBoundSearchEntityRequest *)request delegate:(id)delegate; 方法,在指定的矩形地理范围内,检索符合条件的终端实体,并返回其实时位置。

以下代码片段表示,在西南角为东经116.311046度、北纬40.046667度,东北角为东经116.315264度、北纬40.048973度,所构成的矩形区域内,检索名称为 “entityA” 、 “entityB”、“entityC” 这3个终端实体,在过去的7天内是否有轨迹点上传。如果有,则返回每个终端实体最后一次上传的轨迹点,如果返回结果包含不止一个轨迹点,则按照它们最后一次上传的时间戳 “loc_time” 字段的倒序排列,即离当前时间越近的轨迹点越靠前。

// 设置矩形的区域
NSMutableArray *bounds = [NSMutableArray arrayWithCapacity:2];
// 矩形左下角的顶点坐标
CLLocationCoordinate2D point1 = CLLocationCoordinate2DMake(40.046667, 116.311046);
[bounds addObject:[NSValue valueWithBytes:&point1 objCType:@encode(CLLocationCoordinate2D)]];
// 矩形右上角的顶点坐标
CLLocationCoordinate2D point2 = CLLocationCoordinate2DMake(40.048973, 116.315264);
[bounds addObject:[NSValue valueWithBytes:&point2 objCType:@encode(CLLocationCoordinate2D)]];
// 设置检索的过滤选项
BTKQueryEntityFilterOption *filterOption = [[BTKQueryEntityFilterOption alloc] init];
filterOption.entityNames = @[@"entityA", @"entityB",@"entityC"];
filterOption.activeTime = [[NSDate date] timeIntervalSince1970] - 7 * 24 * 3600;
// 设置检索结果的排序选项
BTKSearchEntitySortByOption * sortbyOption = [[BTKSearchEntitySortByOption alloc] init];
sortbyOption.fieldName = @"loc_time";
sortbyOption.sortType = BTK_ENTITY_SORT_TYPE_DESC;
// 构造检索请求    
BTKBoundSearchEntityRequest *request = [[BTKBoundSearchEntityRequest alloc] initWithBounds:bounds inputCoordType:BTK_COORDTYPE_BD09LL filter:filterOption sortby:sortbyOption outputCoordType:BTK_COORDTYPE_BD09LL pageIndex:1 pageSize:10 ServiceID:100000 tag:44];
// 发起检索请求    
[[BTKEntityAction sharedInstance] boundSearchEntityWith:request delegate:self];

周边搜索

通过 -(void)aroundSearchEntityWith:(BTKAroundSearchEntityRequest *)request delegate:(id)delegate; 方法,在指定的圆形地理范围内,检索符合条件的终端实体,并返回其实时位置。

以下代码片段表示,在以东经116.312964度、北纬40.047772度为圆心,半径100米的范围内,检索100000这个service下所有在过去7天有轨迹点上传的活跃终端,如果有满足条件的终端实体,则返回其最后一次上传的轨迹点。若有多个终端实体符合以上检索条件,则返回结果按照它们的定位时间戳”loc_time” 字段倒序排列,即离当前时间越近的轨迹点越靠前。

// 设置圆形的圆心
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.047772, 116.312964);
// 设置检索的过滤条件
BTKQueryEntityFilterOption *filterOption = [[BTKQueryEntityFilterOption alloc] init];
filterOption.activeTime = [[NSDate date] timeIntervalSince1970] - 7 * 24 * 3600;
// 设置检索结果的排序方式
BTKSearchEntitySortByOption * sortbyOption = [[BTKSearchEntitySortByOption alloc] init];
sortbyOption.fieldName = @"loc_time";
sortbyOption.sortType = BTK_ENTITY_SORT_TYPE_DESC;
// 构造检索请求对象
BTKAroundSearchEntityRequest *request = [[BTKAroundSearchEntityRequest alloc] initWithCenter:center inputCoordType:BTK_COORDTYPE_BD09LL radius:100 filter:filterOption sortby:sortbyOption outputCoordType:BTK_COORDTYPE_BD09LL pageIndex:1 pageSize:10 ServiceID:100000 tag:55];
// 发起检索请求
[[BTKEntityAction sharedInstance] aroundSearchEntityWith:request delegate:self];

通过entity属性字段查询

开发者可在轨迹管理台中可视化地创建 entity自定义属性字段,方法详见自定义属性字段。在queryEntityList方法中,通过指定columnKey,来根据属性进行查询,columnKey字段的格式为k1=v1,k2=v2。

例如开发者创建了team和city两个可检索的自定义属性字段,需要查询team=A且city=beijing的entity,示例如下:

  [[BTRACEAction shared] queryEntityList:self serviceId:100001 entityNames:nil columnKey:@"team=A,city=beijing" activeTime:0 returnType:0 pageSize:20 pageIndex:1];

以上例子会返回该service下所有的entity中,属于A队的,城市是beijing的所有entity的实时位置。

注意:和trackAttr()所添加的基于轨迹点的自定义字段不同,属性信息是基于entity的,一个entity的属性是不会经常变动的。比如货运车辆所归属的车辆编队,或配送人员所管辖的区域信息等。而trackAttr()所添加的自定义字段是基于轨迹点的,类似于当前跑者的心跳等在每个轨迹点都会变化的信息。

通过活跃时间activeTime查询

支持查询在某个时间之后仍活跃的entity,如查询5分钟之内活跃的,则需将activeTime设为当前时间减去5分钟;如查询当天活跃的entity,则将activeTime设为当天0点:

如:查询在UNIX时间戳为1442824667之后仍活跃的所有entity

[[BTRACEAction shared] queryEntityList:self serviceId:100001 entityNames:nil  columnKey:nil activeTime:1442824667 returnType:0 pageSize:20 pageIndex:1];

组合查询

对于entity以及columnKey和activeTime这些字段,可以同时指定一个或多个字段,做联合查询,会返回同时满足这些条件的entity的实时位置。

[[BTRACEAction shared] queryEntityList:self serviceId:100001 entityNames:@"entity1,entity2" columnKey:@"team=A,region=haidian" activeTime:1442824667 returnType:0 pageSize:20 pageIndex:1];

以上例子就会查询在entity1和entity2这两个entity中,team是A,region是haidian,且在1442824667时间戳后仍有轨迹数据上传的entity的实时位置。

关于数据的实时性的说明

从数据上传到鹰眼服务端,到通过查询接口查询到该数据,在联网正常的情况下延时在毫秒级别,可认为是无延时地同步。 在上传时,受打包周期的限制,会存在一个打包周期的延迟。若开发者对实时性要求较高,可以将打包周期设置成采集周期,但需考虑流量的消耗。

上一页
缓存轨迹处理
下一页
轨迹查询与纠偏
Built with