Rechercher dans le blog

Les nouveautés de la version 4.32 de l'API JavaScript d'ArcGIS

La version 4.32 du SDK JavaScript d'ArcGIS est disponible ! Elle comporte de nombreuses nouvelles fonctionnalités améliorations pour une meilleure expérience de la cartographie et de l'analyse dans vos applications. Dans cet article, je vous propose de parcourir ensemble les nouveautés majeures de cette version.

Utilisez les composants pour développer des applications

Depuis un peu plus d'un an, Esri a introduit des composants webs dans son SDK pour le développement d'applications cartographique et recommande leur utilisation pour vos développements futurs.
 
Avec cette nouvelle version de l'API, Esri a totalement revu sa documentation, notamment en intégrant la documentation sur les composants (auparavant externalisée) directement dans la documentation globale de l'API. Chacune des pages décrivant les composants met à disposition un playground vous permettant de modifier interactivement la configuration du composant et récupérer le code qui en résulte.
Les fonctionnalités fondamentales des widgets sont déjà disponibles sous forme de composants. Les widgets ont été, dans un premier temps, intégrés dans des composants web. Au fil du temps, Esri compte les remanier progressivement afin de ne pas inclure l'architecture préexistante des widgets et d'adopter davantage les normes des composants web, comme par exemple l'encapsulation du style via le shadowDOM. Une fois qu'un composant aura fait l'objet de cette optimisation, le widget correspondant devient déprécié. Cette version comprend 12 composants qui répondent à ces critères, et les 12 widgets correspondants sont donc désormais obsolètes (Basemap Gallery, Basemap Toggle, Compass, Directional Pad, Fullscreen, Home, Locate, Navigation Toggle, Scale Bar, Swipe, Track, et Zoom). Pour plus d'informations sur la période de transition des widgets, consultez le plan de transition entre les widgets et les composants.

Filtres d'affichage

Les filtres d'affichage permettent de filtrer et d'afficher des données avec des performances optimales, ce qui peut s'avérer très pratique notamment si vous travaillez avec des datasets volumineux. 
 
Un bon exemple d'utilisation est l'affichage ou non d'entités en fonction de l'échelle. Dans l'exemple ci-dessous (dont vous pouvez consulter le code ici), la couche d'entités contient 2,7 millions de lignes représentant les cours d'eau des USA. Lorsque l'application est dézoomée, seuls les fleuves majeurs apparaissent à l'écran, et à mesure que vous zoomez, de plus en plus d'entités apparaissent. En plus de fluidifier l'affichage, cela améliore la lecture de votre carte. 
Vous pouvez également appliquer des filtres manuellement, en les contrôlant avec une valeur d'attribut. 
Dans les versions précédentes, vous deviez dupliquer la couche et définir la plage d'échelle et une expression de définition sur chaque copie de la couche pour obtenir le même comportement.
 
Les filtres d'affichage sont distincts des expressions de définition (qui excluent les données de l'utilisation par tous les composants de votre application) et ne filtrent que les données affichées par la carte. A l'heure actuelle, ils doivent être générés dans ArcGIS Pro et publiés avec votre service, mais Esri prévoit d'ajouter la possibilité de créer des filtres d'affichage dans ArcGIS Online et ArcGIS Enterprise dans une prochaine mise à jour.  

Couleurs de surbrillance multiples dans une seule couche

Il est désormais possible d'appliquer plusieurs couleurs de surbrillance aux éléments d'une même couche pour les mettre visuellement en valeur en fonction des interactions de l'utilisateur. Dans l'exemple ci-dessous, l'utilisateur sélectionne des entités qui se surlignent en vert en dessinant un rectangle, puis, lorsqu'il survole les entités sélectionnées dans le tableau, une deuxième couleur de surbrillance est utilisée pour mettre l'accent sur l'entité correspondante sur la carte.
Vous pouvez également tirer parti de cette capacité pour une sélection en cascade comme illustré ci-dessous.
Cette nouvelle fonctionnalité fonctionne aussi en 3D ! Dans l'exemple ci-dessous, les bâtiments sélectionnés dans la liste sont surlignés en bleu. Lorsque l'utilisateur survole l'un d'entre eux, une couleur de surlignage jaune est utilisée pour le distinguer dans l'ensemble de la sélection. 

Visualisation des trajectoires (beta)

Vous pouvez maintenant visualiser des trajectoires (de véhicules, d'avions, de navires) sur vos cartes 2D. Vous pouvez configurer des fenêtres contextuelles, des étiquettes et des outils de rendu pour les différentes parties de la trajectoire (dernière observation, observations précédentes et ligne de trajectoire). Auparavant, vous ne pouviez configurer qu'un seul moteur de rendu pour toutes les observations visibles. 
 
Cette nouvelle technique de visualisation peut être appliquée aux données diffusées en temps réel avec une couche de flux, ou comme moyen d'explorer et de visualiser des données historiques dans une couche d'entités, une couche GeoJSON, une couche CSV, une couche WFS ou encore une couche d'entités OGC. Le style des points d'observation le long de la trajectoire peut être piloté dynamiquement de plusieurs manières, par exemple par des valeurs d'attributs (telles que la vitesse) ou en fonction de l'ancienneté de l'observation.

Amélioration du widget Directions

Le widget (et le composant) Directions permet de calculer des itinéraires entre plusieurs points. Désormais basé sur Calcite (le design system d'Esri), il bénéficie désormais d'une UI modernisée et de nouvelles fonctionnalités. Vous pouvez maintenant éditer l'itinéraire proposé en ajoutant, déplaçant ou supprimant de manière interactive des points de destination et des obstacles sur la carte, et utiliser une nouvelle option pour demander l'ordre d'arrêt optimal si vous avez plusieurs destinations à desservir.

Évolutions liées à l'édition

Mise à jour avec des modèles d'édition

Cette version introduit de nouvelles façons de créer et d'éditer des entités sur le web. Les modèles d'édition contiennent des outils et des paramètres permettant de créer des entités en 2D ou en 3D. Jusqu'à présent, il n'y avait qu'un seul type de modèle disponible : les modèles d'entités. Désormais, la prise en charge des modèles partagés offre des workflows supplémentaires pour la création d''entités :    
  • Les modèles d'entités créent des entités sur une seule couche cible.
  • Les modèles de groupe (nouveau) créent des entités sur plusieurs couches dans le même service d'entités. Le modèle principal détermine le type de géométrie dessinée et détermine l'emplacement des éléments secondaires, en fonction des règles définies par l'auteur du modèle de groupe.
  • Les modèles prédéfinis (nouveau) ajoutent des entités prédéfinies à une carte et créent également des entités sur plusieurs couches dans le même service d'entités.
Les modèles d'entités peuvent être créés sur le web dans Map Viewer, ainsi que dans ArcGIS Pro. Les modèles de groupes et prédéfinis ne peuvent actuellement être créés que dans Pro 3.4 avec un add-in. La prise en charge de la création intégrée dans Pro sera disponible dans la prochaine mise à jour. Il est prévu que l'expérience de création sera à terme transférée sur le web.

Dans l'exemple ci-dessous, un modèle prédéfini nommé « Station de pompage avec équipements » est utilisé pour incorporer des éléments prédéfinis sur la carte dans l'ordre exact où ils ont été sélectionnés lors de la création du modèle.

Barre d'outils de dessin dans le widget Editor

Le widget (et le composant) Editor comprend désormais une barre d'outils pour faciliter la création de cercles, de rectangles, de polylignes et de polygones. L'éditeur respecte désormais les modèles d'entités (feature templates) publiés avec ces outils de dessin. Avant cette version, les couches de polygones utilisaient par défaut l'outil de dessin de polygones et les couches de polylignes utilisaient par défaut l'outil de dessin de polylignes.

En plus de cela, l'éditeur affiche une liste des entités créées lors de l'édition. L'utilisateur peut supprimer des éléments de cette liste, zoomer dessus et modifier les attributs avant de valider la création des l'entités. En survolant une entité de la liste, une couleur de surbrillance temporaire s'affiche sur l'entité correspondante sur la carte.

Meilleure expérience avec le composant Sketch

Dans cette version, Sketch propose une meilleure expérience utilisateur et met à disposition davantage de configuration pour s'adapter à différentes mises en page. Voici ce qu'incluent ;es améliorations du widget :
  • Échelle du composant : vous pouvez configurer l'échelle du composant pour qu'il soit petit (plus compact), moyen ou grand.
  • Redimensionnement intelligent : lorsque l'espace disponible pour le composant est trop petit pour accueillir tous les outils et options, le composant réduit automatiquement les parties les moins importantes en premier, tout en veillant à ce que les outils actifs et les plus récemment utilisés soient toujours visibles.
  • Plus d'outils de dessin disponibles : prise en charge facultative des outils de dessin de polygones et de polylignes à main levée, ainsi que des outils de dessin multipoints. 
  • Optimisé pour les utilisations flottantes et ancrées : vous pouvez choisir entre deux styles de barre d'outils, flottante et ancrée. L'option flottante optimise la mise en page pour l'affichage sur une carte, en fonction de l'espace disponible et de l'échelle des composants configurée. L'option ancrée est conçue pour intégrer Sketch dans une interface utilisateur non cartographique, telle qu'un panneau Calcite. Il perd automatiquement son ombre portée et utilise au mieux l'espace disponible dans le conteneur parent.

Utility Network

De nouvelles capacités ont été ajoutées pour mieux supporter vos workflows avec les Utility Network :
  • Groupes de tables de sous-types : ces tables sont des tables composites contenants de multiples sous-tables, dont chacune correspond à un sous-type dans le jeu de données. Elles sont idéales pour travailler avec des objets non spatiaux comme ceux typiquement utilisés dans l'industrie des télécommunications.
  • Améliorations du traçage : les améliorations comprennent la possibilité d'exécuter des traces avec des données non spatiales dans le widget UtilityNetworkTrace et de voir les associations dans les résultats des traces.
  • Ajouter et suppimer des associations d'Utility Network  : le widget Editor supporte maintenant l'ajout et la suppression d'associations dans les formulaires

Nouveautés dans les imageries orientées 

Mesure de l'image 

Il est possible de mesurer des éléments directement dans le visualiseur d'imagerie orientée. Les outils de mesure au sol vous permettent de mesurer la distance, la surface, la hauteur au-dessus du sol et de récupérer les coordonnées au sol sur la carte ou la scène correspondant aux points sélectionnés dans le visualiseur.

Capture de données

Vous pouvez maintenant des entités sur une image affichée dans le visualiseur d'imagerie orientée. Idéal pour les workflows d'inspection, les utilisateurs peuvent marquer les éléments et extraire des informations précieuses des images dans la visionneuse. Les éléments sont conservés dans une couche d'entités.

Il est temps de passer aux opérateurs géométriques !

Annoncés en 4.31, les opérateurs géométriques sont désormais sortis de bêta, et devraient à terme remplacer le geometry enine (moteur de géométrie). Ils encapsulent toutes les fonctionnalités anciennement présentes dans le geometry engine (tester, mesurer et analyser les relations spatiales entre deux ou plusieurs géométries 2D côté client), mais introduit également plus de 20 nouvelles capacités. Pour une vue d'ensemble des opérateurs disponible, vous pouvez consulter la nouvelle page de la documentation dédiée à l'introduction aux opérateurs géométriques. 

Voici quelques une des dernières mises à jour :
  • Projection : cette version introduit la prise en charge d'un nouvel opérateur de projection, qui remplacera à terme le moteur de projection. Cet opérateur fournit des capacités côté client pour convertir des géométries d'une référence spatiale à une autre.
  • Projection préservant la forme :  cet opérateur transforme les points d'extrémité et les points intérieurs des segments géométriques en 2D afin de conserver avec précision leur forme d'origine.

Requête sur les regroupements d'attributs 

Les requêtes sur les groupes d'attributs simplifient les ensembles de données volumineux ou complexes en les résumant en intervalles significatifs, ce qui permet d'identifier plus facilement les schémas ou les tendances. Par exemple ci-dessous, les ouragans survenus entre 1900 et 2024 peuvent être regroupés par mois afin d'analyser les tendances saisonnières et de déterminer les mois où la fréquence des ouragans est la plus élevée.

Symbologie en dégradé

Vous pourrez maintenant utiliser des dégradés pour les symbologies linéaires et surfaciques. Cette amélioration des symboles CIM offre davantage d'options pour le style cartographique de vos applications, avec la prise en charge des dégradés linéaires, rectangulaires et radiaux. Elle améliore également la prise en charge de certains styles Web publiés à partir d'ArcGIS Pro, tels que les styles "aquarelle" ou "orbe vitreux". 

Testez un nouvel exemple de code sur l'analyse de terrains 3D

Esri a mis à disposition un nouvel exemple de code pour présenter les capacités d'analyse côté client des rasters avec l'API, que vous pouvez consulter ici.

Passez à Calcite 3.0

Calcite est le Design System d'Esri, qui vous permet d'intégrer des éléments d'interface utilisateur à vos applications via de nombreux composants. Vos application incluant des composants de Calcite et utilisant la version 4.32 de l'API JavaScript devront utiliser la version 3.0.3 ou supérieure de Calcite. Découvrez plus d'infos sur la mise à jour de Calcite en 3.0 dans cet article.

En savoir plus

Cet article ne résume que les nouveautés principales, mais n'hésitez pas à consulter les notes de version pour obtenir plus de détails, ainsi que la liste complète des nouveautés et de breaking changes. Vous pouvez également explorer tous les exemples de code illustrant les capacités introduites dans cette version.

Aucun commentaire:

Enregistrer un commentaire