La mise à jour de juillet de l'ArcGIS
API for JavaScript (version 4.12) est désormais disponible ! Cette version
améliore à la fois les fonctionnalités de la version 4.11, avec par exemple
l'ajout d'un curseur temporel pour le rendu temporel, et introduit de nouvelles
fonctionnalités telles que le rendu réaliste de l'eau dans des scènes 3D. La
version 4.12 introduit également une augmentation significative des
performances dans divers aspects de l'API, ce qui a un impact positif sur
l'expérience utilisateur. Je vais vous présenter ici certaines des
améliorations majeures apportées dans cette version.
Amélioration des performances
Les optimisations apportées dans la version 4.12 permettent
un chargement plus rapide de la carte. Certaines des améliorations spécifiques
sont :
- Couches de tuiles vectorielles : Les
couches de tuiles vectorielles se chargent désormais 50 % plus rapidement grâce
à l'amélioration de l'extraction des tuiles vectorielles, incluant une plus
grande parallélisation des requêtes, et des optimisations du traitement des
tuiles.
- Couche d'entités : Le rendu de la couche
d'entités a été amélioré grâce aux optimisations liées à la triangulation des
géométries. Le traitement de la triangulation s'est amélioré sans réduire la
qualité.
- Lignes : Les performances du traitement
de lignes ont été considérablement améliorées en réduisant au minimum les
appels de fonctions JavaScript devant être exécutés lors du traitement des
données de lignes. Dans le cas de lignes fines, une technique de traitement
simplifié qui permet de créer beaucoup moins de sommets sans artefacts visuels
a été ajouté.
- Mises à jour rapides de la carte lors de la
modification de l'attribut rendu : Lorsque vous modifiez les données que
vous utilisez pour le rendu, la carte est mise à jour rapidement sans
scintillement.
Scènes 3D : Les objets 3D et les couches
de maillage intégrées sont chargés 4 fois plus rapidement avec la nouvelle
version 1.7 de la spécification i3s. En outre,
un nouveau mécanisme de mise en cache côté client permet de réduire les zones
sans données quand vous explorez une scène 3D.
Les performances continueront d’augmenter dans les versions
à venir, aussi bien pour le temps de chargement initial que dans celui du
rendu.
Le TimeSlider
Vous pouvez maintenant créer des applications qui
visualisent des données temporelles à l'aide du nouveau widget TimeSlider.
En 4.11, Esri a introduit le temps pour les requêtes côté
client et côté serveur. Ces mêmes requêtes temporelles peuvent être utilisées
dans les filtres et les effets FeatureLayerView. Les filtres constituent un
moyen efficace d'afficher un sous-ensemble de graphiques côté client, tandis
que des effets visuels peuvent être appliqués aux fonctionnalités incluses et
exclues. Par exemple, les séismes dans une étendue définie par l'utilisateur
peuvent être colorés en orange vif, alors que les séismes situés en dehors de
cette étendue apparaissent sous la forme de points gris semi-transparents. Étant
donné que le filtrage et les effets (temporels ou non) sont effectués côté
client, ils sont extrêmement rapides, même pour les grands ensembles de
données.
Dans la version 4.12, Esri a ajouté le support temporel
directement dans les MapViews
et dans les SceneViews.
Toute couche temporelle de la vue respecte automatiquement l'heure de la vue en
affichant uniquement le contenu compris dans cette durée. Pour manipuler
facilement l'heure d'affichage, on peut utiliser le widget TimeSlider. Ce
widget facile à utiliser et à configurer mettra à jour l’heure de la vue chaque
fois que l’utilisateur interagira avec.
Les développeurs peuvent éventuellement utiliser TimeSlider
en tant que source de TimeExtents à appliquer directement aux effets et filtres
FeatureLayerView.
Symboles vectoriels
2D
Une vaste collection de plus de 100 nouveaux symboles
vectoriels prêts
à l'emploi (appelés WebStyleSymbols
publiés en version bêta), qui peuvent être stylisés de manière dynamique comme
vous le souhaitez dans 2D MapViews, a été ajoutée. Vous pouvez utiliser ces
symboles dans des couches pour indiquer simplement des emplacements ou dans des
visualisations basées sur des données à l'aide de variables visuelles de
taille, de couleur et d'opacité. Les marqueurs vectoriels fournissent un
affichage agréable et net. Même si la taille du symbole augmente, la qualité ne
se dégrade pas.
Rendu de l'eau
Les visualisations animées de l'eau, telles que les
ondulations de l'eau et les reflets du soleil donnent un côté réaliste dans une
scène 3D. La nouvelle WaterSymbol3DLayer
propose des options amusantes, telles que waveStrength,
qui détermine la magnitude des ondes, et waveDirection,
qui indique la direction dans laquelle les ondes se propagent. Vous pouvez
modéliser un lac d'un bleu profond comme le lac d’Annecy ou une eau turquoise
comme à Bora Bora, en définissant la couleur
dominante de l'eau.
Nouveaux symboles de lignes 3D
Le nouveau profil
carré vous permet de visualiser des lignes 3D avec des styles de carrés, de
bandes et de murs. Comme pour les autres symboles, ce nouveau profil prend
également en charge la taille ou la couleur définie par l'attribut à l'aide de VisualVariables.
Combinez les profils
de chemin avec les nouvelles options de configuration pour cap,
join
et profileRotation
afin d'améliorer le style de visualisation des entités linéaires telles que les
rues ou les limites géographiques.
Filtres sur les couches de scène de construction
Le BuildingSceneLayer
vous permet de restituer des modèles de construction 3D détaillés. Avec cette
version, Esri a ajouté la prise en charge des filtres
afin que vous puissiez créer des applications qui isolent les sols, mettent en
évidence les matériaux de construction ou visualisent les phases de
construction.
Requêtes côté client en 3D
Comme dans MapViews 2D, vous pouvez désormais effectuer des
requêtes côté client avec des couches de scène et des couches d'entités dans les
SceneViews 3D. Avec cela, les applications permettent aux utilisateurs de
sélectionner de manière interactive des fonctionnalités et d'afficher des
statistiques à l'aide d'expressions spatiales et basées sur des attributs.
Smart Mapping
Avec cette version, l’API a atteint la parité avec les
fonctionnalités Smart Mapping de l’API 3.x et les a encore étendues avec de
nouvelles fonctionnalités. Par exemple, vous pouvez choisir de mettre à jour
dynamiquement la largeur de contour des symboles de polygone en fonction de
l'échelle de la vue. Vous pouvez également tirer parti d'une nouvelle méthode
pratique pour déterminer les tailles minSize et maxSize suggérées d'une variable
visuelle de taille dépendant de l'échelle.
Nouveaux widgets de curseur
Dans le cadre de cette version, de nouveaux widgets de
curseur permettent une expérience utilisateur riche d'exploration des données.
Ces curseurs sont intégrés aux widgets de curseur Smart Mapping, aux nouveaux
widgets TimeSlider et Histogram, etc. Vous pouvez également utiliser la
classe de base du curseur pour vos widgets personnalisés.
Modernisation de l'API
À mesure que l’API et les navigateurs Web évoluent, nous
sommes en mesure de développer l’utilisation par l’API des fonctionnalités
natives disponibles dans les navigateurs Web à la place d’autres bibliothèques.
Cela nous permet de réduire la taille de l'API, ce qui améliore entre autres
les performances de charge. Certains de nos efforts de modernisation
comprennent :
-
93 % de la base de code est écrite en TypeScript.
-
esri
/ request utilise désormais l'API Fetch
native en interne pour requêter des ressources.
-
La plupart des méthodes asynchrones de l'API
prennent désormais en charge un paramètre de signal facultatif de type AbortSignal.
Voir Asynchronous
Method Cancellation pour plus d'informations.
-
Un nouvel indicateur est disponible pour
permettre aux fonctions d'API asynchrones de renvoyer une promesse JavaScript
native plutôt qu'une promesse Dojo (dojo / différé).
-
Un nouveau module de formatage de nombres et de
dates, esri
/ intl, tire parti des API d’internationalisation des navigateurs.
Il comprend des fonctions permettant de formater les dates, les heures et les
chiffres en fonction de paramètres régionaux, ainsi que de formats horaires 24
heures ou 12 heures.
Pour en savoir plus
Pour en savoir plus sur cette version, consultez les release
notes 4.12 et jouez avec des exemples
présentant de nouvelles fonctionnalités.
Nous reviendrons plus en détails dans des prochains articles sur ces nouveautés !
Aucun commentaire:
Enregistrer un commentaire