tile38 一款开源的geo 数据库
tile38 是基于golang 编写的geo 数据库,支持地理空间索引、实时地理围栏,同时也支持leader-flower 的部署模型
备注: 下边测试一个简单的地理围栏功能
环境准备
- docker-compose 文件
包含了一个简单的webhook 工具
version: "3"
services:
app:
image: tile38/tile38
ports:
- "9851:9851"
benthos:
image: jeffail/benthos
volumes:
- "./conf/webhook.yaml:/benthos.yaml"
ports:
- "4195:4195"
运行&&测试地理围栏功能
启动
docker-compose up -d
使用
- 进入容器 app (tile38 服务)
docker-compose exec app sh
tile38-cli
- 添加webhook格式
SETHOOK name endpoint [META name value ...] [EX seconds] NEARBY|WITHIN|INTERSECTS key FENCE [DETECT what] [COMMANDS which] param [param ...]
- 添加数据围栏:
/ # tile38-cli
127.0.0.1:9851> SETHOOK warehouse http://benthos:4195/ NEARBY fleet FENCE POINT 33.462 -112.268 6000
{"ok":true,"elapsed":"118.008µs"}
- 添加进入围栏区域的数据
SET fleet truck1 POINT 33.5123 -112.2693
- webhook 数据
docker-compose logs -f benthos
效果
benthos_1 | get email message: {"command":"set","group":"5c395823b1e3cb00012724bc","detect":"enter","hook":"warehouse","key":"fleet","time":"2019-01-12T02:59:47.766263252Z","id":"dalong","object":{"type":"Point","coordinates":[-112.2693,33.5123]}}
benthos_1 | get email message: {"command":"set","group":"5c395823b1e3cb00012724bc","detect":"inside","hook":"warehouse","key":"fleet","time":"2019-01-12T02:59:47.766263252Z","id":"dalong","object":{"type":"Point","coordinates":[-112.2693,33.5123]}}
说明:
默认的webhook 数据会包含所有包含的类型,我们可以指定需要的类型
NEARBY fleet FENCE DETECT inside,outside POINT 33.462 -112.268 6000
说明
tile38 使用简单,包含了rest 以及resp 协议的支持,同时webhook支持多种协议 http,https,redis,nats,grpc。。。
参考资料
https://tile38.com/topics/geofencing/
https://github.com/tidwall/tile38
tile38 一款开源的geo 数据库的更多相关文章
- [转载]12款免费与开源的NoSQL数据库介绍
Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库 ...
- Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、oracle...)间进行数据的传递
http://niuzhenxin.iteye.com/blog/1706203 Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql.postgresql.. ...
- 12款免费与开源的NoSQL数据库
Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库 ...
- Metasploit是一款开源的安全漏洞检测工具,
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,适合于需要核实漏洞的安全专家,同时也适合于强大进攻能力的 ...
- 60款开源云应用【Part 2】(60 Open Source Apps You Can Use in the Cloud)
60款开源云应用[Part 2](60 Open Source Apps You Can Use in the Cloud) 本篇翻译自http://www.datamation.com/open-s ...
- 最受IT公司欢迎的50款开源软件
文章来自:云头条编译 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT ...
- 几款开源的ETL工具及ELT初探
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL 是构建数据仓 ...
- metasploit 一款开源的渗透测试框架
渗透神器漏洞利用框架metasploit from: https://zhuanlan.zhihu.com/p/30743401 metasploit是一款开源的渗透测试框架软件也是一个逐步发展与成熟 ...
- 2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件
2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服 ...
随机推荐
- python 正则表达式笔记
#!usr/bin/env python3 #-*- coding:utf-8 -*- #正则表达式 #在正则表达式中,如果直接给出字符,就是精确匹配.用\d可以匹配一个数字,\w可以匹配一个字母.数 ...
- DevExpress WPF v18.2新版亮点(五)
买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...
- Gym - 100971J (思维+简单bfs)
题目链接:http://codeforces.com/gym/100971/problem/J J. Robots at Warehouse time limit per test 2.0 s mem ...
- Effective Java Methods Common to All Objects
Obey the general contract when overriding equals 先了解equals 和 == 的区别,如果不重写equals, equals比较的仅仅只是是否引用同一 ...
- debian镜像下载地址
http://cdimage.debian.org/debian-cd/9.8.0-live/amd64/iso-hybrid/
- VS Code 使用小技巧
所有插件查找地址(https://marketplace.visualstudio.com/) 编码快捷方式(http://docs.emmet.io/cheat-sheet/) 安装插件出现 错误 ...
- HDU 6034 17多校1 Balala Power!(思维 排序)
Problem Description Talented Mr.Tang has n strings consisting of only lower case characters. He want ...
- SAP Module Pool Program Learning Documentation——Commit Work and Update dtab
When using Native SQL to directly manipulate database tables, it makes a difference to use COMMIT WO ...
- 通过javascript的日期对象来得到当前的日期,并输出--内置对象---JS
//通过javascript的日期对象来得到当前的日期,并输出. var mydate = new Date(); var week = ["星期日","星期一" ...
- pytorch基础教程1
0.迅速入门:根据上一个博客先安装好,然后终端python进入,import torch ******************************************************* ...