Rechercher dans le blog

Les nouveautés ArcGIS Runtime 100.12

Bonjour, aujourd'hui je vais vous présenter la nouvelle version 100.12 du SDK ArcGIS Runtime sortie la semaine dernière. La mise à jour 12 propose une toute nouvelle API Geotriggers, une API pour travailler avec de vraies courbes et une multitude d'améliorations et de raffinements à tous les niveaux. 

Geotriggers

Cette version introduit la première version des Geotriggers. Les geotriggers offrent un moyen simple et puissant de surveiller l'emplacement de votre appareil et de vous alerter lorsque votre appareil entre ou quitte une zone géographique (parfois appelée geofencing). Les geotriggers vous permettent d'avertir les clients lorsque les livraisons sont sur le point d'arriver, d'avertir les chauffeurs lorsqu'ils sont entrés dans une zone réglementée, d'avertir des alertes météo imminentes, et bien plus encore.

Pour créer un Geotrigger, vous spécifiez 3 composants :

- Un ensemble de fences à surveiller.
- Un « flux » de mises à jour de localisation.
- Un type de règle (par exemple, l'emplacement entre ou quitte une clôture).
Vous créez ensuite un Geotrigger Monitor, vous vous asseyez et attendez les événements.

Dans cette première version, le flux de mises à jour de localisation peut être n'importe quelle source de données de localisation Runtime, permettant aux Geotriggers d'agir sur la localisation actuelle d'un appareil, un périphérique NMEA, la lecture simulée d'un fichier GPX, ou même votre propre source de données de localisation personnalisée.

Les fences peuvent provenir d'une table d'entités (en ligne ou hors ligne, éventuellement filtrées à l'aide d'une clause where et/ou d'une zone d'intérêt), d'une superposition graphique ou peuvent être une caractéristique ou un graphique individuel.

Il y a quelques fonctionnalités vraiment intéressantes incluses avec Geotriggers qui méritent d'être connues :

- Vous pouvez spécifier un tampon pour les fences. Ceci est requis lorsque les fences sont des points ou des polylignes, mais peut également être utilisé avec des polygones.
- Si vous utilisez des graphiques pour les fences (soit en tant que graphique unique ou en superposition de graphiques), toute mise à jour d'un graphique sera automatiquement prise en compte par le moniteur Geotrigger. C'est idéal pour surveiller votre emplacement par rapport aux données changeant dynamiquement (par exemple, les buffers autour des récents éclairs ou ce camion à tacos qui circule dans votre quartier). Et si vous utilisez une superposition graphique, les Geotriggers le remarqueront même lorsque vous ajoutez ou supprimez des graphiques.
- Vous pouvez spécifier une expression d'arcade pour le message qui est délivré lorsqu'un événement Geotrigger se déclenche afin que vous puissiez lire les attributs de la fence ou de l'entité déclenchante et les inclure dans le message d'événement. Cela signifie que vous pouvez vraiment découpler le code écoutant les événements Geotrigger des données qui les sous-tendent.
- Étant donné que les fences ne sont que des géométries Runtime standard, vous obtenez automatiquement la prise en charge des géométries en plusieurs parties.
- Geotriggers utilise l'indexation spatiale et diverses autres optimisations pour offrir d'excellentes performances. Cela signifie que nous pouvons confortablement prendre en charge des dizaines de milliers de barrières géographiques sur un appareil mobile (bien que pour le bien de votre batterie, il soit recommandé d'utiliser aussi peu de barrières géographiques que votre application doit réellement surveiller).
- Bien que les fences proviennent d'entités ou de graphiques, elles n'ont pas besoin de faire partie d'une carte ou d'une vue cartographique. C'est à vous de décider si vous affichez les fences.

Geotriggers fournit une API simple, se connecte aux tableaux d'entités et aux superpositions graphiques (y compris la gestion automatique des graphiques en mouvement) et offre des avantages en termes de performances qu'il aurait été difficile de coder vous-même. Même si vous avez déjà construit une solution de geofencing avec Runtime, jetez un œil à Geotriggers pour voir si cela peut aider à réduire la maintenance de votre code.

Vraies courbes

Runtime a toujours pris en charge les vraies courbes, mais il nécessitait une densification de la géométrie et était limité à la visualisation uniquement.

En 100.11, Esri a introduit la possibilité d'identifier, d'interroger et de sélectionner des entités avec de vraies courbes dans des couches d'entités, fournies dans des packages de cartes mobiles créés dans ArcGIS Pro. La prise en charge des vraies courbes dans le moteur géométrique est améliorée.

Maintenant, en 100.12, des API pour créer et modifier des géométries contenant de vraies courbes a été ajouté ainsi que la possibilité de travailler avec de vraies courbes dans les services d'entités ArcGIS Enterprise.



Runtime prend en charge à la fois les arcs elliptiques et les courbes cubiques de Bézier. Geometry Builders peut désormais ajouter et modifier des segments courbes. Notez que les éditeurs d'esquisse ne prennent pas encore en charge l'édition de courbes, mais si vous avez construit votre propre expérience d'édition de géométrie à l'aide de générateurs de géométrie, vous pouvez désormais intégrer une véritable édition de courbe.

Clients de la vraie courbe

Pour aider à maintenir l'intégrité des données lors de la modification de courbes réelles à partir des services d'entités ArcGIS Enterprise, l'API inclut également une propriété déclarant le niveau de prise en charge fourni par votre application Runtime :

- Densifier les courbes : l'application n'a pas besoin de fonctionner avec de vraies courbes. Des versions densifiées de segments de géométrie de courbe réelle seront renvoyées. C'est la valeur par défaut, et c'était le comportement jusqu'à présent.
- Fetch Curves : L'application récupérera et affichera les vraies courbes, mais ne garantit pas qu'elle fonctionnera pour maintenir ces courbes si elles sont modifiées. Cela peut réduire le trafic réseau lors de l'affichage de véritables géométries de courbe.
- Client True Curve : l'application récupérera et affichera les vraies courbes et a été mise à jour pour modifier les vraies courbes.

L'éditeur d'un service d'entités dans ArcGIS Enterprise (10.6 ou version ultérieure) peut spécifier que seuls les « clients de vraies courbes » doivent être autorisés à modifier la géométrie contenant de vraies courbes. Si le service est configuré de cette façon, Runtime exigera qu'une application se déclare comme un véritable client Curves avant de pouvoir modifier les données de ce service. Remarque : si votre application se déclare être un véritable client de courbe, il vous appartient toujours de vous assurer que tout code d'édition de géométrie est mis à jour pour utiliser les nouvelles API de création de géométrie de courbe réelle.

Les vraies courbes des services ne sont prises en charge que dans les workflows en ligne avec ArcGIS Enterprise. Esri vise à améliorer la prise en charge des vraies courbes dans les futures versions, y compris les flux de travail hors ligne et la prise en charge de l'éditeur de croquis.

Géodatabases mobiles

100.12 introduit la prise en charge des géodatabases mobiles créées dans ArcGIS Pro (2.7 ou version ultérieure). Ces géodatabases mobiles prennent en charge à la fois l'affichage et la mise à jour, et permettent de nouveaux workflows de mise à jour hors ligne qui ne nécessitent pas de service d'entités. Vous pouvez afficher des géodatabases mobiles avec une licence Lite Runtime, et la modification nécessite une licence de base.

Contrairement aux géodatabases générées et téléchargées à partir d'un service d'entités, celles-ci ne contiennent pas de métadonnées d'élément de service. Cela signifie que, comme si vous travailliez avec des GeoPackages ou des fichiers de formes, vous configurez la symbologie et les fenêtres contextuelles lors de l'ajout des données à une carte.

Cartes au sol

Les cartes Web au sol sont publiées par ArcGIS Pro 2.8 à l'aide du modèle d'information ArcGIS Indoor. Runtime 100.12 introduit la prise en charge de l'utilisation de ces cartes. Si une carte prend en compte les étages, vous pouvez contrôler quel étage est visible à l'aide du gestionnaire d'étages de la carte. Les prochaines versions prendront en charge les scènes 3D prenant en compte le sol et l'empaquetage de cartes prenant en compte le sol dans des packages de cartes mobiles.

Abandon du Locator

De nouveaux Locator ont été introduits avec ArcGIS Pro 2.3 via l'outil Créer un localisateur et pris en charge à partir d'ArcGIS Runtime 100.5. Ces localisateurs se composent d'un fichier *.loc et *.loz qui sont plus petits, plus rapides, plus faciles à entretenir et offrent une cohérence à travers le système ArcGIS. Comme mentionné précédemment, Runtime 100.11 était la dernière version à prendre en charge les localisateurs de géocodage classiques (qui n'incluent pas de fichier *.loz) et ils ne fonctionneront pas avec 100.12. 

Remarque : cela ne concerne que l'utilisation des localisateurs locaux - il n'y a aucun changement dans la prise en charge de Runtime pour les services de géocodage ArcGIS.

Autres améliorations

- Sélectionnez et contrôlez la visibilité des entités d'annotation individuelles dans une couche d'annotations, ainsi que la définition d'une expression de définition sur la couche.
- Les réseaux de services publics respectent la sémantique de « restriction » de suppression d'association.
- Étiquetage côté client des couches de scènes ponctuelles en fonction des informations d'étiquetage configurées.
- Prise en charge de bureau pour les versions 1.7 et 1.8 de la couche de scène 3D indexée (I3S), améliorant le rendu, l'utilisation de la mémoire et l'utilisation du processeur, et réduisant les demandes réseau sur Linux, macOS et Windows. Le support mobile sera disponible dans une future version de Runtime.
- Prise en charge de la nouvelle fonctionnalité Arcade 1.14, ainsi que de la fonctionnalité 1.13 pour lire les domaines et les schémas de table à partir d'une fonctionnalité.
- Prise en charge des classes de symboles basées sur l'échelle et des améliorations des styles de dictionnaire militaire basés sur Arcade.
- Local Server est mis à jour pour prendre en charge le géotraitement et les packages de cartes créés avec ArcGIS Pro 2.8.

Pour plus de détails sur toutes ces nouvelles fonctionnalités et améliorations, consultez les notes de version pour Android, iOS, Qt, .NET et Java.

Téléchargez et commencez

Pour obtenir 100.12, accédez au site Web ArcGIS Developers, accédez à la page ArcGIS Runtime SDK de votre choix et téléchargez le SDK. Vous pouvez également référencer le SDK via NuGet, Gradle, Swift Package Manager ou CocoaPods. Si vous débutez dans le développement avec ArcGIS Runtime et que vous n'avez pas d'abonnement ArcGIS Developer, créez simplement un compte gratuit et vous pourrez accéder à tout ce dont vous avez besoin pour développer votre application.

Vous pouvez vous abonner à ce blog pour lire d'autres articles sur le développement Web d'applications cartographiques et découvrir comment l'ArcGIS API JavaScript est une superbe alternative à Google Maps ! Vous voulez vous aussi réaliser des applications Web cartographiques et dynamiques ? N'hésitez pas à souscrire à un plan gratuit ArcGIS for Developers pour développer vos propres applications cartographiques 2D ou 3D ! Cet article résume ce que vous obtiendrez. Et pour en savoir sur l'API c'est ici.

Aucun commentaire:

Enregistrer un commentaire