Le blog francophone consacré
aux technologies Esri

L'API JavaScript ArcGIS passe en version 4.10

La fin de l'année est proche et l'objectif de proposer la quatrième et dernière version de l'API JavaScript ArcGIS pour 2018 est atteint. En effet, en ligne avec le plan présenté en début d'année par Esri, la version 4.10 et la version 3.27 sont disponibles depuis quelques jours.

  
Cette version 4.10 introduit un nombre important de nouvelles fonctionnalités et d'améliorations. Par exemple, avec le nouveau widget FeatureTemplates, vous allez pouvoir aller plus loin dans les capacités de mise à jour de couches d'entités dans vos applications. Les widgets de mesure de surface, de mesure de distance 2D ont été améliorés en termes de performances en dessinant toutes les couches de la carte à l'aide d'un seul contexte WebGL. L'expérience 3D continue également à s'améliorer avec la prise en charge de symboles 3D (WebStyleSymbols) multi-résolution plus performants. Cette version 4.10 supporte également un nouveau type de couche de scène pour visualiser les infrastructures 3D détaillées issues de modèles BIM. On notera aussi l'ajout d'un nouveau widget permettant de découper à la volée les couches d'une scène 3D et révéler ainsi les entités masquées dans une scène 3D (objets en sous le sol, équipements à l'intérieur d'un bâtiment, ...).


Saisir et mettre à jour des entités 

Le nouveau widget FeatureTemplates (en beta dans cette version 4.10) affiche les modèles d'entités d'une ou de plusieurs couches et permet aux utilisateurs finaux de saisir de nouvelles entités sur la base de ces modèles. Il permet notamment de filtrer les modèles par nom ou par type de géométrie (ce qui est utile lorsque vous avez une grande variété de modèles d'entités dans vos couches) mais aussi de regrouper les modèles pour une expérience d'édition plus simple. Vous pouvez consulter cet exemple pour voir ce widget en action.


  

Dessiner des géométries

Le widget Sketch fournit une interface utilisateur simple pour la création ou mettre à jour des éléments graphiques dans votre carte 2D. Il est conçu de manière à traiter des objets Graphics stockés dans sa propriété Layer. Par défaut, le widget fournit des outils prêts à l'emploi pour créer et mettre à jour des graphiques avec des géométries de points, de polylignes, de  polygones, de rectangles et de  cercles. Le widget permet aux utilisateurs d'annuler et de rétablir leurs modifications, et de sélectionner/modifier plusieurs éléments graphiques à la fois. Voir cet exemple pour en savoir plus sur le widget Sketch.



Mesures 2D

Après l'ajout dans les versions précédentes du widget de mesures 3D, Esri ajouté deux nouveaux widgets de mesure utilisables dans des cartes 2D (MapViews). Le widget AreaMeasurement2D calcule et affiche la surface et le périmètre d'un polygone. Le widget DistanceMeasurement2D calcule et affiche la distance entre deux points ou plus. Voir cet exemple pour comprendre le fonctionnement de ces deux widgets.



Performances boostées sur les couches d'entités

Le moteur WebGL du navigateur est maintenant utilisé par défaut pour dessiner toutes les couches dans vos cartes 2D (MapViews). L'API utilise désormais un seul contexte WebGL pour améliorer les performances d'affichage, en particulier sur les appareils mobiles. Combiné au mécanisme de quantisation (requête par tuiles des couches d'entités) et de l'utilisation du format PBF (lorsque le service d'entités le supporte), cette version marque donc une avancée significative en termes de performances d'affichage.

Affichage de 125790 tronçons hydrographiques de la BD Carthage

Après la prise en charge du chargement de couches d’entités ponctuelles volumineuses dans les scènes web, vous pouvez désormais également ajouter des couches d'entités contenant des milliers de lignes et de polygones dans une scène web 3D.

Affichage de ces 125790 tronçons hydrographiques dans une scène web 3D
     
   
"BuildingSceneLayer" et Widget "Slice"

Pour permettre l'exploration efficace des détails de bâtiments ou d'ouvrages issus de modèles BIM, Esri propose un nouveau type de couche de scènes (SceneLayer) dénommé BuildingSceneLayer. Ce nouveau type de couche de scène sera publié à l'aide de la prochaine version d'ArcGIS Pro (mi-janvier 2019). Ce nouveau type de couche permet d'interagir avec les différentes familles et catégories du BIM pour afficher/masquer les structures extérieures et intérieures telles que les façades, les toits, les murs, les portes ou encore les systèmes mécaniques.

  
Pour améliorer également les capacités d'exploration 3D dans les scènes web, Esri a développé un nouveau widget Slice qui offre à l'utilisateur des fonctionnalités de coupe 3D à la volée sur tout ou partie des couches de la scène. Le widget peut être appliqué à tout type de couche (couches d'entités, couches de scène, couches de tuiles raster, couches de tuiles vectorielles, ....), ce qui permettra par exemple de voir à l'intérieur des bâtiments ou d'explorer des surfaces géologiques. Voir cet exemple de code qui montre en détails comment exploiter le widget Slice et les BuildingSceneLayer.




Amélioration des styles de symboles 3D

Les styles de symboles web (WebStyleSymbols) 3D sont les librairies de symboles 3D pouvant être appliqués à une couche d'entités ponctuelles pour obtenir un rendu 3D (arbres, mobiliers urbains, panneaux de signalisation, véhicules, ...). Afin de pouvoir afficher des dizaines de milliers d'arbres, de voitures et autres modèles réalistes, avec de bonnes performances à toutes les échelles, l'API JavaScript supporte désormais les WebStyleSymbols conçus en multiple résolution. Chaque symbole 3D propose un rendu plus ou moins généralisé selon l'échelle d'affichage. Pour voir comment ces nouvelles capacités de symboles 3D fonctionnent à différentes échelles, vous pouvez consulter cet exemple.

  
 
Support des évolutions d'Arcade

La version 1.5 du langage de scripting Arcade introduit de nouvelles capacités notamment en ce qui concerne les fonctions géométriques dans vos expressions Arcade. Par exemple, vous pouvez créer des géométries, effectuer des calculs de surface et de longueur, utiliser des zones tampons, utiliser des opérateurs spatiaux (intersect, overlap, touches, within,...), etc... L'API JavaScript 4.10 supporte désormais ces fonctions géométriques.


Meilleure prise en charge de l'étiquetage

Dans cette version, l'API supporte dorénavant l'étiquetage des lignes dans les cartes 2D (MapViews). Le comportement des étiquettes a été également amélioré lors de l'utilisation de plusieurs variables visuelles et la priorité des étiquettes entre elles a été aussi largement améliorée afin de mieux correspondre à l'ordre des couches. On notera également que si la propriété TextSymbol3DLayer.size n'est pas définie, c'est la propriété font.size  qui sera désormais prise en compte dans les scènes web 3D (SceneViews) .

  
 
Couches de tuiles vectorielles

Vous pouvez désormais modifier le style des couches de tuiles vectorielles (VectorTileLayer) sans avoir à le recharger. Ceci se fait grâce à des nouvelles méthodes permettant de manipuler les propriétés paint et layout. Cet exemple de code montre comment procéder pour modifier à la volée le style d'une couche de tuiles vectorielles.


  
Autres évolutions notables


  • En utilisant la méthode MapView.takeScreenShot, vous pourrez dorénavant réaliser une capture de l'état courant de votre carte (MapView) et l'enregistrer en tant qu'image. Voir l'exemple suivant.
      
  • Les couches de scènes de type PointCloudLayers peuvent désormais être filtrées à partir de leurs attributs. Par exemple, vous pourrez ainsi afficher uniquement certaines classes de points grâce à l'objet PointCloudValueFilter. Voir cet exemple pour plus de détails.


      
  • Le widget Locate propose désormais l'affichage d'une fenêtre contextuelle lorsque l'utilisateur clique sur le résultat de la localisation.
     

Pour découvrir la totalité des évolutions, des améliorations et des corrections de bugs de la version 4.10 de l'API JavaScript ArcGIS, vous pouvez consulter la page Release Notes de l'aide en ligne.
  
Pour la version 3.27, plusieurs améliorations et corrections de bugs ont été introduites. Vous les découvrirez dans cette page Release Notes de l'aide en ligne.





Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: