Kibana - praca z mapą regionu
Dzięki tej wizualizacji zobaczysz dane przedstawione na geograficznej mapie świata. Przyjrzyjmy się temu szczegółowo w tym rozdziale.
Utwórz indeks dla mapy regionu
Stworzymy nowy indeks do pracy z wizualizacją mapy regionu. Dane, które zamierzamy przesłać, są pokazane tutaj -
{"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"}
Pamiętaj, że do przesłania danych użyjemy funkcji _bulk upload w narzędziach programistycznych.
Teraz przejdź do Kibana Dev Tools i wykonaj następujące zapytania -
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"}
Następnie stwórzmy indeksy dla wszystkich krajów. Określiliśmy typ pola kraju jakokeyword -
PUT /allcountries
{
"mappings": {
"_doc": {
"properties": {
"country": {"type": "keyword"},
"population": {"type": "integer"}
}
}
}
}
Note - Aby pracować z mapami regionów, musimy określić typ pola, który ma być używany z agregacją jako typ jako słowo kluczowe.
Po zakończeniu prześlij dane za pomocą polecenia _bulk.
Teraz utworzymy wzorzec indeksu. Przejdź do zakładki Kibana Management i wybierz utwórz wzorzec indeksu.
Oto pola wyświetlane z indeksu wszystkich krajów.
Pierwsze kroki z mapami regionów
Utworzymy teraz wizualizację przy użyciu map regionu. Przejdź do Wizualizacji i wybierz Mapy regionu.
Po zakończeniu wybierz indeksuj jako wszystkie kraje i kontynuuj.
Wybierz dane agregacji i dane zasobnika, jak pokazano poniżej -
Tutaj wybraliśmy pole jako kraj, ponieważ chcę pokazać to samo na mapie świata.
Mapa wektorowa i pole przyłączenia do mapy regionu
W przypadku map regionów musimy również wybrać zakładki opcji, jak pokazano poniżej -
Zakładka opcji zawiera konfigurację Ustawienia warstw, które są wymagane do wykreślenia danych na mapie świata.
Mapa wektorowa ma następujące opcje -
Tutaj wybierzemy kraje świata, ponieważ mam dane o krajach.
Pole Join zawiera następujące szczegóły -
W naszym indeksie mamy nazwę kraju, więc wybierzemy nazwę kraju.
W ustawieniach stylu możesz wybrać kolor, który ma być wyświetlany dla krajów -
Wybierzemy Czerwonych. Nie będziemy dotykać pozostałych szczegółów.
Teraz kliknij przycisk Analizuj, aby zobaczyć szczegóły krajów wykreślonych na mapie świata, jak pokazano poniżej -
Samodzielnie hostowana mapa wektorowa i dołącz do pola w Kibana
Możesz także dodać własne ustawienia Kibana dla mapy wektorowej i pola łączenia. Aby to zrobić, przejdź do kibana.yml z folderu konfiguracyjnego kibana i dodaj następujące szczegóły -
regionmap:
includeElasticMapsService: false
layers:
- name: "Countries Data"
url: "http://localhost/kibana/worldcountries.geojson"
attribution: "INRAP"
fields:
- name: "Country"
description: "country names"
Mapa wektorowa z zakładki opcji będzie zawierała powyższe dane zamiast domyślnych. Pamiętaj, że podany adres URL musi mieć włączoną obsługę CORS, aby Kibana mogła pobrać to samo. Używany plik json powinien być taki, aby współrzędne były kontynuowane. Na przykład -
https://vector.maps.elastic.co/blob/5659313586569216?elastic_tile_service_tos=agreeKarta opcji, gdy szczegóły mapy wektorowej mapy regionu są hostowane samodzielnie, jest pokazana poniżej -