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.