"La plus grosse sortie de version depuis un certain temps" selon Esri, la
version 4.30 de l'API JavaScript d'ArcGIS est disponible depuis le 27 juin
2024. Cette version contient des capacités attendues depuis longtemps, ainsi
que diverses améliorations visant à améliorer l'expérience utilisateur mais
aussi celle du développeur. Dans cet article, je vous propose de jeter un oeil
ensemble aux nouveautés majeures apportées par cette nouvelle version du SDK
web d'ArGIS.
Utilisez les composants web pour développer vos applications
Les composants du SDK, introduits en octobre dernier
dans la version 4.28, sont l'approche recommandée par Esri pour construire l'expérience
utilisateur de votre application cartographique.
Ces composants d'interface utilisateur pré-construits, se basant sur les
spécifications standards des composants web, vous permettent de développer vos applications avec un minimum de
code, en encapsulant des fonctionnalités dans des balises HTML simples à
intégrer. Par exemple, l'élément
<arcgis-map></arcgis-map>
vous permet d'ajouter une
carte à votre site web.
Notez que les
composants charts, introduits en février dans la
4.29, restent pour l'instant en bêta.
Enregistrements liés et colonnes personnalisées dans les tables attributaires
Cette mise à jour de l'API est très importante pour les tables attributaires,
qui se voient enrichies du support des enregistrement liés, de la capacité à
utiliser des colonnes personnalisées, d'une meilleure interaction à la
sélection, de performances plus rapide et d'un responsive design amélioré.
Voyons cela plus en détails :
Enregistrements liés
Il est désormais possible de voir et même d'éditer des enregistrements liés au
sein des tables attributaires, en paramétrant la propriété
relatedRecordsEnabled
à true.
Colonnes personnalisées
Il est désormais possible de personnaliser pleinement le contenu des colonnes
grâce aux
colonnes personnalisées
(ou colonnes virtuelles). Ces dernières ne se basent pas sur un champ
spécifique de la couche, ce qui vous permet d'en définir un contenu et un
formatage personnalisés en y incluant ce que vous souhaitez.
Vous pouvez par exemple intégrer des composants de
Calcite, utiliser
Arcade
pour calculer une valeur, et / ou formater le contenu en vous basant sur votre
cas d'usage spécifique. Vous puovez également configurer le
titre
et la
description
dans l'entête de la table.
Je vous conseille d'aller observer cela de plus près dans
cet exemple de code.
Contenu dynamique dans les cellules
En plus des colonnes personnalisées, vous pouvez encore aller plus loin dans
le contenu de votre table attributaire, dont les cellules supportent
maintenant le contenu dynamique. Le contenu de la colonne peut être mis à jour
en utilisant la nouvelle propriété
formatFunction
sur la
classe
Column
ou sur la classe
FieldColumn.
Sélection et mise en surbrillance
La sélection et la mise en surbrillance ont été améliorées dans cette version,
avec une meilleure coordination entre la table et la carte en utilisant les
propriétés
rowHighlightIds,
objectIds,
filterBySelectionEnabled
et les événements
cell-click,
cell-keydown,
cell-pointerover.
Meilleures performances
Les développeurs d'Esri se sont également appliqués à améliorer le temps de
chargement des tables, en se basant désormais sur un "lazy loading". Cela
signifie que si vous travaillez avec des couches contenant de nombreux
attributs, les colonnes sont maintenant chargées au fur et à mesure que
l'utilisateur scrolle horizontalement dans la table.
Responsive Design
La table attributaire a été mise à jour pour utiliser les composants de
Calcite, permettant une accessibilité renforcée et un responsive design
amélioré. Les nouvelles propriétés
autoWidth, flexGrow, et
width
donnent un meilleur contrôle sur la taille des colonnes.
Notez aussi que des
icônes
peuvent désormais être ajoutés aux entêtes des colonnes.
Nouveautés de la 3D
Analyse interactive du champ de vision
est un nouvel outil d'analyse permettant d'évaluer le champ de vision depuis
un point placé soit de manière interactive dans la scène par l'utilisateur,
soit directement dans le code. Il est possible d'ajuster la largeur du champ
de vision ainsi que l'angle de vue.
Orientation des étiquettes des couches de tuiles vectorielles dans les scènes 3D
Les étiquettes et les symboles d'une couche de tuiles vectorielles tournent en
fonction de l'orientation de la caméra dans la vue de la scène, ce qui
améliore la reconnaissance des symboles et la lisibilité du texte.
Support des données temporelles en 3D
Support des données temporelles en 3D
Les couches de scènes d'objet 3D, de points et de voxels peuvent maintenant
être utilisées dans le widget
TimeSlider
et filtrées selon la propriété
view.timeExtent.
Import et export des modèles 3D
L'import de modèles 3D
sort de la phase bêta :
Le téléchargement et le partage de contenu 3D avec l'édition de couches de
scène ont été introduits pour la première fois en version bêta dans la version
4.27. Depuis, Esri a amélioré les performances, la prise en charge des
projections locales et globales et finalisé les API de géométrie Mesh. La
possibilité de télécharger des modèles 3D à partir de différents formats et de
les placer à l'aide du widget Edit est maintenant sortie de la phase bêta.
Exportation de meshs 3D vers glTF : Vous pouvez interroger les géométries de maillage d'une couche de scène pour exporter des modèles 3D au format glTF avec la nouvelle fonction toBinaryGLTF, puis utiliser le maillage exporté dans un logiciel de modélisation 3D professionnel. Cela permet des workflows collaboratifs qui impliquent une modélisation avancée, en particulier dans les secteurs de la planification urbaine et de l'immobilier.
Exportation de meshs 3D vers glTF : Vous pouvez interroger les géométries de maillage d'une couche de scène pour exporter des modèles 3D au format glTF avec la nouvelle fonction toBinaryGLTF, puis utiliser le maillage exporté dans un logiciel de modélisation 3D professionnel. Cela permet des workflows collaboratifs qui impliquent une modélisation avancée, en particulier dans les secteurs de la planification urbaine et de l'immobilier.
Imagerie orientée en 3D
Les
couches d'imagerie orientées
peuvent maintenant être publiée avec une valeur z, vous permettant de les
visualiser et d'interagir avec dans une scène 3D. Lorsque le point de vue de
l'image est ajusté dans le visualisateur d'images orientées, la géométrie 3D
de la couverture de l'image est visualisée sur la carte.
Amélioration des performances de l'API
Liste des couches plus rapide et plus fluide : Dans la version 4.30 de
l'API, le rendu de la liste de couches est jusqu'à 2,5 fois plus rapide que
dans la version 4.29. Le nombre de frame par seconde (fps) est aussi plus
élevé dans les applications utilisant une liste de couche contenant de
nombreuses couches. L'application test d'Esri contient 165 couches, et le
nombre de fps lors du déplacement est passé d'environ 24fps en 4.29 à environ
45fps en 4.30 lors du déplacement et du zoom dans la carte.
Amélioration des capacité des couches d'entités : Esri a optimisé
l'animation lorsque l'on bouge entre différentes localisations dans la
MapView. Désormais, seules les entités du point de vue de destination de l'animation
sont récupérées, ce qui réduit considérablement le nombre de requêtes. Par
exemple, lors de la navigation entre les signets de la Californie et de
l'Oregon, la version 4.30 fait plus de 50 % de requêtes en moins par rapport à
la version 4.29. Cette amélioration renforce l'efficacité et améliore
l'expérience globale de l'utilisateur.
Couches de catalogue
Le nouveau type de couche
CatalogLayer
(couche de catalogue) vous permet de visualiser, de rechercher et de filtrer
une collection de couches en 2D et en 3D. À première vue, il ressemble à un
groupe de couche, mais il est soutenu par un service d'entités où chaque
entité polygonale sur la carte représente l'empreinte d'une couche de
catalogue. Il est aussi possible de prévisualiser le contenu de la couche
directement à partir du catalogue. Comme le contenu du catalogue est soutenu
par un service d'entités, le catalogue peut être mis à jour régulièrement avec
de nouvelles couches, ce qui permet de maintenir une collection de couches
dynamique et à jour. En utilisant les métadonnées de l'empreinte, vous pouvez
appliquer un filtre basé sur tout ce qui peut être appliqué à une entité - y
compris les attributs, la géométrie et/ou le temps.
Les couches du catalogue sont particulièrement utiles lorsque le contenu d'une
carte ou d'une scène contient de grandes collections de couches, lorsque votre
organisation produit rapidement de nouvelles données ou pour partager des
données organisées par thème.
Le nouveau widget
CatalogLayerList
permet d'afficher et d'interagir avec les couches du catalogue et s'intègre à
la liste des couches.
Support des vidéos géoréférencées (bêta)
Le nouveau type de couche
VideoLayer
(couche de vidéo) affiche des flux vidéo préenregistrés ou diffusés en direct
à partir d'un
Video Server
(disponible depuis la version 11.2 d'ArcGIS Enterprise). Vous pouvez ainsi
afficher une vidéo géoréférencée sur une carte et contrôler la lecture à
l'aide du nouveau widget
VideoPlayer. Le lecteur vidéo propose des opérations de contrôle, l'affichage de l'heure
et de la durée, des couleurs graphiques personnalisables, etc. Les deux sont
pour l'instant en version bêta.
Nouveau style de symbologie
Le smart-mapping s'enrichit d'un nouveau style "reference-size", qui affiche
des points dont la taille est proportionnelle à la valeur des données par
rapport à une taille de référence. Il permet de visualiser efficacement la
densité, en particulier pour les ensembles de données quadrillées dont les
géométries ne se chevauchent pas. Vous pouvez utiliser la taille de référence
en combinaison avec la couleur pour montrer les types ou la densité de
plusieurs variables.
Vous pouvez créer une visualisation de type reference-size dans Map Viewer,
l'enregistrer sur une webmap, puis la charger dans votre application ; ou la
générer directement dans le code à l'aide du
size renderer.
Nouveaux symboles vecteurs 2D
Esri a ajouté plus de 3000 symboles de vecteurs 2D à l'intérieur du
Esri Web Style Symbols (2D). Cela inclut des symboles qui étaient déjà disponibles dans ArcGIS Online et
dans ArcGIS Pro. Vous pouvez utiliser ces symboles en référençant le nom du
style et le nom du symbole disponible en cliquant sur n'importe lequel des
symboles disponibles sur la page
Esri Web Style Symbols.
Alignement des étiquettes et ouverture des fenêtres contextuelles
Nouvelles options de placement des étiquettes le long des polylignes : Les étiquettes le long des polylignes peuvent être alignées au-dessus ou
au-dessous de la ligne. D'autres options devraient être ajoutées dans les
prochaines versions.
Ouverture de la popup lors du clic sur l'étiquette : Il est maintenant
possible d'ouvrir la fenêtre contextuelle (popup) en cliquant sur l'étiquette
d'une entité. La popup s'ouvre alors à l'endroit sur lequel l'utilisateur a
cliqué.
Visibilité des couches selon l'étendue temporelle
La nouvelle propriété
visibilityTimeExtent
permet de contrôler la visibilité des calques en fonction d'un
intervalle de temps
configuré pour tous les types de calques. Cette propriété est particulièrement
utile lorsque vous travaillez avec des couches qui ne contiennent pas
d'informations temporelles, comme les couches en mosaïque, les maillages
intégrés ou les couches graphiques.
Par exemple, en établissant une étendue temporelle fixe pour les images de
périodes particulières, les utilisateurs bénéficient d'un contexte temporel,
ce qui permet une analyse ciblée centrée sur des périodes ou des événements
spécifiques. Dans l'exemple ci-dessous, plusieurs
couches graphiques
avec une visibilité temporelle permettent à l'utilisateur de voir des
graphiques affichant des informations textuelles sur le périmètre de
l'incendie de forêt qui change en fonction de la position du curseur temporel.
Animation de la navigation dans la carte
Des améliorations significatives ont été apporté au comportement de
l'animation de la fonction
MapView.goTo(). Un nouveau style d'animation crée un mouvement en forme d'arc
qui fournit plus de contexte géographique entre deux lieux. En outre, au lieu
d'utiliser une durée fixe pour l'animation, la nouvelle expérience calcule
dynamiquement la durée idéale de l'animation de navigation en fonction de la
distance entre l'origine et la destination. La durée et les autres paramètres
de l'animation restent bien sûr modifiables.
Cette nouvelle expérience de navigation s'applique également aux widgets
Bookmarks
et
Search, ainsi que dans tout workflow impliquant une transition entre différents
lieux.
Notez les animations peuvent ne pas convenir à tout le monde, car certaines
d'entre elles peuvent gêner les personnes souffrant de troubles vestibulaires.
Pour désactiver les animations de navigation 2D MapView dans le SDK, les
utilisateurs peuvent définir l'option
prefers-reduced-motion
dans les paramètres de leur appareil ou de leur navigateur. Consultez le
guide sur l'accessibilité
pour en savoir plus sur la manière de créer des applications accessibles et de
soutenir des publics plus diversifiés.
Meilleure expérience mobile pour le widget Expand
Le widget Expand a été mis à jour pour se baser sur les composants de Calcite,
permettant une meilleure expérience pour les appareils mobiles. Par défaut, le
widget bascule de manière dynamique entre la mode "floating" et le mode
"drawer" selon la taille du navigateur. La nouvelle propriété
placement
vous permet de contrôler l'emplacement du popover lorsque le widget est
développé.
Mesure et accrochage en 2D
Mesure et accrochage en 2D
Les mesures de surface et de distance en 2D prennent désormais en charge
l'accrochage, qui est activé par défaut. Il peut être temporairement désactivé
en maintenant la touche CTRL enfoncée. Cette fonction est déjà prise en charge
dans les mesures 3D.
Amélioration de l'édition
Saisie des coordonnées et amélioration des info-bulles : Les entités
peuvent maintenant être modifiées avec précision en tapant ou en
copiant-collant des coordonnées dans une
infobulle. Ce nouveau type de saisie est disponible lors de la création et de la mise
à jour de géométries ponctuelles ou des sommets de lignes et de polygones. La
saisie de coordonnées permet également un géoréférencement précis des
bâtiments lors du téléchargement ou de l'édition de géométries de maillage.
Support des sous-types : les widgets
Editor
et
FeatureForm
supportent désormais l'édition des couches d'entités contenant des
sous-types.
L'image ci-dessus illustre la nouvelle invite qui apparaît lorsque la valeur
d'un
champ de sous-type
est modifiée. A chaque fois que le champ de est modifié, les domaines de champ
sont remplacés par les domaines de champ définis dans le nouveau sous-type.
Formatage personnalisé du texte dans le widget FeatureForm :
FeatureForm support désormais le rendu de
TextElement, ce qui permet d'ajouter du contenu personnalisé et en lecture seule au
formulaire.
Pour en savoir +
Pour en savoir +
Dans cet article, nous avons évoqué les nouveautés principales que cette
nouvelle version apporte au SDK JavaScript d'ArcGIS. Pour retrouver toutes les
nouvelles fonctionnalités et amélioration, mais aussi les corrections de bugs
et les breaking changes, je vous conseille d'aller lire les
notes de version
dans la documentation de l'API.
Notez aussi que le 8 juillet à 18h, l'équipe de développeurs de l'API sera
en
live sur Youtube
pour présenter cette mise à jour à travers différentes démonstrations.
Enfin, si vous débutez avec le SDK JavaScript d'ArcGIS, je vous invite à
consulter
cette série de tutoriels
pour le prendre en main facilement. On se retrouve bientôt dans un prochain
article !
Aucun commentaire:
Enregistrer un commentaire