Kibana - 使用区域地图
通过此可视化,您可以看到地理世界地图上所表示的数据。在本章中,我们将详细了解这一点。
为区域地图创建索引
我们将创建一个新索引以使用区域地图可视化。我们要上传的数据显示在此处 −
{"index":{"_id":1}} {"country": "China", "population": "1313973713"} {"index":{"_id":2}} {"country": "India", "population": "1095351995"} {"index":{"_id":3}} {"country": "United States", "population": "298444215"} {"index":{"_id":4}} {"country": "Indonesia", "population": "245452739"} {"index":{"_id":5}} {"country": "Brazil", "population": "188078227"} {"index":{"_id":6}} {"country": "Pakistan", "population": "165803560"} {"index":{"_id":7}} {"country": "Bangladesh", "population": "147365352"} {"index":{"_id":8}} {"country": "Russia", "population": "142893540"} {"index":{"_id":9}} {"country": "Nigeria", "population": "131859731"} {"index":{"_id":10}} {"country": "Japan", "population": "127463611"}
请注意,我们将使用开发工具中的 _bulk upload 来上传数据。
现在,转到 Kibana 开发工具并执行以下查询 −
PUT /allcountries { "mappings": { "_doc": { "properties": { "country": {"type": "keyword"}, "population": {"type": "integer"} } } } } POST /allcountries/_doc/_bulk?refresh {"index":{"_id":1}} {"country": "China", "population": "1313973713"} {"index":{"_id":2}} {"country": "India", "population": "1095351995"} {"index":{"_id":3}} {"country": "United States", "population": "298444215"} {"index":{"_id":4}} {"country": "Indonesia", "population": "245452739"} {"index":{"_id":5}} {"country": "Brazil", "population": "188078227"} {"index":{"_id":6}} {"country": "Pakistan", "population": "165803560"} {"index":{"_id":7}} {"country": "Bangladesh", "population": "147365352"} {"index":{"_id":8}} {"country": "Russia", "population": "142893540"} {"index":{"_id":9}} {"country": "Nigeria", "population": "131859731"} {"index":{"_id":10}} {"country": "Japan", "population": "127463611"}
接下来,让我们创建索引 allcountries。我们已将国家/地区字段类型指定为 关键字 −
PUT /allcountries { "mappings": { "_doc": { "properties": { "country": {"type": "keyword"}, "population": {"type": "integer"} } } } }
注意 − 要使用区域图,我们需要将要用于聚合的字段类型指定为关键字类型。

完成后,使用 _bulk 命令上传数据。

我们现在将创建索引模式。转到 Kibana 管理选项卡并选择创建索引模式。

以下是从 allcountries 索引中显示的字段。

开始使用区域地图
我们现在将使用区域地图创建可视化。转到可视化并选择区域地图。

完成后,选择索引为 allcountries 并继续。
选择聚合指标和存储桶指标,如下所示 −


在这里我们选择字段为国家,因为我想在世界地图上显示相同的国家。
矢量地图和连接区域地图字段
对于区域地图,我们还需要选择如下所示的选项选项卡 −

选项选项卡具有图层设置配置,这些配置是绘制世界地图上的数据所必需的。
矢量地图具有以下选项 −

在这里我们将选择世界各国,因为我有各国数据。
连接字段具有以下详细信息 −

在我们的索引中,我们有国家名称,因此我们将选择国家名称。
在样式设置中,您可以选择要显示的国家/地区的颜色 −

我们将选择红色。我们不会触及其余细节。
现在,单击"分析"按钮以查看世界地图上绘制的国家/地区的详细信息,如下所示 −

Kibana 中的自托管矢量地图和连接字段
您还可以为矢量地图和连接字段添加自己的 Kibana 设置。为此,请从 kibana 配置文件夹转到 kibana.yml 并添加以下详细信息 −
regionmap: includeElasticMapsService: false layers: - name: "Countries Data" url: "http://localhost/kibana/worldcountries.geojson" attribution: "INRAP" fields: - name: "Country" description: "country names"
选项选项卡中的矢量地图将填充上述数据,而不是默认数据。请注意,给出的 URL 必须启用 CORS,以便 Kibana 可以下载相同的内容。使用的 json 文件应采用坐标连续的方式。例如 −
https://vector.maps.elastic.co/blob/5659313586569216?elastic_tile_service_tos=agreeregion-map 矢量地图详情自托管时的选项选项卡如下所示 −
