Le blog francophone consacré
aux technologies Esri

Les SDKs ArcGIS Runtime passent en version 100.2

Il y a un an, Esri annonçait la sortie de la nouvelle génération 100.x des SDKs ArcGIS Runtime. Pour mémoire, les SDKs ArcGIS runtime permettent de développer des applications SIG natives (hors d'un navigateur web), en 2D/3D, connectées et/ou non-connectée à la plateforme ArcGIS, pouvant s'exécuter sur les OS suivants: Windows, Linux, MacOS, Android ou iOS. 

Basés sur un socle technologique commun, ces SDKs permettent de développer des applications totalement intégrées à la plateforme ArcGIS en utilisant les environnements de développement suivants: C++, Java, .Net, QT/QML, iOS (Swift ou Objective-C), Android (Java) et MacOS (Swift ou Objective-C).


En juin dernier, une première mise à jour majeure était proposée aux développeurs avec la version 100.1.0 (voir les détails ici). Depuis quelques jours, une seconde mise à jour majeure 100.2.0 est disponible et téléchargeable depuis le site développeurs ArcGIS. Il s'agit d'une version importante qui, d'une part, fournit une quasi-équivalence avec les anciennes versions 10.2.x des SDKs ArcGIS Runtime et, d'autre part, comble les principales différences fonctionnelles avec l'ancien SDK ArcGIS Engine (ArcObjects). C'est donc le moment idéal pour migrer vos anciennes applications Runtime ou Engine vers la nouvelle plateforme ArcGIS Runtime.

De nombreuses nouveautés ont été introduites dans cette seconde mise à jour comme par exemple le support de nouveaux types de couches et sources de données, de nouveaux outils d'analyse, des améliorations sur les rendus 2D et 3D, un meilleur support des transformations géographiques standards et personnalisées, ...
  
  
Nouveaux type de couche

Le support des couches OGC continue de s'améliorer avec un support des couches WMS compatible avec les services OGC-WMS 1.3, et ceci en 2D et en 3D. Le support de WMS 1.3 comprend l'affichage des couches, l'identification des entités et la génération de légendes. Les autres versions plus anciennes de WMS seront supportées dans le futur. 


Un nouveau type de couche "ENC Layer" (pour Electronic Navigational Charts) a été ajouté pour supporter les sources de données au format S-57. Les SDKs ArcGIS Runtime suivent les spécifications 4.0 des librairies de présentation S-52 pour le rendu des entités.  



Nouveaux formats de données supportés

La lecture directe de fichiers de formes (Shapefiles) est désormais supportée. Ils peuvent être affichés dans des cartes (2D) ou dans des scènes (3D). Vous pouvez également mettre à jour les données spatiales et attributaires de ces couches.

ArcGIS Runtime 100.2 supporte dorénavant le format OGC GeoPackage. Il peut être ajouté dans des cartes ou dans des scènes en tant que couche d'entités ou en tant que couche raster (selon le contenu du GeoPackage). Vous pouvez également mettre à jour les données spatiales et attributaires de ces couches.


Améliorations du rendu des couches

Les couches d'entités peuvent maintenant être rendu en mode Dynamic en complément du mode Static comme les couches d'éléments graphiques. Le rendu en mode Dynamic améliore l'apparence et l'interactivité durant la navigation sur la carte ou la scène. Par défaut, les couches de points sont rendues en mode Dynamic et leur symbole reste aligné avec l'écran en 2D et sont affiché en "Billboard" en 3D. Pour les couches de lignes ou de polygones, elles sont rendues par défaut en mode Static mais vous pouvez les afficher en mode Dynamic pour des comportements 3D comme l'extrusion des entités selon un attribut ou encore pour les placer à la volée sur une surface (MNT par exemple). 

Les performances d'affichage des éléments graphiques a également été amélioré pour permettre la mise à jour d'un grand volume d'éléments. Ces performances peuvent aller jusqu'à 2x celles de la version précédentes.

Cette version 100.2 introduit également le support des symboles multi-couches pour vous permettre de construire des cartographies plus évoluées. Pour l'instant, ces symboles ne peuvent être cosntruit dynamiquement par le code, ils doivent être préparés dans ArcGIS Pro puis déployés en tant que service d'entités, Mobile Map Package, et fichier de style mobile pour être utilisé dans votre application ArcGIS Runtime. Dans les versions futures, le développeur pourra générer à travers l'application ces symboles complexes.


Analyse spatiale

Avec la nouvelle API d'analyse des scènes, vous pouvez réaliser des analyses sur les données 3D présentes dans la scène puis visualiser le résultat à la volée dans cette même scène. Dans cette version il s'agit d'analyse de visibilité: Viewshed (Champ de visibilité) et Line of Sight (Ligne de visibilité). 




Transformations et Systèmes de coordonnées

Les transformations géographiques (changement de référence géodésique) peuvent désormais être découvertes, définie et utilisées dans la fonction "project" de la classe du geometry engine.


Cartes en mode déconnecté

Cette version d'ArcGIs Runtime améliore les workflows d'extraction de données "on-demand" pour l'export et le téléchargement depuis les services de tuiles vectorielles d'ArcGIS Online ou d'ArcGIS Enterprise. Le développeur peut utiliser le style par défaut de la couche de tuiles vectorielles ou télécharger puis appliquer un style présent sur le portail ArcGIS. 


Cette version 100.2 propose un nouveau workflow pour extraire les cartes et les utiliser en mode déconnecté. Il s'agit de télécharger des extraits précalculés par l'auteur de la carte et disponibles sur le portail ArcGIS. Ce workflow "preplanned" permet de préparer des extrait de carte sur des zones prédéfinies pour simplifier la récupération de ces cartes sur l'appareil mobile. Comme pour le workflow "on-demand", ce nouveau workflow permet aussi la synchronisation des données de manière bi-directionnelle dès lors que l'application se reconnecte au portail ArcGIS.


Traduction des messages issues du calcul d'itinéraires

Désormais, les messages retournés par les tâches Route et Closest Facility sont disponibles dans 10 langues dont le français. De plus, les messages d'erreurs retournés par les tâche Route, Service Area, et Closest Facility sont également retournées dans les différentes langues supportées par ArcGIS Runtime.  A noter que pour les DSKs Java et Android ce support multi-langue sera introduit dans la prochaine version majeure.
 
 
Mises à jour transactionnelles

La mise à jour transactionnelles sur les tables des géodatabases est maintenant supportée. Ceci permet à l'application de réaliser plusieurs opération de mise à jour sur des données et de faire un "commit" uniquement lorsque vous le souhaitez et l'ensemble de ces opérations et de gérer si nécessaire des "rollback" sur ces opérations. Les transactions imbriquées ne sont pas pour l'instant supportées. A noter que pour le SDK Qt, cette évolution n'arrivera que dans la prochaine version majeure.
  


Support de la dimension temporelle

Vous pouvez dorénavant appliquer un filtre temporel sur les objet MapView et SceneView pour réduire l'affichage des entités à la période de temps souhaitée (pour les couches ayant une dimension temporelle). Le support de la dimension temporelle concerne les couches d'entités, les couches de carte et les couches raster. A noter que Qt, Java et Android ce support de la dimension temporelle sera introduit dans la prochaine version majeure.

 
 
Autre évolution

La documentation de chaque SDK ArcGIS Runtime contient désormais un guide qui détaille les niveaux de licence (Basic ou Standard) nécessaires pour chaque classe de l'API.
 


Migrer son application vers ArcGIS Runtime 100.2

Une rubrique dédiée de l'aide en ligne (dans la partie "Get Started") vous guide dans la planification de votre migration de 100.0/100.1 vers cette nouvelle version.


Télécharger les SDKs ArcGIS Runtime

Pour télécharger la version 100.2.0, rendez-vous sur le site développeur ArcGIS puis choisissez le SDK correspondant à votre environnement de développement. Vous pouvez également utiliser les plateformes Nuget, Gradle, ou CocoaPods.


Pour plus de détails sur les évolutions spécifiques à chaque SDK, vous pourrez consulter les pages "Release Notes" pour Android, Qt, .NET, Java, iOS et macOS.
  





Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: