Le blog francophone consacré
aux technologies Esri

La version 4.19 de l'API JavaScript ArcGIS est disponible

C'est à l'occasion de la Journée de la Terre la semaine dernière qu'Esri a annoncé et mis en ligne la version 4.19 de l'API JavaScript ArcGIS. Cette première mise à jour de l'année 2021 apporte de nombreuses capacités pour le développement d'applications web cartographiques avancées. On pourra par exemple citer la saisie de géométrie par capture d'entité (en 2D et 3D), des gains de performances notables sur les couches d'entités ponctuelles, la mise en évidence des ombres portées des entités 3D sélectionnées, une plus grande flexibilité lors de l'utilisation des clés API, et bien plus encore. Parmi les points importants pour les développeurs, on signalera que la fourniture des modules ES ne sont plus en beta. Ils disposent désormais d'une option supplémentaire pour consommer l'API dans leurs applications en production. Je vous propose ci-dessous un résumé des points forts de cette version.

 
 
Modules ES utilisable en production

Les modules ES sont des modules standardisés pour le développement d'apps JavaScript modernes. Disponibles en version beta en 4.18, ils sont maintenant prêts à être utilisés en production. Les modules ES constituent une nouvelle option pour consommer l'API et charger les librairies ArcGIS tout en simplifiant le code et en bénéficiant d'une intégration transparente avec des frameworks et des outils de construction modernes. Pour commencer, vous installerez le package NPM @arcgis/core, puis vous pourrez utiliser des imports natifs dans votre code JS comme ceci:


Vous pourrez consulter la rubrique du guide des modules ES pour connaître les étapes de base nécessaires à l'utilisation de ces nouveaux modules. Il existe également des exemples d'applications qui illustrent les concepts d'intégration des modules avec divers frameworks et outils.

Avec cette version, les installations pour les versions locales sont plus rapides et plus faciles. Plutôt que d'avoir à copier des actifs d'API tels que des fichiers de styles et de localisation dans votre projet, les actifs sont récupérés à partir d'un CDN au moment de l'exécution par défaut (bien qu'ils puissent être remplacés).


Amélioration des performances

Plusieurs améliorations significatives des performances ont été apportées dans l'API au cours de l'année dernière. Ces améliorations de performances permettent d'afficher les couches d'entités plus rapidement et avec moins de consommation mémoire. Cela a notamment permis à Esri d'apporter d'autres améliorations aux FeatureLayers ponctuels hébergés sur ArcGIS Online. Dans la version 4.19, les couches d'entités de points (FeatureLayers) essayeront désormais d'optimiser la façon dont ils requêtent les données et récupéreront toutes ses entités en une seule fois sur le serveur au lieu de requêter les entités à la demande. Une fois chargées, les entités n'auront pas besoin d'être à nouveau demandées au serveur, ce qui rend les actualisations d'affichage (après un déplacement ou une zoom par exemple) beaucoup plus rapides.


Esri poursuit son travail pour élargir la portée de cette optimisation de performances dans les prochaines versions pour inclure les couches d'entités issues d'ArcGIS Enterprise.


Accrochage aux entités

L'API 4.19 prend désormais en charge l'accrochage d'entité à entité, en 2D et en 3D. Vous pourrez proposer aux utilisateurs de votre application web de s'aligner sur des entités existantes d'un FeatureLayer, GraphicsLayer, GeoJSONLayer ou CSVLayer actuellement affiché sur la carte.


 
Accès à ces nouvelles options de capture ?

  • Widget Sketch : utilisez le nouveau menu d'options pour activer/désactiver l'accrochage ou maintenez la touche Ctrl enfoncée tout en dessinant un graphique. Elle est désactivé par défaut.




Accrochage entre les entités ou dans une entité

Vous vous souvenez peut-être que dans la version 4.18, Esri avait ajouté la prise en charge de l'auto-accrochage pour créer des entités linéaires et surfaciques en 3D. En plus de l'accrochage d'entité à entité décrit ci-dessus, Esri a également ajouté l'auto-accrochage pour les lignes et les polygones dans les cartes 2D. Cette fonctionnalité facilite la création et la mise à jour de géométries comportant des lignes parallèles et des angles droits. Les utilisateurs de vos applications pourront effectuer un accrochage sur des lignes perpendiculaires (angles droits), des lignes parallèles, une extension d'une ligne et sur un sommet de l'entité en cours de modification, comme indiqué dans les images ci-dessous.


Agrandir ce sur quoi vous vous accrochez

Vous pouvez dorénavant proposer à vos utilisateurs d'aggrandir une partie de la carte ou de la scène sous forme d'image "zoomée" à l'aide de la nouvelle loupe . La loupe peut améliorer l'expérience d'édition et de dessin des applications, en particulier lors de l'association avec l'accrochage (actuellement, elle doit être activée par programme dans votre application, comme illustré par l'exemple ci-dessous (Esri travaille à l'intégrer dans l'interface utilisateur du widget). La loupe peut également être utilisée de manière totalement indépendante, en dehors des scénarios d'édition.



Clés API

Dans la version 4.18, en ligne avec la nouvelle offre ArcGIS Platform, Esri avait ajouté la prise en charge d'une clé API globale à utiliser avec les services de localisation d'ArcGIS Platform. La version 4.19 ajoute un contrôle plus fin des clés API et ajoute plus de flexibilité. Par exemple :

  • Il est désormais plus facile d'utiliser les clés API conjointement (si nécessaire) avec les identités ArcGIS (et l'Identity Manager)
  • Les widgets Search et Directions seront automatiquement câblés par défaut sur les services appropriés lors de l'utilisation d'une clé API globale.
  • Vous pouvez définir explicitement une clé API à utiliser avec les widgets Search et Directions.
Pour voir des exemples d'utilisation des clés API, consultez les exemples de widgets Directions et Search.
 
 
Surbrillance des ombres (3D)

Vous pourrez mieux identifier l'ombre d'objets 3D individuels tels que des bâtiments ou des arbres, en cliquant sur l'entité ou en appelant la fonction Highlight(). En combinant la nouvelle option de mise en évidence des ombres avec le widget Daylight, vous pouvez déterminer comment chaque bâtiment contribue à une certaine zone d'ombre, pour n'importe quel date et heure. Vous pouvez également configurer la couleur et l'opacité de la surbrillance pour vous permettre de différencier les ombres qui se chevauchent avec celle en surbrillance.



Transformations de lignes et de polygones (3D)

Vous pourrez mettre à l'échelle et faire pivoter de manière interactive les géométries des lignes et des polygones à l'aide des widgets Sketch et Editor. En cliquant sur une ligne ou un polygone en cours de mise à jour, vous basculerez entre le mode "remodelage" et "transformation" de la géométrie de l'entité.



Amélioration de la qualité de rendu (3D)

Un nouveau modèle d'éclairage et d'ombrage a été introduit pour plus de contraste et de définition dans le rendu de vos couches en 3D. Avec la version 4.19, les scènes existantes bénéficieront de cette amélioration visuelle lorsque SceneView.qualityProfile sera défini sur "moyen" ou "élevé". En outre, les objets avec des matériaux de rendu physique (PBR), tels que ceux utilisés dans WebStyleSymbols, affichent des réflexions de lumière sur des surfaces en verre ou métalliques.



Filtrage de la table attributaire

Le widget FeatureTable vous permet désormais de filtrer les entités affichées dans la table en fonction de la géométrie ou de l'étendue de la carte. Par exemple, vous pouvez filtrer la table pour n'afficher que les entités qui se trouvent dans l'étendue actuelle. En écoutant les mises à jour de l'étendue de la MapView, le filterGeometry de  FeatureTable est défini sur cette nouvelle étendue et seules les entités qui appartiennent à cette zone s'affichent.



Références spatiales OGCFeatureLayer

La classe OGCFeatureLayer prend désormais en charge l'API OGC - Feature - Partie 2, et supporte des références spatiales supplémentaires. Auparavant, seul WGS84 était pris en charge. Désormais, tous les couches OGCFeatureLayers fonctionneront dans WGS84 et WebMercator, ainsi qu'avec toutes les autres références spatiales fournies par le service web.


Mise à jour des MapNotesLayers

La classe MapNotesLayer peut maintenant être ajoutée, mise à jour et supprimée ce qui permet à vos utilisateurs de dessiner, d'ajouter, de supprimer ou de mettre à jour facilement des notes sur n'importe quelle carte, puis de conserver vos modifications à l'aide de WebMap.save(). La modification est limitée aux notes de carte qui ont été créées avec le nouveau Map Viewer; celles créées avec le Map Viewer Classic sont limitées à l'affichage uniquement. Vous pouvez consulter l'exemple de MapNotesLayer  pour le voir en action.



Parcourir les entités du cluster dans une fenêtre contextuelle
 
Lors de la représentation d'une couche d'entités ponctuelles par clustering, à l'aide de la fenêtre contextuelle du cluster, vous pourrez parcourir et sélectionner individuellement les entités incluses dans un cluster directement à partir de la fenêtre contextuelle du cluster. L'action "Zoom sur" a été mise à jour pour zoomer sur l'étendue des fonctionnalités d'un cluster. Vous pouvez explorer ces nouvelles actions dans l'un des exemples d'usage des rendus en clusters. De plus, le rendu par clustering de points n'est plus en version beta.
 
  
 
Tout savoir sur la visualisation des données
 
Parce qu'un développeur n'est pas toujours un cartographe avertis, le guide de visualisation des données a été complété avec plus de 20 nouveaux concepts et quatre chapitres. Vous pouvez explorer ce guide pour en savoir plus sur les meilleures pratiques en terme de visualisation cartographique de données, les différents styles de calque disponibles dans l'API JavaScript, et vous pourrez également parcourir les centaines de symboles et de rampes de couleurs fournis pour une utilisation facile par copier/coller dans vos applications.
 
 
 
 
Et beaucoup plus de nouveautés encore...

Pour découvrir de manière complète tout ce qui est inclus dans la version 4.19, je vous recommande de consulter les notes de publication. Vous pouvez également utiliser directement les nouveaux exemples 4.19 (ou ceux qui ont été mis à jour).

Veuillez noter que les téléchargements pour l'API et la documentation pour un usage en local seront disponibles le jeudi 29 avril prochain.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: