"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