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>
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 !
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.
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