Concevoir une analyse en temps réel

Dans cette leçon, vous allez créer une analyse en temps réel sur des données diffusées en continu dans ArcGIS Velocity. Cette leçon approfondit la leçon Créer un flux, au cours de laquelle vous avez créé un nouveau flux pour collecter des données AIS. Dans cette leçon, vous allez configurer une analyse temps réel pour enrichir les données AIS en continu en ajoutant le district de la Garde côtière des États-Unis dans lequel se trouve chaque navire.

Vous apprendrez à créer une analyse en temps réel, à ajouter et configurer des outils en temps réel, à ajouter des sorties qui diffusent les données et à stocker des entités dans une couche d’entités.

Ce cours s’adresse aux débutants. Vous devez disposer d’un compte ArcGIS Online avec accès à ArcGIS Velocity. La durée estimée de cette leçon est de 30 minutes.

Créer une nouvelle analyse en temps réel

Pour commencer, vous allez créer une analyse en temps réel sur le flux AIS que vous avez créé au cours de la leçon Créer un flux.

  1. Dans un navigateur Web, ouvrez ArcGIS Velocity et connectez-vous avec vos identifiants de connexion ArcGIS Online.

    Pour une expérience optimale, utilisez Google Chrome ou Mozilla Firefox.

    Remarque :

    En cas de problème lors de la connexion, adressez-vous à votre administrateur ArcGIS Online. Vous devrez peut-être disposer d’un rôle ArcGIS Online doté de privilèges pour utiliser ArcGIS Velocity. Pour plus d’informations, reportez-vous à la rubrique Créer des rôles et attribuer des utilisateurs.

  2. Dans le menu principal de gauche, cliquez sur Real-Time (Temps réel), sous ANALYTICS (ANALYSES) pour accéder à la page Real-Time Analytics (Analyses en temps réel).

    Dans la page Real-Time Analytics (Analyses temps réel), vous pouvez créer des analyses en temps réel, mais également afficher et gérer celles existantes.

  3. Cliquez sur Create real-time analytic (Créer une analyse temps réel) pour lancer l’assistant de configuration d’analyse.
  4. Dans la page Create a new real-time analytic (Créer une nouvelle analyse en temps réel), cliquez sur Existing feed (Flux existant).

    Créer une analyse en temps réel à l’aide d’un flux existant.

  5. Dans la fenêtre Select existing feed (Sélectionner le flux existant), sélectionnez ship_positions_simulation et cliquez sur Confirm (Confirmer).

    Sélectionner un flux existant pour effectuer des analyses en temps réel.

    Remarque :

    Le flux ship_positions_simulation doit être disponible si vous avez terminé la leçon Créer un flux. Dans le cas contraire, terminez cette leçon avant de continuer.

    L’éditeur d’analyse en temps réel s’ouvre, permettant de configurer des outils et des sorties supplémentaires. Par défaut, l’éditeur affiche le flux sélectionné et tous les éléments de traitement dans une mise en page linéaire séquentielle.

    Éditeur d’analyse en temps réel

Créer l’analyse

Bien que l’analyse contienne uniquement le flux en entrée à ce stade, vous allez le créer pour pouvoir y retourner plus tard, si nécessaire.

  1. Dans la page New Real-Time Analytic (Nouvelle analyse temps réel), cliquez sur Create analytic (Créer une analyse) pour créer l'analyse temps réel.
  2. Dans la fenêtre Create Analytic (Créer une analyse), définissez le Title (Titre) et le Summary (Résumé) comme indiqué ci-après.
    1. Pour Title (Titre), saisissez AIS Real Time Processing (Traitement en temps réel AIS).
    2. Pour Summary (Résumé), saisissez Filtrer et modifier les données AIS entrantes avec sortie en continu et stockage d’entités).
    3. Pour Folder (Dossier), sélectionnez le dossier dans lequel vous souhaitez enregistrer la nouvelle analyse.
  3. Cliquez sur Create analytic (Créer une analyse) pour créer l'analyse.

    Créer l’analyse

    Une fois que l’analyse a été créée, l’éditeur d’analyse s’ouvre pour que vous puissiez ajouter de nouveaux éléments, notamment des flux, sources, outils d’analyse et sorties.

    Éditeur d’analyse après création de l’analyse temps réel

