tile38 roaming-geofences 试用

Posted rongfengliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tile38 roaming-geofences 试用相关的知识,希望对你有一定的参考价值。

tile38 支持动态实时的移动对象的数据监控

环境准备

  • docker-compose 文件
version: "3"
services:
  app:
    image: tile38/tile38
    ports:
    - "9851:9851"
  benthos:
    image: jeffail/benthos
    volumes:
    - "./conf/webhook.yaml:/benthos.yaml"
    ports:
    - "4195:4195"
 
 
  • webhook 配置文件
input:
  type: broker
  broker:
    inputs:
      - type: http_server
        http_server:
          path: /
        processors:
          - type: text
            text:
              operator: prepend
              value: "get email message: "
output:
  type: stdout
 
 

启动&&试用

  • 启动
docker-compose up -d
  • 使用
    添加roaming-geofences ,容器内部 docker-compose exec app sh
 
SETHOOK myhook http://benthos:4195/ NEARBY people FENCE ROAM people * 5000
{"ok":true,"elapsed":"103.615µs"}

添加数据

SET people bob POINT 33.01 -115.01
SET people alice POINT 33.02 -115.02
SET people dalong POINT 33.02 -115.02
SET people dalong2 POINT 33.02 -115.02
SET people dalong3 POINT 33.02 -115.02

webhook 数据

benthos_1 | get email message: {"command":"set","group":"5c39df96bc958a00013da996","detect":"roam","hook":"myhook","key":"people","time":"2019-01-12T12:37:42.052125403Z","id":"dalong","object":{"type":"Point","coordinates":[-115.02,33.02]},"nearby":{"key":"people","id":"alice","object":{"type":"Point","coordinates":[-115.02,33.02]},"meters":0}}

说明:
目前测试坐标点不同的,没有成功,需要在看看,可能是bug,同时如果key 包含的对象有多个的话,会有多次webhook 的调用
参考测试:

 
benthos_1 | get email message: {"command":"set","group":"5c39e037bc958a00013da998","detect":"roam","hook":"myhook","key":"people","time":"2019-01-12T12:40:23.389819225Z","id":"dalong3","object":{"type":"Point","coordinates":[-115.02,33.02]},"nearby":{"key":"people","id":"dalong","object":{"type":"Point","coordinates":[-115.02,33.02]},"meters":0}}
benthos_1 | get email message: {"command":"set","group":"5c39e037bc958a00013da998","detect":"roam","hook":"myhook","key":"people","time":"2019-01-12T12:40:23.389819225Z","id":"dalong3","object":{"type":"Point","coordinates":[-115.02,33.02]},"nearby":{"key":"people","id":"dalong2","object":{"type":"Point","coordinates":[-115.02,33.02]},"meters":0}}
benthos_1 | get email message: {"command":"set","group":"5c39e037bc958a00013da998","detect":"roam","hook":"myhook","key":"people","time":"2019-01-12T12:40:23.389819225Z","id":"dalong3","object":{"type":"Point","coordinates":[-115.02,33.02]},"nearby":{"key":"people","id":"alice","object":{"type":"Point","coordinates":[-115.02,33.02]},"meters":0}}

参考资料

https://tile38.com/topics/roaming-geofences/

以上是关于tile38 roaming-geofences 试用的主要内容,如果未能解决你的问题,请参考以下文章

tile38 server 密码保护

C++ 类和指针(我再次使用我的 Tile 类:D)

使用 CATiledLayer,渲染时 Tiles 之间的细线,使用 ImageMagick 生成的瓷砖

动态规划-填格子问题 Domino and Tromino Tiling

在 Neo4j 中将对象存储为属性

背水一战 Windows 10 (109) - 通知(Tile): 按计划显示 tile 通知, 轮询服务端以更新 tile 通知