Le blog francophone consacré
aux technologies Esri

Les SDKs ArcGIS Maps for Native Apps passent en version 200.1


Depuis quelques jours, la première mise à jour de la génération 200.x des SDK ArcGIS Maps for Native Apps (anciennement ArcGIS Runtime) est disponible. La version 200.1 présente de nouvelles fonctionnalités intéressantes sur lesquelles Esri travaillait depuis un certain temps, ainsi que la fin de la phase beta des 2 nouveaux SDK Swift et Kotlin qui peuvent désormais être utilisés en production.


Prise en charge des données temps réel

L'une des fonctionnalités les plus demandées récemment pour les SDKs ArcGIS Maps for Native Maps est probablement d'aller plus loin dans l'accès aux services de données temps réel (streaming services). Des données dynamiques et rapidement mises à jour permettent de créer de toutes nouveaux types d'applications clientes pour des cas d'usage comme le suivi des vols, la coordination des interventions d'urgence ou la surveillance des conditions météorologiques, pour n'en citer que quelques-unes.

Esri souhaitait fournir ce support depuis un certain temps maintenant, et si vous avez regardé la plénière du Developer Summit 2023 ou assisté à l'une des récentes conférences d'Esri, vous aurez eu un aperçu de cela. 

Ce qui est proposé n'est pas la prise en charge classique d'une couche de flux le support de données fournies en continu en reflétant la façon dont les objets du monde réel changent à la fois dans l'espace et dans le temps. Tout comme les SDKs ont toujours été plus que de simples librairies de visualisation d'informations, Esri a également veillé à ce que les données diffusées en continu puissent réagir aux interactions habituelles des utilisateurs avec la carte mais qu'elles puissent aussi répondre aux questions impliquant des analyses spatiales avec d'autres entités de cette carte.

Entités dynamiques

La notion d'entité dynamique (Dynamic Entity) répond à ces deux enjeux avec un nouvel ensemble puissant d'API et de fonctionnalités permettant de travailler avec des flux de données en continu.
Entités dynamiques pilotant à la fois un affichage de carte 2D et un diagramme

Une entité dynamique est plus qu'une simple entité ponctuelle lue à partir d'un flux. Elle représente un objet du monde réel sur une période de temps, y compris les observations actuelles ou historiques, et les SDKs ArcGIS Maps for Native Maps peuvent en gérer des dizaines, voire des centaines de milliers à la fois. De plus, une entité dynamique ne sert pas seulement à suivre des équipements en mouvement comme une flotte de bus ; il peut représenter une palette de flux de données comme des capteurs fixes ou des événements ponctuels.

Certains éléments clés des nouvelles capacités d'entités dynamiques sont :

  • Connexion à des flux de données.
  • Affichage des données en continu avec la nouvelle couche "Dynamic Entity", en 2D et en 3D.
  • Répondre aux événements pilotés par les données lorsque les mises à jour des données sont diffusées.
  • Performant et évolutif, sur une gamme d'appareils.

Dans sa forme la plus simple, vous pouvez commencer par créer une source de données d'entités dynamiques puis une couche d'entités dynamiques et enfin ajouter cette couche à votre carte ou scène. La couche d'entités dynamiques se connecte à sa source de données et se charge de récupérer et d'afficher les observations d'entité dynamique actuelles et historiques qui composent l'entité dynamique elle-même.

Comme avec n'importe quel service d'entités, vous spécifiez comment l'entité dynamique et ses observations sont affichées en définissant des moteurs de rendu, et vous pouvez lier visuellement les observations d'une entité dynamique avec une ligne de suivi. En plus de prendre en charge les moteurs de rendu, les couches d'entités dynamiques prennent en charge l'étiquetage, l'identification, la sélection et les légendes, et fonctionne à la fois en 2D et en 3D.

Mais vous pouvez faire beaucoup plus. Vous pouvez filtrer les données reçues de la source de données de diffusion en continu et des règles de purge sophistiquées vous permettront de contrôler à tout moment la quantité de données historiques mises en cache localement dans votre application.

Votre application peut répondre aux événements pour savoir quand de nouvelles observations arrivent ou sont purgées, ou quand de nouvelles entités dynamiques sont détectées, ou quand d'anciennes entités dynamiques ont été entièrement purgées. Vous pouvez même écouter des événements sur des entités dynamiques individuelles pour vous concentrer sur les modifications apportées à des objets particuliers du monde réel.


Entités dynamiques en 3D

Comme les autres types de couche, les couches d'entités dynamiques permettent un affichage dans une scène 3D en bénéficient des options de rendu inhérente à la visualisation en 3D (symboles 3D, hauteur, décalage par rapport au sol, ...). 


Cette première version des entités dynamiques peut se connecter aux services de flux ArcGIS (c'est-à-dire les flux provenant d'ArcGIS Velocity ou d'ArcGIS GeoEvent Server). Les prochaines versions ajouteront la prise en charge de sources supplémentaires, y compris les flux de données personnalisés.

Ces fonctionnalités sont déjà très innovantes pour le développement de vos applications natives mais ce n'est que le début de ce que nous avons prévu pour les couches d'entités dynamiques.

Pour plus d'informations, consultez cet excellent article de blog (en anglais), ainsi que la documentation sur les entités dynamiques pour .NET, Swift, Java et Qt (le SDK Kotlin ajoutera la notion d'entités dynamiques dans une prochaine version).


Réseaux de distribution (Utility Networks)

Esri continue également à développer des capacités autour des réseaux de distribution, en ajoutant de nouvelles options de configuration de trace ainsi que la prise en charge, en mode déconnecté, de l'isolation et des calculs de tracés de sous-réseau sur des réseaux hiérarchiques.


Esri continue à travailler sur d'autres fonctionnalités clés des réseaux de distribution, en mode déconnecté, qui seront déployées au cours des prochaines versions.


Cartographie Indoor

La localisation indoors (via un IPS) comprend désormais un ID de niveau, un point clé pour intégrer votre localisation avec des cartes filtrables par étage (floor aware maps), permettant aux composants de localisation, de carte et de sélecteur d'étage de fonctionner ensemble de manière transparente en fonction de l'emplacement de l'utilisateur dans les bâtiments.


Esri a également amélioré les algorithmes de capture des trajectoires de la source de données de localisation intérieure (IPS) pour une expérience de localisation plus fluide et plus précise.


Rendu des arrêtes en 3D

Le rendu des arrêtes est une option utile pour la visualisation 3D lorsqu'il s'agit de couches de scène d'objet 3D non texturés. Les scènes web et les clients web le prennent en charge depuis un certain temps, et Esri étend cette prise en charge ajoutée dans la version 200.0 en ajoutant désormais cette option de rendu des arrêtes en 3D sur iOS.



Éditeur de géométrie

L'objet "Geometry Editor" a été introduit avec la version 200.0 du SDK Swift. Il a été conçu pour succéder à "Sketch Editor" et introduit une nouvelle méthodologie de sélection de sommets, de limites et de plusieurs parties de la géométrie ainsi qu'un contrôle plus fin de l'expérience d'édition. Il ouvre la voie à des capacités d'édition de géométrie améliorées que nous avons prévues pour les futures versions.

Éditeur de géométrie avec ligne en plusieurs parties et dessin à main levée


"Geometry Editor" est désormais disponible pour une utilisation dans les SDKs Swift, Kotlin, Java et Qt (.NET le suivra dans une future version). On notera que "Sketch Editor" continuera d'être disponible pour les SDKs Java, Qt et .NET pendant un certain temps encore, à mesure qu'Esri développera les capacités de "Geometry Editor".


Autres améliorations

  • Vous pouvez désormais accéder aux résultats du filtre du voisin le plus proche lors du traçage d'un réseau de distribution connecté.
  • Vous interrogez et inspectez les règles sur des réseaux de distribution.
  • Un manuel complet est maintenant disponible pour la définition des propriétés d'étiquetage.
  • Améliorations sur le tuilage d'entités

Comme c'est toujours le cas, nous avons également été occupés à corriger des bogues et à nous assurer que nos bibliothèques tierces sont à jour.


SDKs Swift et Kotlin

En plus de toutes ces nouvelles fonctionnalités et corrections de bogues, la version 200.1 marque la première version de production du nouveau SDK ArcGIS Maps pour Swift et ArcGIS Maps SDK pour Kotlin. Sortis en version beta en version 200.0, ces deux SDK rejoignent désormais les SDK .NET, Java et Qt en tant que SDK entièrement pris en charge et prêts pour la production.

Nous avons profité de l'occasion pour écouter les commentaires externes et internes au cours de la version bêta 200.0 et Esri a apporté plusieurs améliorations aux SDK Swift et Kotlin, afin qu'ils soient encore plus naturels à utiliser pour les développeurs Swift et Kotlin. Si vous avez utilisé les SDKs beta, une liste de ces modifications est disponible dans les notes de publication de chacun des deux SDKs. Et si ce n'est pas le cas parce que vous attendiez les sorties de production, c'est le moment de vous lancer !

La version 200.1 des SDK ArcGIS Maps pour les applications natives continue de s'appuyer sur les bases de la version 200.0 et d'importants efforts de la part des équipes chez Esri ont permis en quelques mois de fournir une version de production pour le développement Swift et Kotlin. Pour aller plus loin sur les nouveautés d'ArcGIS Maps for Native Apps, vous pouvez consulter les notes de publication pour .NET, Java, Qt, Swift et Kotlin.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: