Rechercher dans le blog

Les nouveautés de la version 4.28 de l'API JavaScript d'ArcGIS

La version 4.28 de l'ArcGIS Maps SDK for JavaScript (anciennement connu sous le nom d'ArcGIS API for JavaScript) vient d'être rendue disponible depuis le 23 octobre 2023. La nouveauté saillante de cette version est la mise à disposition des Composants Maps SDK, une nouvelle manière simplifiée pour développer des applications web cartographiques. Dans cet article, je vous propose de découvrir cela et les autres  capacités introduites, comme l'imagerie orientée, le support amélioré des données temporelles, et bien d'autres choses.
Cette version introduit une nouvelle bibliothèque de composants web permettant de créer des applications cartographiques avec un minimum de code. Actuellement, cette bibliothèque est composée de trois paquetages dont nous allons discuter ci-dessous. Au fur et à mesure des prochaines versions de l'API, celle-ci devrait se voir enrichie de nouveaux composants à ajouter à vos applications.
 

Composants Carte

Les composants carte (map components) contiennent la carte, la scène, ainsi que tous les widgets du SDK JavaScript embarqués sous forme de composants web. Bien que ces composants n'offrent pas de nouvelles fonctionnalités, ils constituent une alternative intéressante pour de manière très rapide des applications cartographiques, et son particulièrement utiles pour être intégrés à des frameworks.
Dans l'exemple ci-dessous, il suffit désormais de 3 lignes de HTML pour créer une application interactive qui charge une carte web et sa légende :
<arcgis-map item-id="05e015c5f0314db9a487a9b46cb37eca">
    <arcgis-legend position="bottom-right" />
</arcgis-map
Avec les composants, il est bien sûr toujours possible d'embarquer différents widgets comme dans l'exemple ci-dessous :
<arcgis-map item-id="d5dda743788a4b0688fe48f43ae7beb9">
    <arcgis-search position="top-right" />
    <arcgis-legend position="bottom-left" expandable/>
    <arcgis-basemap-toggle position="bottom-right" /> 
</arcgis-map

Composants de Code

Il est prévu que les composants de code (coding components) accueillent une large gamme d'outils, de ressources, d'éditeurs de code et d'utilitaires qui prennent en charge le codage. Actuellement, vous pouvez accéder au composant d'édition Arcade, qui permet à l'utilisateur final de créer des expressions Arcade qui pilotent des aspects de votre carte ou de votre application au sein de votre solution. Ils auront la même expérience de l'édition de leurs expressions Arcade que celle qu'ils ont dans Map Viewer et dans l'Arcade Playground.

Composants communs

Les composants communs (common components) sont une collection de composants partageables pour d'autres composants de haut niveau, contenant actuellement les clés d'API et les identités ArcGIS.

Pour apprendre à utiliser les composants, n'hésitez pas à consulter le guide de démarrage ainsi que les nouveaux tutoriels du site developers. Nous reparlons également des composants plus en détail dans cet article, alors n'hésitez pas à aller le consulter !

Imagerie orientée

L'imagerie orientée vous permet d'intégrer dans votre SIG des images non traditionnelles, telles que des images de la rue prises avec une caméra mobile ou des images d'inspection à courte portée prises par un drone. Elle relie les pixels d'une image aux emplacements d'une carte ou d'une scène, et vice versa. Cela vous permet de sélectionner un endroit sur la carte et de trouver la meilleure image d'une collection qui représente cet endroit. 
Dans cette version, le SDK JavaScript supporte un nouveau type de couche : les couches d'imagerie orientées (Oriented Imagery Layer), vous permettant d'interagir avec votre collection d'images orientées. La couche se compose d'entités ponctuelles affichant l'emplacement des caméras et d'une géométrie indiquant la zone de la carte couverte par la caméra. En utilisant le widget Oriented Imagery Viewer qui l'accompagne, vous pouvez cliquer sur une carte pour visualiser la meilleure image de votre collection qui représente cet emplacement, puis examiner les actifs depuis plusieurs directions et améliorer les images pour une meilleure analyse visuelle.

Édition des enregistrements associés : relations entité à entité

Depuis la version 4.27 de l'API, le widget Editor est capable d'éditer les enregistrements associés, en se limitant aux relations entité à table. Désormais, il est possible d'éditer également les relations entité à entité. Comme pour l'édition des relations entité à table, il faut configurer la relation via la classe RelationshipElement dans le modèle de formulaire afin de permettre au widget Editor de supporter l'édition des enregistrements associés.

Support amélioré pour les données temporelles

Cette version introduit de nouvelles façons de travailler avec les données temporelles, dont notamment de nouveaux types de champs pour mieux représenter les dates avec différents niveaux d'information, ainsi que la prise en charge des fuseaux horaires pour le MapView 2D et les widgets.
 

Nouveaux types de champs (bêta)

Trois nouveaux types de champs sont accessibles dans cette version : date-only, time-only et timestamps-offset. Ils permettent de mieux représenter différents niveaux d'informations desquels on peut avoir besoin lorsque l'on travaille avec des données temporelles. Le tableau ci-dessous vous donnera plus d'informations sur ces nouveaux types de champ :
L'exemple ci-dessous montre comment le type de champ timestamp-offset peut permettre de comparer les données entre les fuseaux horaires, comme le montre l'exemple ci-dessous où nous recherchons tous les incidents qui se sont produits entre 16 et 19 heures dans leurs fuseaux horaires respectifs.

Fuseaux horaires

La prise en charge des fuseaux horaires (timeZone) dans la vue 2D MapView vous permet de contrôler la façon dont les dates et les heures sont représentées aux utilisateurs. Dans les versions précédentes, les valeurs de la date et de l'heure étaient toujours affichées dans le fuseau horaire de l'appareil. Le réglage du fuseau horaire peut s'avérer utile pour afficher des événements tels que des alertes météorologiques ou des incidents d'urgence qu'il est préférable d'afficher dans le fuseau horaire local de l'incident à des fins de coordination et d'intervention. Les widgets qui affichent des dates respectent également le fuseau horaire.

Amélioration du placement des étiquettes des polygones

Le placement des étiquettes pour les entités polygonales dans les MapViews 2D a été amélioré. Les étiquettes des polygones sont mieux positionnées à l'intérieur des entités, en particulier pour les formes irrégulières telles que l'état de Floride que vous pouvez voir ci-dessous.

Nouvelle API de styles de fond de carte

En mai dernier, je vous présentais la nouvelle version des services de fonds de carte d'Esri (basemap styles services v2). Cette nouvelle API est désormais prise en charge avec la version 4.28 de l'API JavaScript. 
Ces cartes peuvent être créées à partir d'une chaîne de caractères sous la forme {provider}/{style}, où le fournisseur est "arcgis" ou "osm". En plus du style, vous pouvez également spécifier une langue pour les étiquettes. Si aucune langue n'est spécifiée, la localisation actuelle de l'application sera utilisée pour déterminer la langue utilisée par les étiquettes de lieu.

Thèmes de couleur pour les outils interactifs

Avec la nouvelle propriété theme de la classe View, vous pouvez désormais personnaliser la couleur des outils interactifs en 2D et en 3D, pour par exemple lavec les couleurs de votre marque ou de la charte graphique de votre site. Cela s'applique aux outils d'esquisse et d'accrochage, ainsi qu'à des outils d'analyses comme la mesure, le dimensionnement, la tranche (slice), les lignes de visée et les profils d'élévation. Vous pouvez découvrir cela dans cet extrait de code

Nouveautés de la 3D

Dans cette version, diverses améliorations viennent renforcer la partie 3D de l'API :
  • la possibilité d'uploader des fichiers zip, il est maintenant possible d'ajouter des modèles contenant des fichiers de texture supplémentaires à des couches de scène modifiables ;
  • l'amélioration des estimations de mémoire permet le rendu d'un plus grand nombre d'entités sur les appareils hauts de gamme. Sur les appareils bas de gamme, il est possible de rendre moins d'entités pour améliorer les performances et la stabilité ;
  • les basemaps 3D d'Esri peuvent désormais être référencées une chaîne de caractère : topo-3d, navigation-3d et navigation-dark-3d ;
  • quand l'utilisateur se déplace dans la scène, lors du chargement d'une couche de tuiles vectorielles (VectorTileLayer) avec une couleur d'arrière-plan définie, cette couleur sera désormais affichée à la place de la grille du terrain, ce qui offre une transition plus douce lors de la navigation entre les différentes parties d'une carte qui n'ont pas encore été chargées. En utilisant l'ArcGIS Vector Tile Style Editor, vous pouvez également ajouter une couleur d'arrière-plan à vos propres couches de tuiles vectorielles pour bénéficier de ce changement.

GIFs et des PNG animés dans les MediaLayers

Les images GIF et APNG sont désormais prises en charge dans la couche média, ce qui vous permet d'inclure des images animées dans vos applications de cartographie web. Vous pouvez spécifier des options d'animation telles que la durée et le type de répétition pour ces images animées.

Etendue initiale des couches de tuiles

Lors de l'utilisation d'une couche de tuiles vectorielles, la vue peut être automatiquement zoomée sur les zones d'intérêt en réglant la vue sur la nouvelle propriété initialExtent de la couche de tuiles vectorielles. 

Breaking changes

Parmis les breaking changes, nous noterons notamment le retrait de la classe watchUtils, qui était dépréciée depuis la version 4.24 de l'API. A la place, les application devront utiliser reactiveUtils, qui fournit des fonctions nettement améliorées pour observer les propriétés héritées de l'Accessor
Vous pouvez découvrir ici le reste des breaking changes.

D'autres nouveautés à découvrir

La mise à jour en version 4.28 propose d'autres nouveautés, comme par exemple l'enregistrement de plus de types de couches en tant qu'éléments de portail, des couleurs de diagrammes personnalisées, des méthodes utilitaires de fonctions matricielles et de nouvelles rampes de couleurs ! Consultez les notes de version, et testez avec les nouveaux échantillons pour en savoir plus sur la version 4.28.
Le 2 novembre à 17h, vous pourrez retrouver en live sur YouTube l'équipe de développeurs derrière l'API, afin d'en apprendre davantage, de voir des démos et d'échanger avec eux, alors n'hésitez pas à les rejoindre !
 

Aucun commentaire:

Enregistrer un commentaire