Ajouter et configurer un outil d’analyse

Vous allez maintenant ajouter un outil à l’analyse AIS Real Time Processing (Traitement en temps réel AIS) afin d’appliquer une analyse en temps réel au flux de données AIS. Velocity permet de créer une séquence de nœuds d’analyse successifs qui définissent le flux de données entre les entrées et les sorties.

Vous utiliserez l’outil Join Features (Entités jointes) pour ajouter aux données AIS entrantes le nom du district de la Garde côtière des États-Unis dans lequel se trouve chaque navire. Plus spécifiquement, l’outil effectue une jointure spatiale entre les entités navires et la couche surfacique U.S. Coast Guard District (Garde côtière des États-Unis).

  1. Vous allez tout d’abord ajouter l’outil Join Features (Joindre des entités) à l’analyse AIS Real Time Processing (Traitement en temps réel AIS) et le connecter au flux ship_positions_simulation.
    1. Dans le menu Add Node (Ajouter un nœud) de gauche, cliquez sur le dossier Summarize Data (Synthétiser les données) et sélectionnez l’outil Join Features (Joindre des entités) pour l’ajouter à l’éditeur.
    2. Faites glisser l’outil Join Features (Joindre des entités) à droite du flux ship_positions_simulation.
    3. Connectez le flux ship_positions_simulation à l’outil Join Features (Entités jointes).

      Outil Join Features (Joindre des entités) connecté au flux

    Ensuite, vous allez ajouter la source d’enrichissement des données, à savoir la couche d’entités U.S. Coast Guard District (District de la garde côtière des États-Unis), et la connecter à l’outil Entités jointes.

  2. Cliquez sur le dossier Sources (Sources), sélectionnez Feature Layer (Couche d’entités) et configurez la source de la couche d’entités comme suit :
    1. Cliquez sur le menu déroulant My Content (Mon contenu) et sélectionnez By URL (Par URL).
    2. Dans la zone de texte Layer URL (URL de la couche), entrez https://services2.arcgis.com/FiaPA4ga0iQKduv3/arcgis/rest/services/US_Coast_Guard_Districts_new/FeatureServer.
    3. Sélectionnez la sous-couche USCG_Districts (0) et cliquez sur Next (Suivant).

      Configuration de la couche d’entités utilisée pour l’enrichissement comme source de données.

    4. À l’étape Filter Data (Filtrer des données), définissez le paramètre Output spatial reference (Référence spatiale en sortie) (facultatif) sur GCS WGS 1984 (GCS WGS 1984) et cliquez sur Next (Suivant).
    5. À l’étape Confirm Schema (Confirmer la structure), acceptez la structure échantillonnée et cliquez sur Next (Suivant).

      Velocity échantillonne les données et génère une structure pour commencer.

    6. À l’étape Identify Key Fields (Identifier les champs clés), sous Tracking (Suivi), sélectionnez Data does not have a Track ID (Les données ne comportent pas d’ID de trace).

      Cette étape de l’assistant de configuration permet de définir la construction de la géométrie, la date et d’heure, et les informations de suivi. Etant donné que la source de données est une couche d’entités ArcGIS, les données de géométrie et de date et d’heure sont configurées automatiquement.

    7. Cliquez sur Complete (Terminé) pour créer la source de données et l’ajouter à l’éditeur.

    Une fois que la nouvelle source de couche d’entités a été ajoutée à l’éditeur, vous allez la connecter aux autres nœuds.

  3. Faites glisser la source USCG_Districts et déposez-la sous le flux ship_positions_simulation, puis connectez-la à l’outil Entités jointes.

    Flux et source de données configurés dans une analyse temps réel

    Deux entrées sont désormais connectées à l’outil Join Features (Joindre des entités) : le flux des positions de navires et la source de données de la couche d’entités U.S. Coast Guard District (Garde côtière des États-Unis). Vous allez à présent configurer l’outil Entités jointes de sorte qu’il effectue une jointure spatiale et qu’il ajoute le nom des districts de la Garde côtière des États-Unis aux données d’événement en entrée.

  4. Double-cliquez sur l’outil Entités jointes pour ouvrir ses propriétés et configurez l’outil comme suit :
    1. Pour Join operation (Opérations de jointure), cliquez sur One-to-one (Un vers un).
    2. Pour Retain all features (Conserver toutes les entités), cliquez sur Only retain features that are joined (Conserver uniquement les entités qui sont jointes).
    3. Pour Relationship (Relation), cochez la case Spatial (Spatial) et sélectionnez Intersects (Intersections) dans le menu déroulant du type de relation spatiale.

      Outil Join Features (Joindre des entités) avec options de relations spatiales configurées

      Dans cette leçon, vous détectez les intersections entre tout navire et un district de la Garde côtière des États-Unis et ajoutez, ou joignez, ces informations contextuelles aux données des navires afin de pouvoir les utiliser pour obtenir une meilleure connaissance de la situation ou une analyse plus approfondie. Vous définirez ensuite les paramètres Summary fields (Champs de récapitulation).

    4. Pour Attribute (Attribut), sélectionnez DistrictName.
    5. Pour Statistic (Statistique), sélectionnez Any (Tout).
    6. Dans Output field name (Nom de champ en sortie), remplacez DistrictName_Any par DistrictName.
    7. Cliquez sur Add (Ajouter) pour ajouter le champ à l’opération de jointure.
    8. Laissez l’option Change geometry of target feature to geometry of join feature (Remplacer la géométrie de l’entité cible par la géométrie de l’entité de jointure) définie sur No (Non).
    9. Cliquez sur Apply (Appliquer) pour enregistrer les propriétés.

      Outil Join Features (Joindre les entités) avec champs de récapitulation configurés

  5. Dans l’éditeur d’analyse, cliquez sur Save (Enregistrer) pour enregistrer l’analyse AIS Real Time Processing (Traitement en temps réel AIS).

Configurer une couche d’entités en sortie

Après avoir ajouté le nœud de traitement en temps réel requis et une source de données d’enrichissement, vous allez ajouter deux sorties pour stocker et visualiser les données. Pour commencer, vous allez ajouter et configurer une sortie pour stocker les données dans une nouvelle couche d’entités. Dans la section suivante, vous ajouterez une autre sortie pour envoyer les données vers une couche en mode continu pour les visualiser dans une carte Web.

  1. Dans le menu Add Node (Ajouter un nœud) de gauche, cliquez sur le dossier Outputs (Sorties), sélectionnez Feature Layer (new) (Couche d’entités (nouvelle)) et configurez la sortie comme suit :
    1. Pour Data storage method (Méthode de stockage de données), sélectionnez Keep only latest feature for each Track ID value (Conserver uniquement la dernière entité pour chaque valeur d’ID de trace).

      Ceci conserve uniquement la dernière observation pour chaque trace (en l’occurrence, chaque navire). Les observations suivantes remplaceront les observations existantes pour chaque trace de la couche d’entités en sortie.

      Remarque :

      L’option Add all new features (Ajouter toutes les nouvelles entités) conserve toutes les données entrantes et pas seulement les dernières entités reçues.

    2. Pour Each time the analytic starts (À chaque démarrage de l’analyse), sélectionnez Replace existing features and schema (Remplacer les entités et la structure existantes).

      Paramètres en sortie de Feature Layer (new) (Couche d'entités (nouvelle)) configurés

      Avec cette configuration, chaque fois que l’analyse est lancée (ou relancée), tous les enregistrements de la couche d’entités en sortie sont supprimés et la structure de la couche d’entités en sortie est générée de nouveau. Cette fonction est utile si vous développez et testez une analyse en temps réel et que vous ajoutez, supprimez ou modifiez des outils entre chaque exécution.

      Remarque :

      Dans un environnement de production, vous pouvez modifier la couche d’entités en sortie et sélectionner Keep existing features and schema (Conserver les entités et la structure existantes) pour que les données existantes soient conservées en cas de redémarrage de l’analyse.

    3. Cliquez sur Next (Suivant) pour passer à l’étape suivante.
    4. À l’étape Save (Enregistrer), pour Feature layer name (Nom de la couche d’entités), saisissez Ships_Inside_USCG_Districts.
    5. Pour Feature layer summary (optional) [Résumé de la couche d’entités (facultatif)], saisissez Ships inside US Coast Guard Districts.
    6. Pour Folder (Dossier), choisissez un dossier pour y enregistrer la couche d’entités.
    7. Cliquez sur Complete (Terminé) pour enregistrer la nouvelle couche d’entités en sortie.

    Étape d’enregistrement de la couche d’entités

    La nouvelle couche d’entités en sortie, Ships_Inside_USCG_Districts, est ajoutée à l’éditeur d’analyse.

  2. Connectez l’outil Join Features (Entités jointes) à la nouvelle couche d’entités en sortie Ships_Inside_USCG_Districts.

    Outil Join Features (Joindre les entités) connecté à la couche d’entités en sortie

  3. Cliquez sur Save (Enregistrer) pour enregistrer l’analyse temps réel.

Configurer une couche en mode continu en sortie

La sortie de la nouvelle couche d’entités ayant été ajoutée et l’analyse en temps réel ayant été enregistrée, vous allez ajouter une deuxième sortie pour envoyer les entités à une couche en mode continu que vous visualiserai dans une carte Web.

  1. Dans le menu Add Node (Ajouter un nœud) de gauche, cliquez sur le dossier Outputs (Sorties), sélectionnez Stream Layer (Couche en mode continu) et configurez la sortie comme suit :
    1. À l’étape Stream Layer Configuration (Configuration de la couche de flux temps réel), cliquez sur Next (Suivant) pour accepter les paramètres par défaut.

      Les paramètres Also publish a feature layer which keeps the latest observation for each Track ID (Publier également une couche d’entités qui conserve la dernière observation pour chaque ID de trace) et Select a related feature layer to provide geometry when stream layer is drawn in a map (Sélectionner une couche d’entités associée pour fournir la géométrie lorsqu’une couche en mode continu est dessinée sur une carte) sont facultatifs. Lorsque vous publiez une couche d'entités, vous pouvez publier une couche d’entités distinctes contenant uniquement les dernières observations. Cela est utile lorsque vous voulez symboliser la position actuelle d’une ressource (dans le cas présent un navire) différemment sur une carte Web. Vous pouvez choisir une couche d’entités associée qui peut être utilisée pour ajouter des champs supplémentaires à la couche en mode continu en sortie.

    2. Pour Stream layer name (Nom de la couche en mode continu), saisissez Ships_Inside_USCG_Districts_stream.
    3. Pour Stream layer summary (optional) [Résumé de la couche en mode continu (facultatif)], saisissez Ships inside US Coast Guard Districts stream.
    4. Pour Folder (Dossier), choisissez un dossier pour y enregistrer la couche en mode continu.

    Configuration de la couche en mode continu en sortie

  2. Cliquez sur Complete (Terminer) pour créer la couche en mode continu en sortie.

    La nouvelle couche en mode continu en sortie, Ships_Inside_USCG_Districts_stream, est ajoutée à l’éditeur d’analyse.

  3. Connectez l’outil Join Features (Entités jointes) à la couche en mode continu en sortie Ships_Inside_USCG_Districts_stream.

    Outil Join Features (Joindre les entités) connecté à la nouvelle couche en mode continu en sortie

  4. Cliquez sur Save (Enregistrer) pour enregistrer l’analyse temps réel.

Démarrer l’analyse en temps réel

L’analyse en temps réel inclut maintenant le flux, la source de données, l’outil et les sorties requis et peut commencer. Lors de son exécution, l’analyse reçoit les données simulées des navires, y joint le nom du district de la Garde côtière des États-Unis où se trouve actuellement chaque navire, puis écrit les données d’événement dans les couches d’entités et couches en mode continu en sortie.

  1. En haut à droite de l’éditeur d’analyse, cliquez sur Start (Démarrer).

    Comme les flux, les analyses en temps réel sont des tâches qui durent longtemps, et dont l’exécution se poursuit jusqu’à ce qu’elles soient arrêtées.

    L’intitulé du bouton Start (Démarrer) devient Stop Initialization (Arrêter l’initialisation), puis Stop (Arrêter). Cela indique que l’analyse temps réel est maintenant en cours d’exécution.

  2. Affichez le statut et surveillez l’analyse AIS Real Time Processing (Traitement en temps réel AIS) dans la page Real-Time Analytics (Analyses temps réel).

Afficher les mesures de l’analyse temps réel

Vous pouvez consulter les mesures liées à vos analyses en temps réel en cours d’exécution dans Velocity. Ces mesures indiquent le taux moyen d’événements pour chaque élément et représentent une moyenne du taux pour chaque élément pendant les cinq dernières minutes d’exécution. En outre, lorsqu’une analyse en temps réel s’exécute, les mesures représentent l’utilisation de la capacité de calcul par l’analyse. Pour plus d’informations, reportez-vous à la rubrique Mesures d’analyse temps réel.

  1. Dans l’analyse en temps réel AIS Real Time Processing (Traitement en temps réel AIS), activez la bascule Metrics (Mesures) afin d’afficher les mesures de chaque nœud de l’analyse.
  2. Révisez les mesures de chaque nœud de l’analyse en temps réel. Notez les événements traités par seconde par chaque nœud, le nombre total d’observations en entrée et en sortie, ainsi que l’utilisation de la capacité de calcul.

    Mesures de l’analyse temps réel

Examiner la couche en sortie

Maintenant que l’analyse en temps réel est exécutée et qu’elle envoie des données d’événement aux sorties des couches d’entités et des couches en mode continu, vous allez ajouter ces couches en sortie à une carte Web directement dans l’analyse en temps réel.

  1. Dans le menu principal, cliquez sur Feeds (Flux) sous INPUT (ENTRÉE) pour accéder à la page Feeds (Flux).
  2. Si le flux ship_positions_simulation n’est pas déjà démarré, cliquez sur Start (Démarrer).
  3. Dans le menu principal, cliquez sur Real-Time (Temps réel) sous ANALYTICS (ANALYSES) pour accéder à la page Real-Time Analytics (Analyses temps réel).
  4. Si l’analyse en temps réel AIS Real Time Processing (Traitement en temps réel AIS) n’est pas déjà démarrée, cliquez sur Start (Démarrer).
  5. Une fois que l’analyse temps réel AIS Real Time Processing (Traitement en temps réel AIS) est en cours d'exécution, cliquez sur l’icône représentant un crayon pour modifier l'analyse.
  6. Cliquez avec le bouton droit de la souris sur la couche d’entités en sortie Ships_Inside_USCG-Districts et sélectionnez Open in Map Viewer (Ouvrir dans Map Viewer).

    Ouvrir une couche d’entités dans Map Viewer

    Un nouvel onglet de navigateur ouvre Map Viewer dans ArcGIS Online et ajoute la couche d’entités à la carte Web.

  7. Remplacez le fond de carte par Dark Gray Canvas (Nuances de gris foncé).

    Couche d’entités dans une carte Web

  8. Cliquez sur Add (Ajouter) et sélectionnez Add Layer from Web (Ajouter une couche à partir du Web).
  9. Ajoutez la couche d’entités U.S. Coast Guard Districts (Garde côtière des États-Unis) à l’aide de l’URL https://services2.arcgis.com/FiaPA4ga0iQKduv3/arcgis/rest/services/US_Coast_Guard_Districts_new/FeatureServer.

    Couche d’entités dans une carte Web avec limites du district de la Garde côtière des États-Unis

  10. Cliquez sur l’une des entités de navire pour afficher ses attributs dans une fenêtre contextuelle. Chaque observation est enrichie avec le nom du district de la Garde côtière des États-Unis (DistrictName) dans lequel le navire se trouve actuellement.

    District de la Garde côtière des États-Unis dans lequel se trouve le navire

Étapes suivantes

Vous avez créé une analyse en temps réel à l’aide de ArcGIS Velocity et affiché les entités en sortie dans une carte Web. Vous avez ensuite ajouté l’outil Join Features (Entités jointes) pour effectuer un enrichissement spatial et associer des données contextuelles aux données d’observation ingérées.

Vous allez à présent explorer la leçon Concevoir une analyse Big Data qui montre comment utiliser les analyses de Big Data dans Velocity. Si vous souhaitez utiliser des expressions Arcade, reportez-vous à la rubrique Utiliser les expressions Arcade.