Le blog francophone consacré
aux technologies Esri

La version 4.21 de l'API JavaScript ArcGIS est disponible

L'API JavaScript ArcGIS est incontournable pour le développement d'applications web cartographiques consommant des services web de la plateforme ArcGIS ou de plateformes tiers. Esri continue à innover sur les capacités et la performance de cette API avec la sortie d'une version 4.21 il y a quelques semaines. Pour résumer, la version 4.21 propose plusieurs améliorations autour des performances, le contrôle de l'ordre d'affichage des entités, une expérience de snapping améliorée, la prise en charge de WGS84 dans les scènes locales, et plus encore... Avec un peu de retard, je vous propose donc de découvrir les principales évolutions de cette mise à jour d'octobre.



Toujours plus de performance

La version 4.21 introduit des améliorations de performance qui réduisent le temps d'affichage de vos couches d'entités sur la carte. Ces améliorations sont axées sur les entités surfaciques et les cartes à plusieurs couches.

Le temps de dessin s'est considérablement amélioré pour les couches avec des polygones avec un grand nombre de sommets. Esri a ajouté un nouvel algorithme de simplification pour pré-traiter les géométries et optimiser la gestion de la mémoire. L'API utilise désormais une Web assembly pour trianguler des polygones complexes. Comme vous pouvez le voir dans l'exemple ci-dessous, cette couche des glaces de la mer Arctique se charge 5 fois plus vite que la même couche en 4.20. L'amélioration varie en fonction des caractéristiques de la couche, mais pour la plupart des polygones avec un grand nombre de sommets, nous constatons au moins une amélioration de 2 à 3 fois.


Les couches possédant de nombreux polygones en bénéficient également. En raison des optimisations mentionnées ci-dessus et l'usage d'une Web assembly, vous devriez également constater des améliorations de performances pour les couches contenant un grand nombre d'entités surfaciques. L'exemple suivant montre une couche avec plus de 73 000 polygones. En moyenne, vous constaterez une amélioration de 20% du temps d'affichage.


Les cartes comportant de nombreuses couches sont plus fluides et plus rapides. Nous avons également ajouté quelques optimisations pour la façon dont nous gérons les cartes avec un grand nombre d'entités.


Les couches d'entités ponctuelles d'ArcGIS Entreprise se chargent plus rapidement. 

Dans la version 4.19, nous avons amélioré les performances des couches d'entités ponctuelles hébergées sur ArcGIS Online. La version 4.21 apporte ces modifications aux services ponctuels d'ArcGIS Enterprise.
 
 
Contrôler l'ordre d'affichage des entités

Vous pouvez configurer l'ordre dans lequel les entités sont dessinées dans la vue en définissant la propriété orderBy d'une couche d'entités, d'une couche CSV, d'une couche GeoJSON et d'une couche d'entités OGC. Cette propriété vous permet de trier les entités à l'aide de n'importe quel champ ou expression Arcade qui renvoie un nombre ou une date.


Dans les couches possédant des champs de type Date et comportant de nombreuses entités qui se chevauchent, cette propriété vous permet de garantir que les entités les plus récentes sont dessinées par-dessus les plus anciennes. Il est également important dans les cartes de symboles proportionnels où les entités plus petites sont généralement rendues au-dessus des grandes pour maximiser la visibilité des entités qui se chevauchent dans la vue.


Vous pouvez consulter cet exemple de code suivant pour la configuration de l'ordre de tri des entités.


Des effets sur les couche pour illuminer vos cartes Web

Des effets tels que les effets d'ombre portée, de teinte, de luminosité/contraste, ... vous offrent désormais un contrôle artistique sur l'apparence de vos cartes. Bien que vous puissiez déjà les appliquer ces effets cartographiques en code avec l'API JavaScript depuis la version 4.18, la possibilité de les utiliser et les enregistrer dans vos cartes ArcGIS Online constitue une nouvelle option. Vous avez la possibilité d'appliquer et d'ajuster de manière interactive les effets sur vos couches dans la visionneuse de carte, puis de les enregistrer sur votre carte Web. Lorsque votre carte Web est chargée dans votre application Web, vous verrez les beaux effets sur votre carte. Vous pouvez également ajouter ou ajuster les effets par programmation et les enregistrer sur une carte Web.



La table attributaire est prise en charge pour davantage de types de couches

Introduit en 4.15, le widget FeatureTable vous permet d'interagir avec une vue tabulaire de vos données.

