Kibana - Travailler avec la carte de la région

Avec cette visualisation, vous voyez les données représentées sur la carte géographique du monde. Dans ce chapitre, voyons cela en détail.

Créer un index pour la carte de région

Nous allons créer un nouvel index pour travailler avec la visualisation de carte de région. Les données que nous allons télécharger sont affichées ici -

{"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"}

Notez que nous utiliserons _bulk upload dans les outils de développement pour télécharger les données.

Maintenant, allez dans Kibana Dev Tools et exécutez les requêtes suivantes -

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"}

Ensuite, créons un index pour tous les pays. Nous avons spécifié le type de champ de pays commekeyword -

PUT /allcountries
{
   "mappings": {
      "_doc": {
         "properties": {
            "country": {"type": "keyword"},
            "population": {"type": "integer"}
         }
      }
   }
}

Note - Pour travailler avec des cartes de régions, nous devons spécifier le type de champ à utiliser avec l'agrégation comme type comme mot-clé.

Une fois terminé, téléchargez les données à l'aide de la commande _bulk.

Nous allons maintenant créer un modèle d'index. Accédez à l'onglet Gestion de Kibana et sélectionnez Créer un modèle d'index.

Voici les champs affichés à partir de l'index de tous les pays.

Premiers pas avec les cartes régionales

Nous allons maintenant créer la visualisation à l'aide des cartes régionales. Accédez à Visualisation et sélectionnez Cartes de région.

Une fois terminé, sélectionnez l'index comme tous les pays et continuez.

Sélectionnez les métriques d'agrégation et les métriques de compartiment comme indiqué ci-dessous -

Ici, nous avons sélectionné le champ comme pays, car je veux montrer la même chose sur la carte du monde.

Carte vectorielle et champ de jonction pour la carte de la région

Pour les cartes de région, nous devons également sélectionner les onglets Option comme indiqué ci-dessous -

L'onglet Options a la configuration des paramètres de calque qui sont nécessaires pour tracer les données sur la carte du monde.

Une carte vectorielle a les options suivantes -

Ici, nous sélectionnerons les pays du monde car j'ai des données sur les pays.

Le champ de jointure contient les détails suivants -

Dans notre index, nous avons le nom du pays, nous allons donc sélectionner le nom du pays.

Dans les paramètres de style, vous pouvez choisir la couleur à afficher pour les pays -

Nous sélectionnerons les rouges. Nous ne toucherons pas au reste des détails.

Maintenant, cliquez sur le bouton Analyser pour voir les détails des pays tracés sur la carte du monde comme indiqué ci-dessous -

Carte vectorielle auto-hébergée et champ de jointure à Kibana

Vous pouvez également ajouter vos propres paramètres Kibana pour la carte vectorielle et le champ de jointure. Pour ce faire, accédez à kibana.yml depuis le dossier de configuration de kibana et ajoutez les détails suivants -

regionmap:
   includeElasticMapsService: false
   layers:
      - name: "Countries Data"
      url: "http://localhost/kibana/worldcountries.geojson"
      attribution: "INRAP"
      fields:
         - name: "Country"
         description: "country names"

La carte vectorielle de l'onglet Options aura les données ci-dessus remplies au lieu de celles par défaut. Veuillez noter que l'URL fournie doit être activée CORS pour que Kibana puisse télécharger la même chose. Le fichier json utilisé doit être tel que les coordonnées se poursuivent. Par exemple -

https://vector.maps.elastic.co/blob/5659313586569216?elastic_tile_service_tos=agree

L'onglet Options lorsque les détails de la carte vectorielle de la carte de la région sont auto-hébergés est affiché ci-dessous -