繁体   English   中英

条件下具有 georel 表达式的固件 orion 订阅

[英]Fiware orion subscription with georel expression in condition

我的猎户座数据库中有一个实体:

{
  "id"=>"User-121",
  "type"=>"User",
  "location"=>{
    "type"=>"geo:point", 
    "value"=>"59.851484, 30.199463"
  }, 
  "time"=>{"type"=>"none", "value"=>222909, "metadata"=>{}}
}

此外,我对该实体有 3 个订阅,它们在条件表达式中具有相同的坐标:

  1. 应在实体定位时触发,距离参考点至少 100 米。
{
  "id"=>"...",
  "expires"=>"...",
  "status"=>"active",
  "subject"=>{
    "entities"=>[{"id"=>"User-121", "idPattern"=>"", "type"=>"User"}],
    "condition"=>{
      "attributes"=>["location", "time"], 
      "expression"=>{
        "q"=>"", 
        "geometry"=>"point", 
        "coords"=>"59.851484, 30.199463", 
        "georel"=>"near;minDistance:100"}
    }
  },
  "notification"=>{
    "callback"=>"http://callback", 
    "attributes"=>["time"]
  }
}
  1. 当实体位于距离参考点最多 100 米时应触发
{
  "id"=>"...",
  "expires"=>"...",
  "status"=>"active",
  "subject"=>{
    "entities"=>[{"id"=>"User-121", "idPattern"=>"", "type"=>"User"}],
    "condition"=>{
      "attributes"=>["location", "time"], 
      "expression"=>{
        "q"=>"", 
        "geometry"=>"point", 
        "coords"=>"59.851484, 30.199463", 
        "georel"=>"near;maxDistance:100"}
    }
  },
  "notification"=>{
    "callback"=>"http://callback",  
    "attributes"=>["time"]
  }
},
  1. 当实体位于参考点(具有相同坐标)时应触发
{
  "id"=>"...",
  "expires"=>"...",
  "status"=>"active",
  "subject"=>{
    "entities"=>[{"id"=>"User-121", "idPattern"=>"", "type"=>"User"}],
    "condition"=>{
      "attributes"=>["location", "time"], 
      "expression"=>{
        "q"=>"", 
        "geometry"=>"point", 
        "coords"=>"59.851484, 30.199463", 
        "georel"=>"equals"}
    }
  },
  "notification"=>{
    "callback"=>"http://callback", 
    "attributes"=>["time"]
  }
}

问题是每次我更新实体时,所有订阅都会发送通知。 它甚至不依赖于实体的坐标值。 无论坐标是什么,我总是收到 3 条更新通知。

我究竟做错了什么 ?

Orion Context Broker 版本为0.28.0 (git 版本:5c1afdb3dd748580f10e1809f82462d83d2a17d4)

NGSIv2 订阅中的地理位置功能尚未实现(在 Orion 0.28.0)。 请注意,NGSIv2 还处于 beta 状态,有时规范(其中geometrygeorelcoords被定义为expression一部分)是实现的一个进步。

一个关于此的 github 问题,您可以订阅该问题以了解此功能何时实施。

编辑:NGSIv2 订阅中的地理定位功能将在 Orion 1.3.0 中可用(将于 8 月底或 9 月初发布)。 如果您不想等待,请注意该功能在开发分支(以及相关的 Docker)中也可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM