簡體   English   中英

獵戶座上下文代理 - 按位置查詢

[英]Orion Context Broker - Query By Location

跟隨Orion v0.24中的查詢。

  • 正如之前的相關問題所指出的,文檔是真正實現的。 是否已經實現了'幾何'和'坐標'的位置過濾?

  • 任何人都可以提供查詢示例。 我不明白什么/如何傳遞坐標。 來自docs:

坐標列表(由;分隔)根據幾何圖形進行解釋

我嘗試了以下不成功的方法:

//Call 1
http://<some-ip>:<some-ip>/v2/entities/?type=Test&geometry=polygon&coords=35.46064,-9.93164;35.46066,3.07617;44.33956,3.07617;44.33955,-9.93164
//Result
{
  "error": "BadRequest",
  "description": "invalid character in URI parameter"
}

我嘗試了類似的組合,使用encodeURIComponent過濾特殊字符,但沒有。

獵戶座中的實體具有以下屬性'coordenadas':

{
    "id": "Test.1",
    "type": "Test",
    "coordenadas": {
        "type": "geo:point",
        "value": "43.7723705, -7.6784461"
     },
     "fecha": 1440108000000,
     "regiones": [
       "ES"
      ]
}

編輯03/11/2015

我們已將Orion更新為版本0.25,其中幾何查詢預計將使用NGSI v2實現。

打電話給

http://<some-ip>:<some-ip>/version

報告我們更新已正確完成:

<orion>
    <version>0.25.0</version>
    <uptime>0 d, 2 h, 23 m, 17 s</uptime>
    <git_hash>a8cf800d4e9fdd7b4293a886490c40309a5bb58c</git_hash>
    <compile_time>Mon Nov 2 09:13:05 CET 2015</compile_time>
    <compiled_by>fermin</compiled_by>
    <compiled_in>centollo</compiled_in>
</orion>

盡管如此,查詢似乎無法正常工作。 按照上面使用的示例,像這樣的幾何查詢應該返回一個實體:

http://<some-ip>:<some-ip>/v2/entities?type=Test&geometry=circle;radius:6000&coords=43.7723705,-7.6784461

不幸的是,響應是一個空數組。

我們還嘗試使用多邊形進行幾何查詢:

http://<some-ip>:<some-ip>/v2/entities?type=Test&geometry=polygon&coords=40.199854,-4.045715;40.643135,-4.045715;40.643135,-3.350830;40.199854,-3.350830

同樣,響應是空數組。

看起來實體的位置屬性“coordenadas”沒有被檢測到。 所以我嘗試創建一個新實體來查看問題是否是在更新到v0.25之前創建的所有實體,但它不起作用。

編輯04/11/2015

我們為實體創建而構建的請求如下:

POST /v2/entities/ HTTP/1.1
Accept: application/json, application/*+json
Content-Type: application/json;charset=UTF-8
User-Agent: Java/1.7.0_71
Host: 127.0.0.1:1026
Connection: keep-alive
Content-Length: 379

 {
    "id":"Test.1",
    "type":"Test",
    "nombreEspecie":"especietest",
    "coordenadas":{
        "type":"geo:point",
        "value":"3.21456, 41.2136"
    },
    "fecha":1446624226632,
    "gradoSeguridad":1,
    "palabrasClave":"test, test, test",
    "comentarios":"comentarios, comentarios",
    "nombreImagen":"ImagenTest",
    "alertas":[],
    "regiones":[],
    "validacionesPositivas":0,
    "validacionesNegativas":0,
    "validacionesDenunciadas":0
}

正如您所建議的那樣,我們在一個新的,干凈的Orion實例中測試了實體創建。 創建正確完成,但位置查詢仍然無法正常工作...

示例是正確的,但在Orion 0.24.0或任何先前版本中尚未提供該功能。 它已經在開發分支中實現(請參閱github.com存儲庫中的相應問題 ,現已關閉)。 它將在2015年9月底之前的0.24.0版本中提供,版本為0.24.1或0.25.0(編號時尚未確定)。

編輯: Orion 0.25.0實現geometrycoord URL參數,但位置定義仍然基於NGSIv1機制 因此,不使用geo:point而是使用名為location的元數據來標記關聯的屬性是位置:

"coordenadas": {
     "location": {
        "type": "string",
        "value": "WGS84"
    },
    "type": "geo:point",
    "value": "3.21456, 41.2136"
}

當我們在NGSIv2實施中取得進展時,這種“不對稱”(即用於定義位置但NGSIv2地理查詢支持的NGSIv1)將消失(考慮到在Orion 0.25.0中,NGSIv2仍處於測試狀態)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM