Les SDKs ArcGIS Maps for Native Apps permettent aux développeurs de concevoir des applications géospatiales natives (qui s'installent sur votre poste bureautique, tablette ou smartphone). Elles proposent ainsi les nombreuses capacités SIG du système ArcGIS, en 2D et 3D, en étant connecté ou déconnecté.
La version 200.7 des ArcGIS Maps SDKs for Native Apps apporte des avancées significatives, notamment pour les workflows mobiles et terrain :
Utility Networks : amélioration de l’éditeur de géométrie avec snapping basé sur les règles de connectivité. Cela permet de guider en temps réel la création/modification d'entités tout en respectant les règles du réseau.
Entités dynamiques : possibilité d’exécuter des requêtes attributaires et spatiales à la volée (snapshot queries), sur des flux en temps réel, pour extraire des entités répondant à des critères spécifiques.
Superposition d'images 2D : extension aux vues 2D de la capacité de superposition d’images géoréférencées déjà disponible en 3D.
SDK Flutter : avancement vers la parité fonctionnelle avec ajout du support des rasters, geotriggers, navigation, gestion des identifiants et image overlays. Le toolkit Flutter est repoussé à la prochaine version.
Optimisations communes aux différents SDKs :
Support des sous-tables de sous-types dans les webmaps/mobile maps.
Navigation dans les associations réseau (containers, structures, etc.) via les formulaires et popups.
Performances 3D largement revues à la hausse.
Optimistation spécifiques à certains SDKs :
Kotlin : composants AR temps réel, légende, fonds de carte.
.NET : nouveau Calcite .NET toolkit pour UI personnalisables.
Qt : mise à jour vers Qt 6.8 LTS.
Swift : nouveau composant OfflineMapAreasView pour la gestion offline avancée.
Dépréciation du Local Server : Ses capacités son désormais pris en charge par le coeur des SDKs, son retrait est donc prévu après la version 200.8 (Q3 2025), qui sera une version LTS (Long Term Support) jusqu’en 2030.
Pour découvrir ces évolutions et d'autres non listées ici, je vous recommande la lecture de cet article de ma collègue Pauline Louis sur le blog CodeTheMap.
Comme chaque année, Esri organise deux événements importants en Californie
avec la conférence des partenaires Esri et dans la foulée le Developer
Summit nommé désormais le Developer & Technology Summit. Ce changement
de nom reflète mieux le profil des participants où l'on retrouve certes de nombreux
développeurs mais aussi beaucoup de Data Scientists, des architectes et
experts en intégration de systèmes géospatiaux.
J'avais le privilège d'être à Palm Springs la semaine dernière pour
participer à ce DEveloper & Technology Summit et je vous propose un résumé de ce qui a retenu mon attention.
Développement d'applications web
Avant de rentrer dans le développement, les équipes Esri ont montré en plénière l'intérêt de toujours envisager l'approche No Code / Low Code avant d'opter pour le développement d'une application personnalisée. Ceci se fait notamment en utilisant des configurateurs d'applications comme les ArcGIS Instant Apps, ArcGIS Experience Builder ou même simplement ArcGIS Dashboards.
Le développement d'applications personnalisée avec le SDK JavaScript ArcGIS a ensuite été présenté largement durant l'ensemble de la semaine car c'est un socle du système ArcGIS notamment pour Esri qui l'utilise pour construire toutes ses applications web. Cette dernière continue donc d'évoluer et innove pour fournir le SDK le plus riche et la plus complet du marché pour le développement d'applications web géospatiales 2D et 3D. Parmi les axes importants de ces derniers mois, Esri a souligné les évolutions relatives aux capacités avancées de mise à jour de données (formulaires intelligents, attributs reliés, géométries, utility networks, 2D et 3D). La nouvelle application ArcGIS Web Editor est d'ailleurs un excellent exemple des évolutions dans le domaine.
Autre message important lors de la plénière, Esri a rappelé les bases d'un SIG Web avec la simplicité d'usage et l'aspect central des cartes/scènes web ainsi que la puissance fonctionnelle et l'ouverture des couches d'entités ArcGIS, à travers leur API Rest/JSON pour les développeurs d'application cartographiques. Pour accélérer vos développements, Esri confirme également sa stratégie de fourniture de composants web (web components) en démontrant à plusieurs reprises ce mécanisme standardisé qui désormais remplace et complète peu à peu la notion existante de widget. Esri a illustrer cette notion avec l'ajout récemment des web components "Table" et "LinkChart" qui permettent respectivement l'affichage avancé de données tabulaires et la représentation en graphes des relations entre les entités.
Au-delà des Web Components, la conférence a été l'occasion de rappeler à quel point l'architecture du SDK JavaScript ArcGIS est moderne et en phase avec les standards et les technologies actuels du web, en implémentant des mécanismes comme les Web Socket et Fetch Streaming (Stream Layers par exemple), WebGL (Scene layers, Web Scene, ...), Workers, Web Components,...
Développement d'applications natives
En ce qui concerne le développement d'applications natives, la dynamique est également très enthousiasmante. Les SDK ArcGIS Maps for Native Apps permettent de développer des applications géospatiales simple ou au contraire extrêmement riches, quel que soit l'appareil (iOS, Android, Windows, Linux, macOS) et quel que soit le contexte (en connecté, en déconnecté, en hybride).
Pour cela, ce sont désormais 5 SDKs (.Net, Kotlin, Swift, Qt et Flutter) qui sont proposés aux développeurs. Ils intègrent les mêmes capacités puissantes et complètes pour tirer profit de toutes les capacités du système ArcGIS. Parmi les évolutions récentes, on notera les workflows de suivi de positions en temps-réel, d'affichage ultra-rapide en 2D/3D, la visualisation et l'analyse de positions et de traces, ou encore la gestion et la mise à jour de données (notamment pour les workflow de mobilité).
L'arrivée récente du SDK Flutter a été largement démontré pour les développeurs devant implémenter des applications dans les environnements Android et iOS à partir d'un seul code unique.
SIG et Game Engines
Cette année, j'ai pu suivre plusieurs ateliers consacrés à l'exploitation des moteurs de jeux (Game Engines) pour créer des applications géospatiales plus ludiques, plus réalistes et plus interactives. Que ce soit pour les apps d'AR/VR ou XR, des apps de simulation ultra-réalistes, ou simplement pour mettre en valeur les jumeaux numériques dans des environnements plus immersifs, Esri propose 2 SDKs (un pour Unity et l'autre pour Unreal) pour cela. Ils sont de plus en plus riches fonctionnellement et toujours plus intégrés à l'ensemble du système ArcGIS.
Lors de la session plénière, une démonstration intéressante a montré l'affichage d'un Jumeau Numérique à l'aide du SDK ArcGIS Maps for Unreal avec la construction d'une scène 3D consommant des couches de scènes ArcGIS (photomaillage 3D, fond de carte 3D OSM) ainsi que des couches d'élévation. L'originalité de la démonstration était de combiner également des couches d'objets 3D générées à la volée de manière procédurale (géotypique) par le SDK CityEngine for Unreal.
Dans les évolutions à venir à court-terme, Esri annonce notamment le support du format 3D Tiles, de l'exagération verticale et des systèmes de coordonnées verticaux. Cela permettra la combinaison de sources de données encore plus variées dans vos applications Unity et Unreal.
Personnalisation d'ArcGIS Pro
La plénière est revenue sur certaines bases de la personnalisation d'ArcGIS Pro rapelant qu'il existe principalement 3 niveaux de personnalisation d'ArcGIS Pro :
Le premier niveau consiste à configurer l'interface d'ArcGIS Pro pour personnaliser l'expérience de l'utilisateur, la simplifier ou la dédier à des tâches spécifiques.
Le second concerne l'usage de Python avec les librairie ArcPy pour automatiser des tâches, réaliser des scripts de géotraitement, des notebooks pour l'analyse spatiale et les tâches de GeoAI ou encore créer des boîtes à outils personnalisées. Parmi les derniers modules ArcPy ajoutés par Esri dans ArcGIS Pro, le module arcpy.rm permet désormais d'automatiser vos workflows de Reality Mapping, pour générer de manière automatisée des produits cartographiques 2D et 3D à partir d'images aériennes, de drones ou de satellites.
Le SDK ArcGIS Pro est l'outillage qui permet de personnaliser ArcGIS Pro en développant (en C# .Net) des compléments (Add-Ins) qui automatisent, personnalisent ou étendent les capacités standard d'ArcGIS Pro. Esri a annoncé deux évolutions importantes qui ont retenus mon attention. Tout d'abord, la possibilité de réalisée du déboggage interactif depuis Visual Studio Code à partir de la version 3.5 d'ArcGIS Pro. La seconde concerne l'assistant IA d'ArcGIS Pro (qui arrive en beta en version 3.5) pour créer et personnaliser ses propres agent IA.
Personnalisation d'ArcGIS Enterprise
Un sujet important évoqué tout au long de cette conférence concerne les options de personnalisation et d'extension d'ArcGIS Enterprise. En effet, la technologie serveur du système ArcGIS dispose de mécanismes puissants d'extension comme :
les CDF (Custom Data Feed) pour implémenter des sources de données spécifiques,
les Web Tools pour déployer des outils d'analyse personnalisés
les SOI/SOE pour étendre fonctionnellement les couches d'entités et les couches raster du GIS Server
les modèles de GeoAI pour exécuter des traitements basés sur des algorithme d'intelligence artificielle
les Webhooks pour déclencher des actions sur certains événements liés aux contenus et aux utilisateurs de votre portail
Dans les prochains versions d'ArcGIS Enterprise, Esri annonce l'introduction d'un nouveau mécanisme nommé "Service Interceptors". Il permet d'ajouter des logiques métiers (sécurité, intégration avec des système tiers, validation de données, enrichissement de données, ...) sur différents types de services ArcGIS Enterprise notamment les services d'entités hébergés, les services de géotraitement et les services de géocodage.
Une démonstration remarquable a été présentée autour d'une application de signalement d'incidents intégrant l'Instant App "Reporter" d'ArcGIS avec l'API de ServiceNow pour l'alimentation et le renseignement automatique d'incidents dans l'application. Dans un premier temps, les "Service Interceptors" se développeront à l'aide du SDK Java d'ArcGIS Enterprise.
Observabilité de la plateforme ArcGIS et architecture bien conçue
La présence de nombreux experts en Dev-Ops au Developer & Technology Summit fut aussi l'occasion de faire passer des messages importants sur la stratégie d'Esri en termes d'observabilité et de "Well-Architecture Framework" de la plateforme ArcGIS.
L'observabilité de la plateforme c'est la capacité des administrateurs SIG à suivre leurs portails d'organisation (utilisateurs, usages, dépendances entre contenus, crédits ...) et aux équipes IT/DSI de suivre les performances, les licences, les incidents et la sécurité de la plateforme SIG.
Pour cela, Esri a montrer en plénière et dans plusieurs ateliers techniques des exemples autour de l'utilisation des métriques UsageReport nouvellement disponibles dans l'API Rest d'ArcGIS Enterprise, de l'API Python ArcGIS et d'ArcGIS Dashboards pour collecter et représenter des métriques détaillés sur les utilisateurs et leur usage des contenus à travers le portail ArcGIS.
Coté IT, les évolutions récentes d'ArcGIS Monitor ont été largement détaillées par Esri pour montrer l'efficacité de cette solution en termes de suivi des performances et des incidents dans une architecture ArcGIS Enterprise.
Depuis plusieurs années maintenant, Esri investit énormément dans le développement de ses solutions et dans la fourniture de ressources vous permettant de concevoir des architectures SIG bien conçue (Well-Architected System) en travaillant sur les piliers suivants : fiabilité, disponbilité, observabilité, automatisation, intégration, scalabilité, extensibilité et sécurité.
Pour cela, la conception même du système ArcGIS se décompose selon des strates communes à tous les systèmes d'entreprise modernes: Apps & APIs, Services et Data
Et pour vous aidez dans l'identification de l'architecture en adéquation avec les besoins de votre SIG, un énorme travail a été réalisé par Esri sur la documentation, la description des patterns et des bonnes pratiques associées à destination des architectes systèmes de votre organisation. Cela s'est traduit par la mise en ligne il ya quelques mois du site ArcGIS Architecture Center.
Une récente mise à jour intègre de nouveaux contenus très précieux, j'y reviendrai dans un prochain article sur le blog arcOrama.
ArcGIS & IA
Comme vous pouvez l'imaginer, bien que cela ne soit pas nouveau dans ArcGIS, l'augmentation d'ArcGIS par des capacités d'IA a été un sujet d'intérêt durant toute la semaine de conférence. Esri avance rapidement sur ce thème avec une stratégie et des approches claires pour ses partenaires, ses développeurs et ses utilisateurs finaux.
GeoAI
Les outils de GeoAI sont déjà bien connues des utilisateurs ArcGIS (Data-Scientist, Développeurs), ils permettent depuis de nombreuses années de réaliser des classifications et de l'extraction de données, de créer de nouvelles données ou encore de réaliser de la prédiction à partir de données existante. Esri continue d'intégrer les algorithme les plus pertinents et d'en faciliter l'usage à travers des outils intégrés pour l'apprentissage, l'évaluation et l'inférence de ces modèles dans un contexte géospatial.
Récemment, de nouveaux modèles d'IA ont fait leur apparition avec des modèles de fondation pré-entrainés sur de l'imagerie satellitaire pour la classification ou la segmentation de l'occupation des sols. Une nouvelle génération de modèles génériques pour la segmentation d'objet ont également été ajoutés (TextSAM, GroudingDino, Zero-Shot Classification, ...). Et puis, autre innovation notable, l'arrivée de modèles de type Vision-Language comme ceux d'OpenAI ou Llama.
Pour faciliter leur usage dans ArcGIS Pro, Enterprise et Online, Esri poursuit également ses efforts de fourniture de modèles pré-entrainés, prêt à l'emploi dans ArcGIS, il y en a désormais plus 90 ! Ces Deep Learning Packages peuvent être utilisés directement sur vos données ou servir de modèle de fondation pour être ensuite spécialisés sur vos propres données (Transfer Learning). Pour les plus expérimentés en IA, on notera l'arrivée de modèles permettant d'exploiter les centaines de modèles de type "Zero-Shot Classification" ou de type "Visual Question Answering" de la plateforme Hugging Face... un énorme potentiel directement dans ArcGIS sans aucune ligne de code !
AI Assistants
L'autre approche en terme d'IA pour Esri c'est de proposer dans les applications ArcGIS des assistants qui vont aider l'utilisateurs à trouver de l'aide via les ressources en ligne, créer des cartes, effectuer des analyses, écrire du code, collecter des données, configurer des applications... Plusieurs de ces assistants sont en cours de développement et certains sont déjà en beta comme les assistants de Survey123 (présentés lors de SIG2024) ou ceux d'ArcGIS Pro (dont certains arriveront en version 3.5).
Lors de la session plénière, le futur "Assistant IA Arcade" a par exemple été démontré. Il permettra aux utilisateurs de rédiger des expressions Arcade à partir d'un simple prompt.
AI Framework
Pour moi c'est une des annonces importantes de cette conférence en ce qui concerne la vision d'Esri sur l'implémentation des capacités d'IA dans ArcGIS. Elle s'adresse aux développeurs et aux partenaires Esri qui souhaitent implémenter des capacités d'IA personnalisés (Custom AI Skills) et des expériences de Chat personnalisés en s'appuyant sur le framework IA (Données, Outils SIG, LLM et Fine-Tuned Models) mis en place par Esri. Tout cela à travers une API Rest qui sera également utilisée par les Asssitants IA en cours de développement chez Esri.
Quelques autres annonces...
Bien que cela ne soit pas l'objectif de cette semaine de conférence, Esri a tout de même confirmé certaines évolutions dans les principales solutions du système ArcGIS.
Par exemple, au-delà de l'arrivée de certains Assistants IA, la prochaine version 3.5 d'ArcGIS Pro permettra aux utilisateurs le stockage et le partage de leur projet directement sur leur portail ArcGIS Enterprise. L'application proposera en standard la connexion à de nouvelles source de données NoSQL telles que Elasticsearch et OpenSearch, aisni que le format de données GeoParquet. Elle offrira également la même expérience que sur les portail ArcGIS pour l'éditeur de métadonnées.
Pour ArcGIS Enterprise, on notera l'arrivée avant la fin de l'année de l'(application ArcGIS Data Pipeline que l'on connait déjà aujourd'hui sur ArcGIS Online. Probablement pour l'année prochaine, Esri confirme également l'arrivée de l'application ArcGIS Velocity dans ArcGIS Enterprise.
"ArcGIS for Power BI" pour analyser les différentes sources données de Microsoft Fabric sous l'angle géographique dans Power BI
"ArcGIS GeoAnalytics for Microsoft Fabric" qui permet le traitement géographique de grandes volumétrie de données de Microsoft Fabric dans l'environnement Spark intégré à Microsoft Fabric
"ArcGIS Maps for Microsoft Fabric" (non-diponible pour l'instant) il s'agira de l'application web de référence pour la visualisation des données géographiques générées dans l'environnement Microsoft Fabric.
Enfin, Esri a annoncé durant la conférence un accord avec Google pour la fourniture des tuiles photoréalistes "Google 3D Tiles" dans les applications ArcGIS. Bien que la date ne soit pas encore officielle, cette offre devrait correspondre à la sortie d'ArcGIS Pro, Online et Enterprise au début de l'été. Pour plus d'infos, se reporter à mon article sur le blog arcOrama.
Besoin de plus de détails...
Si vous souhaitez visualiser les principales séquences des sessions plénières de la conférence, elles sont publiques, vous trouverez tous les replay ici.
La nouvelle version 4.32 du SDK ArcGIS Maps for JavaScript est disponible depuis cette semaine. Comme chaque à mise à jour, l'API JavaScript introduit de nombreuses évolutions dont les plus notables sont les suivantes :
Web Components : Transition vers des composants web, avec 12 nouveaux composants et 12 widgets dépréciés.
Filtres d'affichage : Permet de filtrer les données affichées sans exclure les données sous-jacentes.
Mise en évidence multi-couleurs : Possibilité d’appliquer plusieurs couleurs de surbrillance sur une même couche.
Rendu des traces de géolocalisation (Beta) : Visualisation des suivis d’objets (véhicules, navires, avions) en 2D.
Calculs d'itinéraires améliorés : Déplacement interactif des arrêts et barrières sur la carte.
Graphes de connaissance : Intégration des Web Link Charts pour visualiser et analyser les graphes de relations.
Nouveaux modèles de mise à jour : Modèles de groupe et de préréglage pour créer des entités sur plusieurs couches.
Barre d’outils de dessin : Ajout de type de géométrie supplémentaires (cercles, rectangles, polylignes) et gestion améliorée des entités en création.
Expérience de dessin améliorée : Meilleure adaptabilité de l'outil Sketch avec redimensionnement intelligent.
Imagerie orientée : Mesure et capture de données directement dans la visionneuse d’imagerie orientée.
Utility Networks : Nouvelles fonctionnalités pour les réseaux utilitaires, notamment l’ajout/suppression d’associations.
Opérateurs géométriques : Remplacent le moteur de géométrie avec plus de 20 nouvelles capacités.
Requêtes sur attributs agrégés : Simplifie l’analyse de données volumineuses via le regroupement par intervalles.
Symbologie en dégradé : Support des dégradés pour améliorer le rendu cartographique.
La nouvelle version 4.31 du SDK ArcGIS Maps for JavaScript est disponible depuis quelques jours. Comme chaque à mise à jour, l'API JavaScript introduit de nombreuses évolutions dont les plus notables sont les suivantes :
Sauvegarde des configurations d'affichage des tables
Capacité d'export des enregistrements en CSV depuis les tables
Visualiser et mettre à jour les pièces jointes depuis les tables
Accrochage à la grille lors de l'édition en 2D
Décalage des arêtes lors de la saisie/modification de géométries en 3D
Infobulles déplaçables lors de la saisie/modification de géométries en 3D
Support des lignes et des polygones pour l'agrégation et le regroupement
Animation des symboles (en beta)
Rotation des icônes en 3D
Nouveau composant intégrable "Embeded Map"
4 Nouveaux composants cartographiques : Feature Table, Swipe, Catalog Layer List et Oriented Imagery Viewer.
Utilisation de composants non rattachées aux vues (Map ou Scene)
Capacité d'interaction entre des étendues visibles en 2D et en 3D
Les SDKs ArcGIS Maps for Native Apps sont les SDKs qui permettent de développer des applications natives (desktop ou mobile) implémentant les capacités de cartographie 2D/3D, d'analyse spatiale, de collecte et de saisie de données en connecté/déconnecté, ... en utilisant les environnements de développement .NET, Java (en phase de dépréciation), Kotlin, Qt, Swift et Flutter (en beta actuellement). Depuis quelques jours, la version 200.5 de ces SDKs ArcGIS Maps for Native Apps est disponible.
Cette version 200.5 propose de nombreuses évolutions comme la finalisation des capacités d'utilisation des Utility Networks en mode "déconnecté" en particulier sur les fonctionnalités de mise à jour et de synchronisation. On notera également des amélioration sur le support des formulaires intelligents (paramétrés dans la carte web) avec l'ajout de contrôles de type "code barre" et l'intégration des pièces jointes, une nouvelle interface améliorée pour la saisie/modification des géométries, la prise en charge des géotriggers dynamiques, l'ajout d'une API pour la modification des symboles des couches de scènes d'objets 3D... et bien plus encore...
Vous retrouverez tous les détails sur l'ensemble des nouveautés de cette version 200.5 dans cet article du blog CodeTheMap.
La nouvelle version 4.30 du SDK ArcGIS Maps for JavaScript est disponible depuis quelques jours. Comme chaque à mise à jour, l'API JavaScript introduit de nombreuses évolutions dont les plus notables sont les suivantes :
Les composants web Maps et Coding ne sont plus en beta
Accès aux enregistrements liés dans les tables
Nouvelle notion puissante de colonne personnalisée (colonne virtuelle) et notion de contenu dynamique dans les cellules dans les tables
Améliorations autour du mécanisme de sélection et de mise en surbrillance des enregistrements/entités d'une couche/table
Nouveau type d'analyse 3D interactive pour le calcul de champs de vision
Nouvelles options pour la gestion de l'orientation des étiquettes dans. les couches de tuiles vectorielles
Support des données temporelles dans les scènes 3D
Export des photomaillages 3D (3D Meshes) vers le format glTF
Support des couches d'imagerie orientée en 3D
Support des couches multimédia en 3D
Support des couches de catalogue en 3D
Nouvelle options de positionnement d'étiquettes sur les couches de lignes
Nouveau thème permettant d'afficher une taille de symbole de référence pour les styles de rendu par points proportionnels
Afin de rationaliser et de simplifier son offre à destination des développeurs, Esri a annoncé lors du Developer Summit en mars dernier la dépréciation des abonnements ArcGIS Developer Subscription, et la mise en place d'une nouvelle offre. Pour bien comprendre cette nouvelle offre et la migration vers les nouvelles options proposée par Esri aux différents profils, ma collègue Pauline Louis vient de publier cet article de synthèse et de FAQ sur le blog CodeTheMap.
Vous y retrouverez les informations sur ce que signifie cette évolution de l'offre et la dépréciation d'ArcGIS Developer Subscription, sur les dates clés à retenir, sur les alternatives qui s'offriront à vous, sur la transition vers la nouvelle offre développeurs, et sur divers questionnements que cela peut soulever.