Plus de types de couches d'entités : La table d'entités prend en charge les types de couches suivants : CSV, GeoJSON et WFS (avant la version 4.21, elle était limitée aux couches d'entités et aux couches de scènes).

Couches d'images : Affichez les informations du catalogue d'images associées à une couche d'imagerie contenant une mosaïque à l'aide du widget de table d'entités. Par exemple, vous pouvez examiner les informations de résolution et de couverture nuageuse associées à chaque image du service.


Utilisateur interface pour configurer le snapping

Le widget SnappingControls a été ajouté pour fournir une interface utilisateur simple pour gérer toutes les capacités de snapping. Ce widget offre la possibilité de contrôler si l'accrochage est activé, les calques sur lesquels s'accrocher et d'autres paramètres d'accrochage. Cette interface utilisateur est incluse dans le widget Sketch par défaut, mais peut être intégrée par programmation dans vos flux de travail à l'aide de SketchViewModel, Editor et EditorViewModel. À l'avenir, nous prévoyons de l'ajouter dans le cadre de l'expérience par défaut du widget Editor et de le rendre également disponible pour le widget Mesure.



Expérience améliorée lors de la construction de géométries

Le widget Sketch permet à vos utilisateurs finaux de mettre à jour ou de dessiner de nouvelles entités dans une couche graphique. Vous pouvez choisir de remplacer la symbologie par défaut des nouvelles entités en définissant les propriétés SketchViewModel, pointSymbol, polygonSymbol, oi polylineSymbol du widget Sketch. Avant cette version, vous ne voyiez pas la symbologie définie tant que le dessin n'était pas terminé. Avec cette mise à jour, votre symbologie sera affichée dans un état de dessin actif.


De plus, un symbole de point a été ajouté au curseur de la souris lors du dessin à l'aide du widget SketchViewModel ou Sketch. Vous pouvez remplacer le symbole par défaut en définissant la propriété pointSymbol de SketchViewModel.



Un widget Editor amélioré va arriver

Les capacités d'édition de l'API ont évolué au fil de nombreuses versions pour offrir une expérience utilisateur de plus en plus meilleure et plus puissante. Dans la version 4.22, nous introduirons une mise à jour significative de l'apparence de l'interface utilisateur et du flux de travail de l'éditeur. En plus des améliorations UI/UX, il y aura une prise en charge des workflows d'édition par lots et des options pour l'accrochage et les sélections.

Nous n'anticipons aucune perte de fonctionnalité ou de changements révolutionnaires, mais l'expérience utilisateur s'écartera légèrement de l'implémentation actuelle. La version 4.22 sera la première version avec ces mises à jour de l'éditeur. À mesure qu'il mûrit, des capacités supplémentaires seront mises en œuvre.

Si vous voulez voir ces changements, allez voir le repo GitHub /next où nous postons les mises à jours de développements.



Actions sur l'objet TimeSlider

Le widget TimeSlider a été mis à jour pour prendre en charge les actions personnalisées, ce qui vous permet d'exécuter un code personnalisé tel que la définition de timeExtent à une date spécifique ou la copie de timeExtent dans le presse-papiers du navigateur. L'événement trigger-action se déclenche chaque fois qu'un clic sur une action du menu est effectué.



Prise en charge des scènes locales pour WGS84

L'objet SceneView vous permet désormais d'exploiter pleinement vos couches de scènes WGS84 en les combinant avec des couches Web Mercator dans des scènes locales. De plus, les scènes locales prennent désormais en charge les systèmes de coordonnées géographiques, ce qui vous donne plus de flexibilité dans l'affichage des données. Comme contraindre la vue en définissant une zone de détourage par exemple.



Support WebGL2 

L'objet SceneView utilise désormais WebGL2, s'il est disponible dans le navigateur, comme moteur de rendu sous-jacent. Ce changement est la base des futures capacités de visualisation et des améliorations de performances. Le contexte WebGL1 peut toujours être explicitement demandé pour les applications utilisant externalRenderer.


Conception de symboles CIM de polyligne et  de polygones

L'assistant CIM Symbol Builder a été mis à jour pour vous permettre de créer des symboles linéaires et surfaciques (en plus des symboles ponctuels). Le nouvel objet CIMSymbol en cours se met à jour lorsque vous combinez différentes couches de symboles et mettez à jour les propriétés de la couche de symboles. Lorsque vous êtes satisfait du symbole que vous avez conçu, vous pouvez obtenir le symbole JSON et l'utiliser pour créer des symboles CIMS dans vos propres applications. Apprenez-en plus à ce sujet dans cet article de blog.



Changements 3.x

L'API JavaScript 3.x est maintenant en "Support étendu".

4.x est au centre de toutes les nouvelles innovations et est l'API JavaScript recommandée pour créer des applications Web attrayantes avec des expériences utilisateur interactives et des visualisations 2D et 3D basées sur les données. Alors que nous continuerons à publier des mises à jour très mineures de l'API 3.x pour résoudre une poignée de corrections de bugs, elle sera désormais publiée directement dans la phase de cycle de vie du support étendu, par opposition à la disponibilité générale. 

Voir le document Cycle de vie du produit pour plus d'informations.


Retrait de l'Optimiseur Web

L'optimiseur web n'est plus disponible pour créer des versions personnalisées basées sur 3.x de l'API ArcGIS pour JavaScript. Si votre application fait référence à une version personnalisée qui a été créée précédemment, elle continuera à fonctionner pour le moment, mais toutes les versions personnalisées seront supprimées de notre environnement d'hébergement en juillet 2022. La recommandation d'ESri est de commencer à utiliser la version 4.x de l'API, car elle offre beaucoup plus de flexibilité et de simplicité lors de la création de builds personnalisés. Pour plus d'information, vous pouvez consulter la page sur  les outils de l'API pour plus de détails. Si vous souhaitez continuer à utiliser 3.x, nous vous recommandons d'utiliser la version CDN ou de télécharger une version locale.


En savoir plus

Au delà de cet aperçu des mises à jour de l'API en version 4.21 vous pourrez découvrir la liste complèté du contenu de cette version, consultez les notes de version et testez les nouvelles fonctionnalités en utilisant les nouveaux exemples de code.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: