La version 4.17 de l'API JavaScript ArcGIS est disponible
La 3ème mise à jour de l'année pour l'API JavaScript ArCGIS est disponible depuis quelques jours. Je reviens donc aujourd'hui sur cette dernière version 4.17 sortie le 8 octobre (on notera aussi la sortie d'une version 3.34 pour l'ancienne génération de l'API). Comme à chaque mise à jour, cette nouvelle version contient une série de nouvelles fonctionnalités et d'améliorations.
Un des thèmes majeurs pour cette version 4.17 c'est la performance, en particulier si vous travaillez avec des volumétries très importantes de données. Esri encourage vivement les développeurs à tester leurs applications avec cette nouvelle version. Vous noterez des améliorations sensibles de performances sur les couches d'entités, les couches dont les contenus sont stockés côté client et les couches de scènes de points.
Améliorations des performances sur les couches d'entités
À chaque version, les développeurs de l'API JavaScript ArcGIS recherchent des moyens d'optimiser davantage les performances. Cette version apporte des améliorations de performances critiques pour les couches d'entités. Comme pour presque toutes les améliorations de performances, l'impact et l'amélioration visuelle des applications varient en fonction des caractéristiques de l'application, des données qu'elle charge et des propriétés des services eux-mêmes. Les applications qui verront les gains les plus notables avec cette version sont:
- les applications utilisant un grand nombre d'attributs
- les applications avec un grand nombre d'entités (nécessitant plusieurs requêtes serveur de tuiles d'entités)
- les couches d'entités qui utilisent des symbologies de remplissage
Plus d'un million d'emprises de bâtiments chargées dans une carte avec l'API 4.16 et 4.17. A noter la vitesse mais aussi l'aspect progressif du chargement. |
Temps de chargement plus rapide des applications avec de gros volumes de données:
Esri a révisé le pipeline de traitement des entités, ce qui améliore considérablement le temps de chargement des applications devant charger de grandes quantités de données. Bien que les améliorations de performances varient considérablement d'une carte à l'autre, vous constaterez que les cartes qui utilisent de nombreux attributs en bénéficient le plus.
Chargement progressif des tuiles d'entités:
Esri a également amélioré l'expérience lors du chargement de jeux de données contenant de nombreuses entités. Comme vous le savez peut-être déjà, les entités sont demandées selon des tuiles conçues pour une mise en cache haute performance. L'API dessine les entités de manière incrémentale au fur et à mesure de leur chargement, ce qui entraîne une progression visuelle de la tuile au cours de son chargement. Cela peut être observé dans l'animation ci-dessus qui compare le chargement de la couche d'entités ci-dessus.
Meilleur traitement des données et gestion de la mémoire:
L'API demande, par défaut, des données au format PBF. Désormais, l'API conserve les entités encodées en PBF dans leur format binaire natif, en utilisant des lecteurs binaires pour travailler directement sur les données compressées des entités. Cela permet au traitement des données de mieux évoluer et de réduire la pression mémoire, car nous n'avons plus besoin de désérialiser les fonctionnalités individuelles.
Couches de flux plus stables et plus souples
Pour adresser la demande de plus en plus importante des développeurs de pouvoir créer des applications visualisant et analysant des flux de données en temps-réel avec une volumétrie et une vélocité (fréquence d'actualisation) croissante, Esri a réorganisé la classe StreamLayer pour répondre à ces deux points:
- Prise en charge d'un plus grand nombre de messages par seconde: Désormais, l'API permet de traiter des flux de plusieurs centaines de milliers en appliquant une nouvelle logique d'affichage des données adaptée aux capacités mémoire et CPU/GPU du client pour évité tout problème de saturation.
- Implémentation de WebSockets personnalisés: Au delà de l'implémentation des couches de flux (StreamLayer) issues de GeoEvent Server ou d'ArcGIS Velocity (nouveau nom d'ArcGIS Analytics for Iot), l'API a été étendue pour permettre l'usage de WebSockets personnalisés pour vous connecter à n'importe quelle source de flux.
Les couches côté client comme cette couche CSV tirent désormais parti d'un worker pour stocker les données, ce qui permet une expérience plus fluide. |
- Print: ce widget expose désormais de nouvelles propriétés et événements pour les développeurs souhaitant personnaliser l'expérience d'impression. Par exemple, les événements complete et submit peuvent être utilisés par les développeurs pour gérer les résultats et le comportement d'impression.
- Bookmark: ce widget a été amélioré avec la possibilité d'ajouter ou de modifier une miniature. De plus, auparavant, seule l'étendue du géosignet était stockée. Les utilisateurs peuvent désormais créer des géosignets qui capturent également l'échelle et la rotation actuelles.
- FeatureTable: ce widget a amélioré l'accessibilité et propose une nouvelle prise en charge de la modification des champs de type "date".
- FeatureForm: ce widget a désormais la capacité de limiter les plages min/max pour l'entrée de date ainsi que d'inclure ou non une entrée pour l'heure. Ceci est réalisé en configurant la nouvelle interface utilisateur DateTimePickerInput .
- TableList : le nouveau widget TableList fournit un moyen d'afficher une liste de tables dans une carte.
0 comments :
Enregistrer un commentaire