elk笔记13--Queries-geo queries
elk笔记13--Queries-geo queries
- 1 geo查询简介
- 2 geo 查询案例
- 3 说明
1 geo查询简介
geo queries(地理位置查询) 支持2类geo数据,分别为geo_point 和geo_shape 2中类型;其中, gep_points 支持 lat/lon 对, geo_shape 支持点、线、圆、多边形和多个多边形等;
共对应四种查询,分别为 geo_bounding_box、geo_distance、geo_polygon 、geo_shape 。本文部分数据直接使用 kibana_sample_data_ecommerce 中的数据,具体案例如下:
Elasticsearch supports two types of geo data: geo_point fields which support lat/lon pairs, and geo_shape fields, which support points, lines, circles, polygons, multi-polygons, etc.
2 geo 查询案例
使用geo_bounding_box 和top_left、bottom_right 搜索左上和右下区域内的数据
GET kibana_sample_data_ecommerce/_search{"query": {"geo_bounding_box" : {"geoip.location" : {"top_left" : {"lat" : 40.73,"lon" : -74.1},"bottom_right" : {"lat" : 40.01,"lon" : -71.12}}}}} 也可以使用这种方式搜索"geoip.location" : {"top_left" : [-74.1, 40.73],"bottom_right" : [-71.12, 40.01]}或者下面这种方式"geoip.location" : {"top_left" : "40.73, -74.1","bottom_right" : "40.01, -71.12"}
结果:
使用geo_distance 搜索特定地点指定距离内的数据
GET kibana_sample_data_ecommerce/_search {"query": {"geo_distance" : {"distance": "200km","geoip.location" : {"lat" : 40.6,"lon" : -73}}} }
使用 geo_polygon 搜索指定多边形区域内的数据
GET kibana_sample_data_ecommerce/_search {"query": {"geo_polygon" : {"geoip.location" : {"points" : [{"lat" : 30, "lon" : -70},{"lat" : 60, "lon" : -20},{"lat" : 45, "lon" : -90}] }}} } 也可以使用 "points" : [[30,-70],[60,-20],[45,-90] ] 或者使用"points" : ["30,-70","60,-20","45,-90" ]
通过 geo_shape 来搜索某个范围内的数据
该方法与前3个不同之处在于:需要设置mapping类型为geo_shape, 而前三个mapping类型为geo_pointPUT /example {"mappings": {"properties": {"location": {"type": "geo_shape"}}} }POST /example/_doc?refresh {"name": "Wind & Wetter, Berlin, Germany","location": {"type": "point","coordinates": [13.400544, 52.530286]} }GET example/_search {"query": {"geo_shape": {"location": {"shape": {"type": "envelope","coordinates" : [[13.0, 53.0], [14.0, 52.0]]},"relation": "within"}}} }
统计不同范围段内的数据
通过aggs 和 geo_distance 来统计不同范围段的数据GET kibana_sample_data_ecommerce/_search {"size": 0,"aggs": {"agg_by_distance": {"geo_distance" : {"field": "geoip.location", "origin": {"lat" : 40.6,"lon" : -73},"unit": "mi","distance_type": "plane","ranges": [{"to":100},{"from": 100,"to":300},{"from": 300}]}}} }
结果:
此处单位为miles, 其它单位见 distance-units
3 说明
- 参考文档
- geo-queries
- distance-units
- 测试环境
- 本文测试案例对应的 es 版本为7.2.1
- 测试数据为kibana自带数据,Home->Add data->Sample data->Sample eCommerce orders
elk笔记13--Queries-geo queries相关推荐
- elk笔记13--Queries-compound queries
elk笔记13--Queries-compound queries 1 compound 查询简介 2 compound 查询分类 2.1 bool query 2.2 boosting query ...
- mybatis学习笔记(13)-延迟加载
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(13)-延迟加载 标签: mybatis [TOC] resultMap可以实现高级映射(使用asso ...
- opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版
基础版学习笔记: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版形态学: opencv学 ...
- CS224n笔记13 卷积神经网络
为什么80%的码农都做不了架构师?>>> 本文由码农场同步,最新版本请查看原文:http://www.hankcs.com/nlp/cs224n-convolutional-n ...
- 【CentOS 7笔记13】,find用法和文件传输#171025
2019独角兽企业重金招聘Python工程师标准>>> hellopasswd 一. find 1. 跟find相似的命令 which ls #从环境变量$PATH中查找wherei ...
- Linux学习笔记13
Linux学习笔记13 Linux学习笔记13 配置Nagios 基本介绍 Nagios安装 - 服务端 Nagios安装 - 客户端 监控中心添加被监控主机 配置文件的简单说明 继续添加需要服务端通 ...
- Hadoop学习笔记—13.分布式集群中节点的动态添加与下架
Hadoop学习笔记-13.分布式集群中节点的动态添加与下架 开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如 ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning
台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning 本博客参考整理自: http://blog.csdn.net/xzy_t ...
- java 量化指标_量化投资学习笔记13——各种指标的绘图、计算及交易策略
<量化投资:以python为工具>第五部分笔记 先来画k线图,要注意finance模块已经从matplotlib库中去除,现在要用mpl_finance库,单独安装. 其中有candles ...
最新文章
- Eclipse中dropins干什么用的文件夹啊?
- Web会话安全分析工具ProxyStrike
- 数学老师出的谜语,语文老师已哭晕在厕所!
- 《四世同堂》金句摘抄(十七)
- python request 留位置4
- 国内外软件开发上的差距与分析
- 【Elasticsearch】Elasticsearch之元数据(meta-fields)介绍
- MuiPlayer视频播放组件入门
- MATLAB中如何忽略函数中前几个不需要的返回值而只取需要的返回值,例如:只取函数第二个返回值,而忽略第一个返回值
- nn.softmax的参数使用和数据使用
- Java21天打卡练习Day21-集合map
- 解决XlsxWriter插入时间格式问题
- 服务器为啥要搭建在2012系统,WindowsServer2012R2搭建SFTP服务器以及配置
- 毕业设计 嵌入式太空游戏机设计与实现
- springboot 指定配置文件
- 批量将图片与白色图进行叠加(仅作记录)
- 计算机窗口闪屏,电脑玩游戏闪屏是什么原因(对应的解决方法)
- Win7如何打开软键盘?Win7打开软键盘的方法
- 4G IoT设备开发,一板搞定
- 【每周一读】——你的孤独,虽败犹荣
热门文章
- Discuz论坛中新增文件类型图标的方法
- Android Studio 入门(转)
- sql查询——查询每门课程各分数段的人数,分别用count和sum方法实现
- 山特UPS电源/山特UPS 10KW电源逆变器设计方案
- 网站服务器处理器计划怎么设置,系统属性-高级-处理器计划选程序还是后台.docx...
- android wifi tcpip,Android无线调试:tcpip无线连接 | WiFi apk无线连接
- html5卷轴动画制作,几种逼真卷轴动画的制作方法
- C语言中的结束符‘\0‘
- ofstream,ifstream,fstream读写文件
- 金 融 量 化 分 析 • JoinQuant • 第 五 篇