Rechercher dans le blog

Les nouveautés de la version 4.29 du SDK JavaScript d'ArcGIS

La première mise à jour de l'année du SDK ArcGIS Maps pour JavaScript est disponible depuis le 26 février, et comporte de nombreuses nouvelles fonctionnalités et améliorations. Celles-ci incluent un nouveau type de composant dans les Maps SDK components, la possibilité d'accéder aux attributs des couches de tuiles vectorielles, une expérience d'édition perfectionnée, le support des 3D tiles, et d'autres capacités très attendues. Dans cet article, je vous propose de voir ensemble les principales nouveautés de cette nouvelle version.

Composants Maps SDK

Avec la version 4.28 du SDK, Esri a introduit en octobre dernier une toute nouvelle bibliothèque de composants web permettant d'accroître la productivité lors du développement web front-end. La mise à jour en 4.29 y ajoute une nouvelle bibliothèque de composants de diagrammes, propose une API de composants améliorées et enrichit la documentation et les extraits de codes disponibles.

Le nouveau package de composants de diagrammes donne accès à une série de composants permettant d'ajouter divers types de diagrammes à vos applications pour donner de nouvelles dimensions à vos cartes, comme par exemple mettre l'accent sur des tendances ou illustrer des comparaisons de données. Chacun des types de composants de diagramme permet d'en apprendre plus sur vos données des manières suivantes:
  • Diagramme à barres - Pour résumer et comparer des données par catégorie.
  • Diagramme linéaire - Permet de visualiser les changements sur une plage continue de temps ou de distance.
  • Diagramme circulaire - Permet de regrouper les données en tranches afin de visualiser les relations entre les parties et le tout.
  • Histogramme - Résume la distribution d'une variable numérique continue en mesurant la fréquence à laquelle certaines valeurs apparaissent dans l'ensemble des données.
  • Diagramme de dispersion - Visualise la relation entre deux variables numériques.
  • Boxplot - Visualise et compare la distribution et la tendance centrale de valeurs numériques par le biais de leurs quartiles.
  • Jauge -  Permet de visualiser une mesure unique dans un contexte quantitatif défini par des valeurs minimales et maximales.
Ces diagrammes peuvent être configurés directement dans le Map Viewer, puis sauvegardés dans la webmap ou dans la couche, et chargés ensuite simplement dans un composant diagramme que vous ajoutez à votre application. Vous pouvez également définir le diagramme directement avec du code en se référant à un objet JSON qui contient la configuration du diagramme. Dans ce second cas, le package Chart model peut être utilisé pour faciliter la création et la mise à jour de la configuration du diagramme.
Dans l'exemple ci-dessus, le diagramme a été configuré dans le Map Viewer puis sauvegardé dans la couche d'entités dans ArcGIS Online. Afin d'afficher le diagramme dans l'application, un composant de diagramme a été ajouté avec du HTML :
<arcgis-charts-scatter-plot id="scatter-plot">
  <arcgis-charts-action-bar slot="action-bar"></arcgis-charts-action-bar>
</arcgis-charts-scatter-plot>
L'extrait de code ci-dessous récupère la configuration de la couche d'entités et relie la couche avec la configuration du graphique :
//d'abord obtenir la couche d'entités avec laquelle des graphiques ont été configurés, puis...
const config = layer.charts[0];
const scatterPlot = document.getElementById("scatter-plot");

scatterPlot.config = config;
scatterPlot.layer = layer;
Nouvelle documentation : les développeurs d'Esri ont ajouté de nouveaux  guides décrivant les décrivant les modèles de programmation pour travailler avec des composants web et comment démarrer avec votre configuration front-end préférée. Plus de détails sur les composants ont également été ajoutés à la référence de l'API de chaque package de composants.
 
Mises à jour de l'API des composants : dans le but de faire évoluer la conception de l'API des composants, des mises à jour ont été apportées à l'API des composants cartographiques. Voici quelques-unes des principales modifications :
  • L'événement viewReady des composants <arcgis-map/> et <arcgis-scene/> a été renommé arcgisViewReadyChange.
  • Tous les événements sont désormais préfixés par arcgis.
  • Les propriétés de la vue ont été intégrées à <arcgis-map/> et <arcgis-scene/> dans le but de simplifier l'accès à toutes les propriétés, méthodes et événements.
N'hésitez pas à consultez la documentation de chaque composant pour découvrir les nouvelles propriétés, les nouveaux événements et les nouvelles méthodes. La bibliothèque de composants du JavaScript Maps SDK continuera à s'enrichir au fil du temps avec davantage d'éléments préconstruits encapsulés dans des composants Web et pouvant être facilement intégrées dans votre propre application.

Accès aux attributs des couches de tuiles vectorielles

Dans cette nouvelle version de l'API JavaScript, il est possible d'accéder directement aux attributs publiés avec des couches de tuiles vectorielles dans les vues de cartes 2D. Lorsque l'on clique sur la carte, la méthode hitTest() trouve les entités qui se croisent dans la couche de tuiles vectorielles et permet d'accéder aux attributs de ces entités. Dans l'exemple ci-dessous, les attributs de la couche de tuiles vectorielles sont affichés dans une infobulle.
Notez que bien que cette approche soit utile pour les scénarios de base, il convient d'examiner attentivement si les couches d'entités sont mieux adaptées à vos besoins. Par exemple, plus les attributs sont publiés avec des couches de tuiles vectorielles, plus les performances se dégradent et peuvent devenir une alternative plus lente que les couches d'entités qui sont hautement optimisées pour travailler avec des attributs.

Interroger les entités en fonction de leur ordre d'affichage

Lors de l'affichage de fenêtres contextuelles, les entités provenant de plusieurs couches sont désormais affichées dans l'ordre où elles apparaissent sur la carte. Cela s'applique également à l'utilisation de la méthode hitTest() sur une MapView. Dans les versions antérieures, les entités étaient affichées dans l'ordre dans lequel elles étaient renvoyées par le serveur.

Améliorations de l'édition et des sketchs

Dessin interactif avec contraintes : Les nouvelles contraintes d'édition permettent un meilleur contrôle et une plus grande efficacité lors du dessin en 2D et en 3D. En activant les infobulles et en appuyant sur la touche Tab, les contraintes de longueur de segment, d'angle et d'élévation peuvent être définies directement dans l'infobulle. Cette fonctionnalité est disponible dans les widgets Editor et Sketch, ainsi que dans directement en utilisant le SketchViewModel.
Pad Directionnel (D-Pad) : Le nouveau widget directional pad, permet de contrôler la position et la rotation d'une carte en fournissant des commandes pour huit directions différentes de déplacement de la carte. Cela peut s'avérer utile lorsque la navigation sur la carte est désactivée, mais qu'il est toujours nécessaire de déplacer la carte pour effectuer des modifications, par exemple sur un écran tactile. Notez que la prise en charge est actuellement limitée aux MapView 2D.
Amélioration de l'édition des dates et heures : L'édition des types de champs date seule, heure seule et décalage horaire est maintenant prise en charge dans le widget de la feature table. Cette dernière a également été mise à jour pour utiliser le sélecteur de date, le sélecteur d'heure et le l'entrée de fuseau horaire issus des composants de Calcite.

Gestion des versions

Le nouveau composant de gestion des versions (bêta) prend en charge les flux de travail de version des branches dans les applications web personnalisées, facilitant ainsi la collaboration sur les ensembles de données. Les utilisateurs peuvent accéder aux listes de versions, créer des versions, passer d'une version à l'autre et mettre à jour les paramètres des versions à l'aide du composant de gestion des versions.

Mises à jour pour la 3D

Support des 3D Tiles : Le nouveau type de couche IntegratedMesh3DTilesLayer permet de charger des données de maillage intégrées basées sur une structure de données hiérarchique définie par la spécification 3D Tiles. Les tuiles 3D sont une norme de l'OGC utilisée pour visualiser de grandes quantités de contenu 3D, similaire aux couches de scène de la spécification I3S (Indexed Scene Layer ). Comme la couche IntegratedMeshLayer déjà existante, une couche IntegratedMesh3DTilesLayer peut représenter des environnements bâtis et naturels au moyen de textures réalistes et d'informations sur l'altitude, et être utilisée en combinaison avec d'autres contenus géospatiaux.
 
Visualisations et effets personnalisés en 3D : les nœuds de rendu personnalisés permettent un accès de niveau WebGL au pipeline de rendu de la vue de scène afin de créer des visualisations et des effets personnalisés. Ces tâches peuvent aller du rendu d'objets, comme l'animation des parties mobiles d'une éolienne, à l'application d'effets de post-traitement, comme la profondeur de champ d'une caméra.
Les nœuds de rendu sont une évolution du moteur de rendu externe qui offre encore plus de flexibilité. Ils peuvent injecter du code WebGL personnalisé à différentes étapes du pipeline de rendu pour modifier leurs résultats. Les exemples suivants vous donneront une idée de la puissance des nœuds de rendu personnalisés : Modification des couleurs, profondeur de champ, transition de diapositive en fondu enchaîné, éoliennes animées.
Nouveaux styles de fonds de carte 3D : De nouveaux styles de fonds de carte 3D ont été ajoutés, et les styles déjà disponibles sont sortis de beta. Vous pouvez explorer ces nouveaux styles dans la démonstration Basemap Gallery
 
Prise en charge de l'affichage en mosaïque: la SceneView est désormais en mesure d'effectuer le rendu d'une sous-région 2D de la caméra. Cela permet aux développeurs d'applications de s'affranchir des limites d'un seul navigateur pour prendre en charge de grands affichages en mosaïque avec des résolutions élevées et des performances de rendu fluides. Le projet Scalable GIS Renderer sur GitHub utilise cette fonctionnalité pour mettre en œuvre un exemple d'application permettant de visualiser des scènes web 3D ArcGIS Online sur des murs d'affichage.

Mur d'affichage 3x3 au laboratoire de visualisation et de multimédia de l'université de Zurich, avec rendu d'une scène web de 7680x4320 pixels sur neuf ordinateurs.

Imagerie orientée : support des images 360° et de l'édition

Images à 360 degrés : Les utilisateurs peuvent afficher et interagir avec des images à 360 degrés grâce au widget Oriented Imagery Viewer, qui offre une vue panoramique de l'endroit sélectionné.
Edition des couches d'imagerie orientée : Les utilisateurs peuvent désormais ajouter, modifier et supprimer des images dans une couche d'imagerie orientée à l'aide du widget de l'éditeur.

Amélioration des performances

Couches d'entités plus rapides : Esri a amélioré les performances et le temps de chargement des entités qui sont stylisées avec des CIMSymbol multicouches dans les vues de cartes en 2D.
Smart mapping : La génération de cartes de chaleur est 100 fois plus rapide qu'en version 4.28 lorsque vous utilisez le smart mapping.

POIs interactifs et world view au sein des fonds de carte

Vous pouvez ajouter des POI interactifs à partir du service Places dans les styles de fonds de carte de navigation (clair et sombre).
De plus, la nouvelle propriété worldview vous permet d'afficher les frontières et les étiquettes du point de vue d'un pays spécifique, c'est à dire en modifiant la langue d'affichage, ou encore le tracé des frontières dans certaines zones.

Quelques nouveautés saillantes dans les widgets

Les différents widgets conçus pour enrichir vos applications ont également eu droit à leur lot de nouveautés, dont nous allons passer quelques unes en revue ici. Notez que toutes les mises à jours de widgets s'appliquent également au composant correspondant.
 
Recherche de couche : Trouvez facilement la couche que vous recherchez en utilisant la nouvelle fonction de filtrage dans les widgets LayerList, BasemapLayerList et TableList. Vous pouvez contrôler l'affichage du filtre à l'aide de la propriété visibleElements.
Simplification de la fenêtre contextuelle : avec la propriété visibleElements, vous pouvez maintenant contrôler quels éléments de la popup vous voulez voir s'afficher ou non? Cela vous permet de créer des popups extrêmement épurées en cachant toues les éléments, comme ci-dessous :
Approfondissement de l'utilisation de Calcite dans les widgets : Bien que tous les widgets aient été conçus sur la base des spécifications de conception de Calcite et utilisent des icônes Calcite, nombre d'entre eux n'utilisent pas les composants Calcite en interne. Esri travaille actuellement à la mise à jour de tous les widgets pour qu'ils utilisent les composants Calcite, et ce pour plusieurs raisons, dont les suivantes :
  • Amélioration de l'expérience utilisateur (par exemple, la nouvelle expérience de filtre dans la liste des couches).
  • Meilleure accessibilité
  • Plus grande cohérence entre les widgets.
Dans cette version, les widgets suivants ont été mis à jour avec des composants Calcite : BasemapLayerList, BasemapToggle, Fullscreen, Home, LayerList, Locate, NavigationToggle, ScaleBar, TableList, Track et Zoom.

Vous travaillez avec des frameworks?

Aujourd'hui, de nombreux développeurs utilisent des frameworks pour leur développement front-end. Pour faciliter le développement avec les frameworks et le SDK JavaScript d'ArcGIS, Esri ajoute progressivement plus de ressources sur le site du SDK. Beaucoup de ces ressources sont axées sur l'utilisation des nouveaux composants web (pour l'instant enbêta) qui sont particulièrement utiles pour la création d'applications avec le JS Maps SDK et les frameworks. Voici également quelques exemples de ressources qui vous aideront à développer des applications web dans des frameworks :

En apprendre + sur cette nouvelle version

Cette version contient de nombreuses fonctionnalités et améliorations qui ne sont pas mentionnées dans cet article. Pour en apprendre davantage sur la 4.29, n'hésitez pas à consulter les notes de version et allez testez les échantillons de code disponibles.

On se voit au Developer Summit ?

Le Developer Summit d'Esri est un rassemblement de développeurs géospatiaux permettant d'apprendre et d'échanger autour des dernières tendances et capacités du développement cartographique web. Cela sera notamment l'occasion d'entrer en contact avec l'équipe derrière le SDK JavaScript d'ArcGIS à travers des théâtres de démonstration et des ateliers. La conférence aura lieu dans maintenant moins de 2 semaines à Palm Springs, mais il n'est pas trop tard pour obtenir vos places pour l'accès digital !

Aucun commentaire:

Enregistrer un commentaire