Le blog francophone consacré
aux technologies Esri

Esri annonce le support des services géospatiaux ArcGIS dans CesiumJS


Après le support des environnements Leaflet, MapLibre et OpenLayers, Esri annonce le support de la bibliothèque open source CesiumJS pour la création d'applications avec les services géospatiaux ArcGIS. Cela signifie que vous pouvez utiliser le moteur de rendu 3D de CesiumJS avec des services ArcGIS pour créer des applications qui accèdent aux fonds de carte ArcGIS, affichent les données 2D/3D (via ArcGIS Platform, ArcGIS Online ou ArcGIS Enterprise) et qui effectuent des tâches de géocodage, de calcul d'itinéraire, de géo-enrichissement et des analyses spatiales. 

La bibliothèque CesiumJS d'Esri a été mise à jour pour permettre un accès plus facile à tous les services ArcGIS, et un nouveau guide développeur CesiumJS a été mis en ligne sur le site web des développeurs ArcGIS.


Ce nouveau guide du site développeur ArcGIS comprend 20 didacticiels qui illustrent comment intégrer es services ArcGIS dans une application CesiumJS. Il couvre les prestations suivantes :


Je vous propose de poursuivre cet article si vous voulez en savoir plus sur les différents types d'applications que vous pouvez créer.


Pour démarrer...

Pour commencer à développer avec CesiumJS et les services géospatiaux ArcGIS, vous avez besoin d'un compte ArcGIS Developer ou d'un compte ArcGIS Online. On notera qu'il est possible de commencer avec un compte ArcGIS Developer gratuit pour obtenir un accès complet aux services géospatiaux ArcGIS (mais avec des limites d'usage).

Vous aurez également besoin d'un compte Cesium ion pour développer et déployer votre application. Pour créer un compte, rendez-vous sur ion.cesium.com.

Couches de fond de carte d'imagerie et altimétrie ArcGIS affichées dans CesiumJS

La bibliothèque CesiumJS dispose désormais de nouvelles classes pour accéder aux couches de base ArcGIS, notamment les styles World Imagery, World Oceans et World Hillshade. Vous pouvez accéder à ces couches sous forme de tuiles d'image dans votre application avec la classe ArcGisMapServerImageryProvider. Vous aurez besoin d'un token d'accès ArcGIS pour accéder à ces couches.

Voici un exemple d'ajout d'une couche de base ArcGIS à votre application CesiumJS :
const cesiumAccessToken = "YOUR_CESIUM_ACCESS_TOKEN"; 
Cesium.Ion.defaultAccessToken = cesiumAccessToken;
const apiKey = "YOUR_ARCGIS_API_KEY"; 
Cesium.ArcGisMapService.defaultAccessToken = apiKey; 
const arcgisImagery = Cesium.ArcGisMapServerImageryProvider.fromBasemapType(Cesium.ArcGisBaseMapType.SATELLITE); 
const viewer = new Cesium.Viewer("cesiumContainer", { baseLayer: Cesium.ImageryLayer.fromProviderAsync(arcGisImagery) });
Vous pouvez également charger des couches de base ArcGIS dans votre application directement via le BaseLayerPicker par défaut. Pour charger des couches de cette manière, vous devez remplacer le jeton d'accès par défaut inclus avec CesiumJS :
Cesium.ArcGisMapService.defaultAccessToken = "YOUR_ARCGIS_API_KEY";
Pour en savoir plus sur l'utilisation des couches de base ArcGIS avec CesiumJS, vous pourrez consulter le didacticiel Afficher une scène dans le nouveau guide CesiumJS.


Afficher les données hébergées ArcGIS dans CesiumJS

CesiumJS peut également afficher des couches de données hébergées dans ArcGIS, y compris des couches d'entités 2D et des données 3D I3S. Pour accéder aux entités de votre application, vous pouvez interroger les services d'entités hébergés dans ArcGIS pour afficher des points, des polylignes et des polygones avec la classe GeoJsonDataSource.

Exemple de couches d'entités hébergées que l'on affiche avec un style personnalisé dans CesiumJS. 
Les entités représentent des parcs, des sentiers et des points de départ dans les montagnes de Santa Monica.

Voici un exemple d'ajout d'entités à partir d'un service d'entités hébergé :
arcgisRest.queryFeatures({ url: featureServiceURL, authentication, f:"geojson"})
.then((response) => { const data = Cesium.GeoJsonDataSource.load(response) 
viewer.dataSources.add(data); })
Pour plus de détails sur l'ajout de couches d'entités, vous pourrez consulter le didacticiel Ajouter des couches d'entités en tant que GeoJSON.

Une couche de photomaillage 3D (Textured Mesh) affichée dans CesiumJS. 
Le photomaillage représente la ville de Francfort, y compris les bâtiments, les rues et les arbres.

Vous pouvez également afficher les données I3S hébergées dans vos applications CesiumJS à l'aide de la classe I3SDataProvider. CesiumJS prend actuellement en charge les couches d'objets 3D et les couches de maillage intégrées qui adhèrent au standard OGC I3S.

Voici un exemple d'ajout de données I3S hébergées à votre application CesiumJS :
const frankfurtMesh = "https://tiles.arcgis.com/tiles/cFEFS0EWrhfDeVw9/arcgis/rest/services/
Buildings_Frankfurt_2021/SceneServer";
const i3sProvider = await Cesium.I3SDataProvider.fromUrl(frankfurtMesh, 
{ geoidTiledTerrainProvider: geoidService, token: apiKey }) 
viewer.scene.primitives.add(i3sProvider);
Pour plus de détails sur la façon d'ajouter des données I3S, consultez le tutoriel Ajouter un maillage intégré.

Exemple de calcul d'itinéraire routier et des directions visualisées dans CesiumJS. 
L'itinéraire et les directions ont été calculés à l'aide du service ArcGIS


Vous pouvez également utiliser CesiumJS pour afficher les résultats d'autres services de localisation ArcGIS prêts à l'emploi. Ces services comprennent le service de géocodage, le service de calcul d'itinéraire, le service Géo-enrichissement et le service d'analyse spatiale.

Les capacités 3D de CesiumJS facilitent la visualisation des résultats de service de manière unique. Par exemple, l'image suivante montre les résultats d'une opération d'analyse spatiale visualisée dans CesiumJS.

Résultats d'une analyse des points chauds ArcGIS visualisés à l'aide de CesiumJS.

Cette analyse des points chauds a été réalisée avec le service d'analyse spatiale d'ArcGIS Online, puis les résultats ont été visualisés et extrudés à l'aide de CesiumJS. Les capacités de modélisation de CesiumJS permettent un rendu puissant des données en 3D, qui permet immédiatement de voir où se trouvent les points chauds et froids dans les données. Le nouveau didacticiel Effectuer une analyse d'entités comprend des étapes détaillées sur la façon d'effectuer cette analyse.

Cet article ne montre que quelques exemples de ce que vous pouvez créer avec ArcGIS et CesiumJS. Pour en savoir plus, vous pourrez consulter le guide CesiumJS sur le site Web ArcGIS Developers.

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: