Le blog francophone consacré
aux technologies Esri

La version 4.15 de l'API JavaScript ArcGIS est disponible


Depuis quelques jours, la version 4.15 de l'API JavaScript ArcGIS est disponible. Cette version apporte plusieurs nouveautés notamment la possibilité de mettre à jour en 3D, de manière interactive, les géométries des couches d'entités dans vos applications web. Avec un minimum de code, vous pouvez activer une expérience complète de mise à jour (géométrie et attributs) avec des outils de dessin optimisés pour travailler en 3D. La version 4.15 propose de nouvelles capacités très utiles comme le widget FeatureTable pour pouvoir visualiser les attributs de ses entités dans une table, la possibilité de modifier les pièces jointes et la possibilité de draper des couches d'entités 2D ou 3D sur des couches de type "Textured Mesh" (photo-maillage).

Voyons ces principales évolutions de manière plus détaillée.
 
  
Editer vos couches d'entités en 3D 

Vous pouvez désormais créer des workflows d'édition dans des applications Web 2D et 3D à l'aide du widget Editor amélioré. Le widget Editor permet aux utilisateurs finaux de créer et de mettre à jour de manière interactive des entités ponctuelles, linéaires et surfaciques (et leurs attributs) dans des couches d'entités affichées dans une scène 3D.


Pour faciliter la modification des géométries en 3D, les améliorations suivantes ont été apportées aux outils de dessin:
   
  • En plus de pouvoir placer les objets sur la surface du sol, les objets peuvent être déplacés le long de l'axe z au-dessus ou en dessous du sol.
  • Les poignées interactives placées sur les symboles 3D permettent de les mettre à l'échelle ou de les faire pivoter.
  • Les lignes laser projetées sur le terrain et les objets de la scène vous aident à aligner les géométries dans l'espace 3D.
  
   
Widget FeatureTable (en beta)

Le widget FeatureTable fournit une vue tabulaire et interactive des attributs de chaque entité de votre couche d'entités. Cette table pour charger efficacement des volumes potentiellement important de données; lorsque l'utilisateur fait défiler la table, les entités sont chargées dynamiquement. De plus, les utilisateurs peuvent sélectionner des lignes (entités) dans la table, les trier en fonction d'un attribut et choisir d'afficher ou de masquer certains attributs. Le widget est pour l'instant en version beta et évoluera avec les prochaines versions. Ce widget peut être utilisé seul pour un simple affichage de table (sans carte associé) ou associé à une carte.

  
  
Manipuler les pièces jointes

Les pièces jointes (attachments) peuvent désormais être modifiées via le widget Editor. Si les pièces jointes sont activées dans la couche d'entités en cours de modification, les commandes d'ajout, de suppression et de mise à jour s'affichent alors dans le widget.
  
Certaines améliorations ont été apportées à l'affichage des pièces jointes dans les fenêtres contextuelles. Avec une miniature de la pièce jointe, le format et la taille du fichier sont affichés. Si le format de fichier n'est pas un fichier image, une miniature indiquant le type de fichier s'affiche. Concrètement la fenêtre contextuelle utilise le nouveau widget Attachments. Étant donné que l'expérience des pièces jointes est présentée sous forme de widget autonome, vous pouvez également intégrer la visualisation des pièces jointes dans vos propres workflows personnalisés.
   
Accès à l'ajout, la suppression ou la modification des pièces jointes

Modifier une pièce jointe existante
    
    
Filtrer des parties d'un BuildingSceneLayer

Les BuildingSceneLayer contiennent souvent des modèles numériques complexes de bâtiments et d'intérieurs. En raison de la grande complexité, il est important de pouvoir filtrer les données. Les nouveaux modes de filtrage sur les couches de type BuildingSceneLayer vous permettent de mettre en évidence des entités de votre modèle BIM tout en affichant de manière atténuée d'autres parties du bâtiment. Vous pouvez filtrer en utilisant le mode "x-ray" pour la transparence ou le mode "wire-frame" pour afficher uniquement les contours des entités.
    
   
   
Aligner les entités sur les couches de maillage intégrées

L'API propose désormais une capacité très intéressante pour exploiter les couches de photo-maillages 3D (IntegratedMeshLayer) dans votre scène web. En effet, vous pouvez dorénavant draper les couches d'entités (points, lignes ou polygones) comme si il s'agissait d'une couche d'élévation. Cela signifie que vous pouvez enrichir des zones spécifiques du photo-maillage en drapant des points, des lignes ou des polygones directement dessus sur la surface constituée par ce photo-maillage. Le fait de les draper sur le photo-maillage plutôt que sur le sol (couche d'élévation) permet de s'affranchir des éventuels décalages altimétriques entre la couche d'élévation (MNT) et le photo-maillage (MNS).


   
Modernisation de l'API

L'API renvoie désormais par défaut des "Promises" JavaScript natives. Pour les développeurs, cela signifie que toutes les "Promises" que vous recevez de l'API sont désormais des "Promises" JavaScript standard et non-plus implémentées par le framework Dojo,. Les quelques différences entre les deux mécanismes sont répertoriées dans les release notes

Remarque: Dans certains cas, cela peut nécessiter des modifications de code dans votre application.

Si vous n'êtes pas prêt à passer aux "Promises" JavaScript natives, vous pouvez modifier le comportement par défaut de l'API 4.15 en utilisant le flag "has" qui a été mis à disposition pour activer les "Promises" JavaScript natives dans la 4.12. A noter que le flag sera supprimé dans la prochaine version (4.16).

   
Pour une vision plus globale des futures évolutions de l'API, vous pouvez consulter la vidéo relative à la modernisation de l'API de la plénière du DevSummit 2020. La modernisation de l'API JavaScript ArcGIS est un sujet important pour les développeur d'applications web ArcGIS, elle sera abordée plus en détail dans un prochain article.
  
  
Autres évolutions...

Cette version 4.15 propose d'autres évolutions, comme des améliorations sur le rendu par clustering des couches de points, des améliorations sur certains widgets (Printing, Editor, Popup),

On notera également la prise en charge la prise en charge d'un nouveau type de matériau et de rugosité "métallique" pour des objets de type Mesh 3D créés coté client. Vous pouvez d'ailleurs en voir un exemple dans cette application très sympa Mammoth Mountain de ma collègue suisse Raluca Nicola (à suivre ici sur twitter):


 
Pour en savoir plus sur la version 4.15, vous pourrez consulter la page Release notes

Vous pouvez également découvrir pas mal de choses sur les nouvelles capacités de l'API en consultant les nouveaux exemples de code. Parmi ces exemples je vous recommande l'exemple de code ci-dessous montrant l'intégration de l'API JavaScript ArcGIS avec la librairie deck.gl pour une visualisation dynamique de données de positions.



Maintenant que la version 4.15 est disponible, l'équipe de l'API JavaScript ArcGIS travaille déjà dur sur la version 4.16 (pour l'été 2020). Comme expliqué dans cet article, si vous souhaitez essayer de nouvelles fonctionnalités dès qu'elles sont prêtes pour les tests, signaler et valider des corrections sur des bugs dans vos propres applications et vos environnements de dev, contribuer aux commentaires ou simplement suivre les évolutions de l'API en avance de phase, alors consultez le repo d'accès aux API via /next sur GitHub.
  

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: