Kibana:摄入 GeoJSON 数据
2022年12月1日 | by mebius
GeoJSON 是一种用于编码各种地理数据结构的格式。例如:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
}
GeoJSON 支持以下几何类型:Point、LineString、Polygon、MultiPoint、MultiLineString 和 MultiPolygon。 具有附加属性的几何对象是特征对象。 特征集包含在 FeatureCollection 对象中。GeoJSON 可以用于 Elastic Maps 应用中。
在本教程中,你将构建一个自定义地图,显示两个机场之间的飞行路径,以及该路线上的闪电热点。 你将学会:
- 将 GeoJSON 文件导入 Kibana
- 索引 tgcodeElasticsearch 中的文件
- 在多层地图中显示数据
摄入 GeoJSON 数据
准备工作
本教程要求你下载以下 GeoJSON 示例数据文件。 这些文件是你可以上传到 Kibana 并在 Elasticsearch 中建立索引以便在地图中显示的矢量数据类型的很好示例。
这些数据代表了两个真实的机场、两条虚构的飞行路线和虚构的闪电报告。 你可以不需要使用所有这些文件来完成如下的练习。你可以随意使用任意数量的文件,或使用你自己的有效 GeoJSON 文件。
下载后,我们的文件如下:
$ pwd
/Users/liuxg/data/geojson
$ ls
bangor_international_airport.geojson modified_flight_path.geojson
lightning_detected.geojson original_flight_path.geojson
logan_international_airport.geojson
创建并设置地图
我们首先打开 Maps 应用:
放大美国东北部的新英格兰地区。你正在向该区域添加飞行路径,这会设置地图以便更好地查看数据。
我们首先来上传logan_international_airport.geojson 这个文件。点击上图中的 Add layer 按钮:
我进一步对这个机场进行定制。我们使用 icon 来表示这个机场。点击上面的 Save & close:
这样我们就得到了 Logan 国际机场的一个坐标点。
按照同样的套路,我们把 Bangor 国际机场也标出来。我们使用bangor_international_airport.geojson 文件:
这样我们就得到了两个机场的位置图。
我们接下来把闪电分别图添加进来。这次我们使用的是lightning_detected.geojson:
上面的绿色的点代表闪电发生的位置。
我们接下来把另外的两个路线图也摄入进来:original_flight_path.geojson 及modified_flight_path.geojson,并以不同的颜色来表示:
如上所示,我们已经成功地把路线图加到地图上了。
接下来,我们添加一个 heatmap 聚合层。
查看 Lightning detected 层,可以清楚地看到闪电击中的位置。 不太清楚的是,某些地区是否比其他地区发生了更多的雷击,换句话说,闪电热点在哪里。 为雷击建立索引的 geo_point 数据的一个优点是你可以对数据执行聚合。
点击上面的 Add layer:
从上面的可视化中,我们可以看出来为啥我们需要重新规划飞行的路线,因为原飞行路线有闪电的发生。
为了能够更好地进行可视化,我们可以把每个图层都修改为自己喜欢的名字:
我们可以通过拖动图层来改变每个图层的顺序以使得更好的展示:
调整过后的图层如下:
文章来源于互联网:Kibana:摄入 GeoJSON 数据
相关推荐: Elasticsearch:构建地图以按国家或地区比较指标
标如果你不熟悉 Elastic 地图,本教程是一个不错的起点。 它会指导你完成处理位置数据的常见步骤。在完成本教程后,你将学会: 创建具有多个图层和数据源的地图 使用符号、颜色和标签来设置数据值的样式 在仪表板中嵌入地图 在仪表板中跨仪表盘搜索 完成本教程后,…