Le blog francophone consacré
aux technologies Esri

La version 4.24 de l'API JavaScript ArcGIS est disponible

L'API JavaScript ArcGIS est un des composant essentiel de la plateforme ArcGIS. Elle permet tout d'abord à Esri d'implémenter les applications de conception de carte et de scène du portail ArcGIS (Map Viewer et Scene Viewer), les dizaines d'applications web configurables, le générateur d'application Experience Builder ou encore les applications métiers telles qu'ArcGIS Urban, ArcGIS GeoBIM, ArcGIS Indoors, ArcGIS Hub, .... L'API JavaScript ArcGIS permet également aux développeurs et aux partenaires Esri de construire des applications web cartographiques très puissantes en 2D et 3D. 


La verson 4.24 de l'API JavaScript st la seconde mise à jour de l'année et elle est en ligne deouis quelques jours avec des améliorations qui devraient plaire à tous les développeurs. Par exemple, ils pourront désormais superposer des images et des vidéos sur leurs cartes, personnaliser leur carte avec des rendus par diagrammes à secteurs, manipuler des couches représenter en cartes de chaleur de manière plus rapide, utiliser le regroupement d'entités côté client pour les données très denses, et bien plus encore...

Je vous propose de voir cela un peu plus en détails dans cet article.


Superposer des images et des vidéos

Le nouveau type de couche MediaLayer (sorti en version beta pour l'instant) peut être utilisé pour superposer des images et des vidéos sur la carte. Par exemple, vous pouvez l'utiliser pour afficher des cartes historiques numérisées, des données météorologiques, des images aériennes et des images ou des vidéos de drones. Cette capacité correspond à la capacité des couches MapImageLayer de l'API 3.x pour superposer des images, mais elle va au-delà en incluant la prise en charge des points suivants :

  • Support des cartes 2D et des scènes 3D
  • Utilise des images ou des vidéos
  • Permet d'ajouter et de supprimer facilement des images/vidéos à la volée
  • Mélange de couches et autres effets visuels propres à 4.x
  • Comme dans l'API 3.x, une image peut être géolocalisée à l'aide d'une étendue, mais avec cette nouvelle couche MediaLayer, les coins des médias peuvent également être placés individuellement

Cette vidéo de la NASA montre différentes concentration de particules transportées sur la carte.

 
Rendu des couches par diagramme à secteurs

Le rendu PieChartRenderer vous permet de créer un diagramme à secteurs pour comparer plusieurs valeurs d'attributs pour chaque entité. Ce style de rendu peut s'utiliser dans une couche de points ou de polygones. Les diagrammes à secteurs sont très utiles pour présenter en plus des catégories, une valeur supplémentaire pour définir la proportion globale du diagramme.


L'exemple d'application ci-dessus montre les niveaux d'éducation les plus élevés atteints des habitants de chaque comté aux Etats-Unis. Les secteurs montrent une comparaison des niveaux d'éducation atteints tandis que la taille de chaque dagramme est déterminée par la population du comté.

Si vous avez configuré des diagrammes à secteurs dans vos fenêtres contextuelles, les couleurs correspondront désormais à celles de vos couches lors de l'utilisation de rendu par prédominance, par densité de points ou du nouveau rendu par diagrammes à secteurs.


Regroupement d'entités côté client (en beta)

Le binning (regroupement d'entités) est une méthode de visualisation des densités de points, similaire au clustering et aux heatmaps. Alors que le clustering agrège des points dans des limites variables en fonction de la densité et de la dispersion des données, le bining regroupe les données selon une grille de cellules également divisée. Vous pouvez définir la manière dont vous souhaitez agréger les champs numériques dans chaque groupe et les utiliser dans la configuration des étiquettes, des fenêtres contextuelles et du rendu des groupes.


Le bining côté serveur, qui vous permettra d'afficher des agrégats de très grands ensembles de données, sera ajouté dans une prochaine version.

Vous voulez mieux comprendre les différeces entre binning et clustering ? Vous pouvez consulter ces différents exemples.


Des rendus par carte de chaleur beaucoup plus rapides

Dans la dernière version, Esri a introduit les rendus de type "heatmaps" dans les scènes 3D. Avec cette version, les capacités du HeatmapRenderer ont été largement améliorées pour les visualisations 2D et 3D.

Fenêtres contextuelles (2D et 3D): Les points sous-jacents dans les cartes de chaleur affichent désormais des fenêtres contextuelles et peuvent être renvoyés dans une opération hitTest.

Expérience plus rapide et plus fluide en 2D: Les cartes de chaleur sont désormais rendues avec le moteur WebGL de votre navigateur, ce qui lui permet d'effectuer le rendu beaucoup plus rapidement, de gérer de très grands ensembles de données et de fournir une expérience plus fluide lors de l'interaction avec la carte.

86 000 entités ponctuelles sont visualisées sous forme de carte de chaleur, avec une expérience beaucoup
plus rapide en 4.24 (à droite) qu'en 4.23 (à gauche)


Quelques options de rendu en 2D: Vous pouvez inclure des étiquettes dans les vues de carte 2D, et filtrer et appliquer des effets aux entités avec des mises à jour dynamiques de la carte de chaleur.

Cartes de chaleur statiques: Jusqu'à présent, les cartes de chaleur en 2D étaient toujours recalculées lorsque l'utilisateur zoomait et dézoomait, ce qui entraînait différentes visualisations de cartes thermiques en fonction de l'échelle. Avec la version 4.24, vous pouvez désormais choisir de conserver ce comportement par défaut ou de conserver une carte de chaleur statique pour toutes les échelles. En définissant la propriété referenceScale  (introduite à l'origine dans la version 4.23 pour la 3D), la visualisation de la carte de chaleur est verrouillée à une échelle spécifique afin qu'elle apparaisse cohérente lors d'un zoom avant et arrière.


Pour en savoir plus sur ces cartes de chaleur de nouvelle génération, consultez les notes de version.


Bâtiments et arbres en 3D sur monde entier !

ArcGIS Living Atlas vient d'être mis à jour avec une nouvelle série de couches mondiales de bâtiments et d'arbres 3D basée sur les données OpenStreetMap (OSM). Cela signifie que vous pouvez créer vos applications à l'aide de cette nouvelle couche, ajouter du contexte dans vos scènes et appliquer des filtres spatiaux pour effacer dynamiquement les zones où vous souhaitez placer vos propres données. Cela représente une opportunité très intéressante pour de nombreux développeurs, y compris ceux qui souhaitent visualiser leurs données 2D dans un contexte 3D.

Visitez vos lieux préférés dans cette scène utilisant les bâtiments et les arbres 3D OSM :



Effets de pluie et de neige

Vous pourrez rendre vos scènes plus immersives et réalistes en ajoutant des effets météorologiques pour  la pluie et les chutes de neige. Vous pouvez régler la quantité de précipitations ou recouvrir votre contenu 3D de neige. Les paramètres météo sont désormais conservés dans les scènes Web et les diapositives, ce qui facilite la création et le partage de différents scénarios.

Un nouvel exemple utilise les effets météorologiques pour visualiser des scénarios météorologiques extrêmes sur la basilique Notre-Dame de Fourvière à Lyon :



Fusion de couches dans les scènes 3D

Vous connaissez déjà la fusion de couche (layer blending) dans les cartes 2D. Ddorénavant, vous pouvez créer de nouvelles visualisations l'aide des modes de fusion en 3D. Vous pouvez utiliser les mêmes modes de fusion déjà disponibles en 2D pour mélanger plusieurs couches dans votre scène.

Vous pouvez découvrir ce nouvel exemple qui fusionne une couche d'ombrage sur un fond de carte OSM pour fournir plus de contraste et une meilleure perception spatiale du contexte.



Variables des couches de Voxels

Vous pourrez maintenant modifier l'apparence de vos données de voxels à l'@aide de variables publiées. Vous basculerez entre la visualisation des variables sous forme de surfaces ou l'utilisation du volume complet de la couche. De plus, vous pourrez configurer les couches de voxels pour exagérer et décaler les voxels à l'affichage afin de mieux comprendre leurs caractéristiques spatiales.

Vous pouvez essayer ces nouvelles capacités de rendu dans ce nouvel exemple de code sur une couche voxels :



Expérience de dessin améliorée dans les scènes 3D

De nouvelles info-bulles et étiquettes affichent dorénavant des mesures lors de la création ou de la mise à jour d'entités avec les widgets Sketch ou Editor. Les étiquettes indiquent la longueur des segments de polygone et de polyligne, tandis que les info-bulles indiquent la longueur totale des lignes ou la surface des polygones, ainsi que la rotation, l'échelle et la distance. De plus, l'élévation est affichée lors de la modification des hauteurs absolues.

Ces info-bulles et étiquettes seront ajoutées à l'expérience de dessin dans les vues de carte 2D dans une prochaine version.



Le widget "Directions" enregistre les itinéraires et bien plus encore

Dans la dernière version, Esri a introduit la notion de couche d'itinéraire pour offrir un moyen simple et puissant de visualiser, de résoudre et même d'enregistrer des itinéraires.

La puissance de la couche d'itinéraire est mise en évidence en activant certaines améliorations importantes dans le widget Directions en version 4.24. Désormais alimenté par la couche d'itinéraire, le widget Directions propose les avancées suivantes :

Enregistrer des itinéraires : Vos utilisateurs peuvent obtenir des itinéraires, puis enregistrer l'itinéraire dans leur organisation ArcGIS Online ou Enterprise.

Ouvrir des Itinéraires : Ouvrir, afficher et modifier les itinéraires existants d'un utilisateur à partir des son organisation ArcGIS Online ou ArcGIS Enterprise de l'utilisateur final.

Nouveaux workflows : Vous pouvez facilement créer de nouveaux workflow pour vos utilisateurs en tirant parti de la possibilité de précharger le widget avec un itinéraire ou d'ajouter/supprimer dynamiquement des arrêts par code. Par exemple, vous pouvez ajouter une action personnalisée à votre popup qui permet à l'utilisateur d'ajouter un autre arrêt à l'emplacement cliqué et de recalculer l'itinéraire.


Pour tirer parti de ces nouvelles fonctionnalités dans le widget Directions, il doit être instancié avec une RouteLayer (nouvelle ou existante). L'ancien workflow de création d'un widget Directions sans RouteLayer est obsolète et ne sera pas pris en charge dans une future version.

On notera également que la possibilité d'imprimer la feuille de route d'un itinéraire et la possibilité de placer interactivement des barrières arriveront dans une future version.


Symbologie vectorielle améliorée et nouvelle expérience

Avez-vous essayé les nouvelles options de style des symboles vectoriels dans Map Viewer ? Elles vous permettent de concevoir des symboles vectoriels pour les couches et les graphiques dessinés par l'utilisateur, avec un contrôle précis des propriétés des différentes couches de symboles telles que la couleur et l'épaisseur des lignes. Pour info, Map Viewer crée des CIMSymbols qui sont disponibles dans l'API depuis déjà trois ans. Cependant, cet outil vous permet de concevoir facilement des symboles vectoriels comme vous les aimez, de les charger ensuite dans vos cartes web ou vos éléments de couche puis de profiter d'un affichage impeccable à n'importe quelle échelle.


La nouveauté de cette version 4.24 de l'API JavaScript est la possibilité de choisir entre des motifs aléatoires et fixes pour les remplissages de polygones. Cette option est également accessible dans le styleur de symboles de Map Viewer.


Pour les amateurs d'Arcade...

Arcade est un langage d'expression qui vous permet de calculer des valeurs et de créer du contenu personnalisé dans différents profils (contextes), tels que les fenêtres contextuelles, les moteurs de rendu, les étiquettes et les formulaires. La plupart du temps, les profils Arcade qui font partie de l'API sont adaptés aux exigences de l'application. Cependant, les développeurs souhaitent parfois pouvoir exécuter des expressions Arcade dans leurs propres profils personnalisés. A partir de la version 4.24, cela est possible. Cela signifie que vous pouvez utiliser Arcade où vous voulez, comme vous voulez. Dans votre profil personnalisé, vous pouvez définir les entrées de données valides, les fonctions et les types de retour en plus du contexte dans lequel ils peuvent s'exécuter. Par exemple, une carte web peut contenir une fenêtre contextuelle qui utilise une expression pour générer du contenu. Dans votre application, vous pouvez prendre le résultat de l'expression et l'afficher en dehors de la carte web (dans des grapiques, dans des éléments d'IHM,...). Pour voir cela en action, je vous recommande cet exemple de code.


Enregistrement des couches d'entités

La version de juin d'ArcGIS Online a ajouté la possibilité d'enregistrer des couches d'entités depuis la visionneuse de carte. Cela signifie que vous pouvez définir le rendu de la couche, la fenêtre contextuelle, le filtrage, les options de regroupement, etc., puis l'enregistrez en tant que nouvel élément de couche d'entités (ou remplacez un élément existant) dans ArcGIS Online. Vous pouvez ensuite la charger dans les cartes et les scènes de vos applications. En faisant référence à l'ID de l'élément. Tout ce que l'utilisateur a configuré est alors conservé et restitué lorsque l'élément de la couche d'entités est chargé. 

Tout cela est possible car la sauvegarde de la couche d'entités a été ajoutée à l'API JavaScript. Ainsi, en plus de pouvoir enregistrer des couches d'entités avec Map Viewer, vous pouvez autoriser vos utilisateurs finaux à apporter des modifications aux couches d'entités ou à créer de nouvelles couches et à les enregistrer dans ArcGIS Online et ArcGIS Enterprise.


Quelques évolutions de l'API...

Nous n'avons vu que quelques-unes des évolutions de la version 4.24, on pourra rajouter quelques points comme :

  • L'API peut utiliser désormais WebGL2 qui offre une meilleure prise en charge des capacités des GPU modernes. L'API utilisera WebGL2 si votre  navigateur le supporte, sinon elle utilisera à WebGL1.
  • Lorsque vous survolez une liste d'entités dans la fenêtre contextuelle, l'entité correspondante sera automatiquement mise en surbrillance sur la carte.
  • Le nouveau type de couche LineOfSightLayer permet de stocker des analyses de ligne de visibilité dans des scènes web et de les utiliser dans des diapositives pour des présentations.
Vous pouvez vous référer aux notes de version pour obtenir le détail complet et découvrir avec les nouveaux exemples de code.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: