Un service de géotraitement sur un serveur autonome exécutant ArcGIS Server et un service sur un serveur fédéré qui prend en charge un outil Web peuvent être utilisés dans une application Web personnalisée, ce qui permet aux clients de votre application Web de bénéficier de solutions de géotraitement et d’analyse. Une application Web peut être conçue intégralement à l’aide d’ArcGIS Maps SDK for JavaScript. Vous pouvez également déployer une application Web configurable avec le widget d’analyse ArcGIS Experience Builder dans ArcGIS Enterprise.
Quelle que soit la méthode de création d’une application Web, la communication du service de géotraitement sous-jacent a lieu via REST et se connecte au point de terminaison du service sur ArcGIS Server.
- Le point d’extrémité du service est une URL, qui se présente généralement au format suivant : https://organization.example.com/<context>/rest/<ServiceName>.
- Chaque point d’extrémité de service possède des informations qui décrivent le service, les opérations possibles et les ressources qui composent le service. Dans le contexte du géotraitement, un ou plusieurs outils composent les ressources d’un service.
Pour en savoir plus sur l’utilisation des outils Web avec ArcGIS REST API, reportez-vous à la rubrique Services géotraitement.
Si vous ne voulez pas créer une application Web, mais souhaitez malgré tout bénéficier d’une expérience Web enrichie, vous pouvez utiliser Map Viewer dans ArcGIS Enterprise.
Outils Web et services de géotraitement dans des applications Web personnalisées
En règle générale, ArcGIS Maps SDK for JavaScript est utilisé pour créer une application Web personnalisée. Même si vous pouvez construire une application capable de communiquer avec le service via REST, la discussion suivante se concentre sur JavaScript. Si vous connaissez déjà JavaScript et le géotraitement, vous pouvez consulter les exemples et extraits de code. Sinon, le reste de cette section décrit la procédure qui permet d’intégrer le géotraitement dans une application Web :
- Initialisation du service de géotraitement
- Configuration des paramètres en entrée
- Exécution du service de géotraitement
- Obtention et gestion des résultats
Le code JavaScript suivant provient de l’exemple Calculate Viewshed (Calculer un champ de vision) avec uniquement les parties pertinentes pour illustrer les quatre étapes requises à l’exécution des outils de géotraitement. L’échantillon dans l’aide de JavaScript offre un exemple complet, tandis que le texte suivant génère uniquement une page Web opérationnelle avec un code ajouté :
// esri.tasks.Geoprocessor is required for using Geoprocessor.
// Add it along with other dojo.require statements.
dojo.require(esri.tasks.Geoprocessor);
// Step 1: Initialize the geoprocessing and point to the REST URL
var gpUrl = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Elevation/ESRI_Elevation_World/GPServer/Viewshed";
var gp = new Geoprocessor(gpUrl);
// Set output spatial reference
gp.outSpatialReference = { wkid: 102100 };
function computeViewshed(event) {
graphicsLayer.removeAll();
// Step 2: Set up input parameters and assign or collect inputs from user
var point = new Point({
longitude: event.mapPoint.longitude,
latitude: event.mapPoint.latitude
});
var inputGraphic = new Graphic({
geometry: point,
symbol: markerSymbol
});
graphicsLayer.add(inputGraphic);
var inputGraphicContainer = [];
inputGraphicContainer.push(inputGraphic);
var featureSet = new FeatureSet();
featureSet.features = inputGraphicContainer;
var vsDistance = new LinearUnit();
vsDistance.distance = 5;
vsDistance.units = "miles";
var params = {
"Input_Observation_Point": featureSet,
"Viewshed_Distance": vsDistance
};
// Step 3: Run the service. In this instance, the service is Synchronous; Execute
// will be called. An Asynchronous service will use gp.submitJob.
gp.execute(params).then(drawResultData);
}
// Step 4: Render the result. Symbology is assigned and the graphics are added to the map.
function drawResultData(result) {
var resultFeatures = result.results[0].value.features;
// Assign each resulting graphic a symbol
var viewshedGraphics = resultFeatures.map(function(feature) {
feature.symbol = fillSymbol;
return feature;
});
// Add the resulting graphics to the graphics layer
graphicsLayer.addMany(viewshedGraphics);
}
Dans l’exemple ci-dessus, la classe Geoprocessor doit être chargée et l’URL REST du service est utilisée avec une variable globale pour définir la tâche de géotraitement. L’étape suivante consiste à construire les paramètres propres à l’outil que l’application va exécuter. Cet exemple nécessite une entité ponctuelle en entrée et une distance avec une unité linéaire comme type de données. L’URL REST propre à l’outil dans le service définit les paramètres en entrée. Un service est configuré comme synchrone ou asynchrone et ce paramètre détermine si le service est soumis comme une tâche ou exécuté comme une tâche. La sortie de chaque outil est également expliquée sur la même page que les paramètres en entrée. Des informations sur le type et sur son mode d’affichage sont fournies.
Outils Web dans Web AppBuilder
Pour utiliser un outil Web avec Web AppBuilder, seule l’URL de service de l’outil Web est nécessaire ; aucun code n’est requis. L’URL est affichée dans le portail, sur la page Détails de l’élément de l’outil, dans la section URL.
Pour utiliser un outil Web dans Web AppBuilder, configurez un widget de géotraitement. Commencez par créer une application Web dans le portail. Une fois le style et la carte sélectionnés, ajoutez un widget de géotraitement et configurez-le.
La configuration du widget prend en charge la définition des options en entrée et en sortie concernant un outil Web. Les paramètres en entrée et en sortie qui définissent l’outil Web déterminent quelles options sont accessibles via la configuration du widget. Par exemple, la configuration du widget vous permet de contrôler le type d’entité (carré, cercle, dessin à main levée, etc.) qu’un utilisateur peut saisir si l’outil Web a été publié de façon à accepter les entités en entrée. Le même principe s’applique à la sortie. Un outil Web configuré pour générer des entités vous permet de configurer la symbologie et la façon dont l’application Web doit rendre la sortie de l’outil Web. Un outil Web configuré avec une couche cartographique de résultat ajoute le résultat à l’application Web et le symbolise en fonction des paramètres que vous avez spécifiés au cours du processus de publication initial.
Remarque :
Ne créez pas de nouvelles applications à l’aide de Web AppBuilder. Si vous avez des applications Web AppBuilder, envisagez de les migrer vers ArcGIS Experience Builder.
Outils Web et services de géotraitement dans ArcGIS Experience Builder
Lors de la publication d’un outil Web sur ArcGIS Enterprise 11.3, ou une version ultérieure, utilisez le widget Analyse après avoir ajouté l’outil Web comme service utilitaire. La plupart des paramètres en entrée et en sortie peuvent être utilisés dans le widget Analyse.
Vous pouvez configurer le comportement des paramètres en entrée et en sortie, par exemple en autorisant ou en interdisant la fonctionnalité de dessin pour un paramètre d’entité en entrée, et en affichant ou masquant certaines entrées et sorties. Vous pouvez ajouter plusieurs outils Web dans le widget d’analyse en tant que services utilitaires. Pour plus d’informations sur Experience Builder, consultez la rubrique Créer votre première expérience Web.
Remarque :
Map Viewer n’est pas disponible sur un serveur autonome utilisant ArcGIS Server.
Pour utiliser ArcGIS Experience Builder depuis ArcGIS Online, ou utiliser les outils Web et les services de géotraitement dans un environnement différent de celui utilisé avec Experience Builder, ajoutez l’URL du service de géotraitement autonome ou du service de géotraitement de l’outil Web, telle que https://organization.example.com/<context>/rest/services/<serviceName>/GPServer lors de l’ajout d’un service utilitaire. N’indiquez pas l’URL d’une tâche donnée du service de géotraitement ni l’URL de l’élément du portail associé à l’outil Web. Assurez-vous que le service de géotraitement est accessible par ArcGIS Online ou un portail.
Outils Web et éléments de service de géotraitement dans Map Viewer
Lors de la publication d’un outil Web sur ArcGIS Enterprise 11.3, ou une version ultérieure, ouvrez Map Viewer depuis votre portail et accédez aux outils personnalisés à partir de la section Tools (Outils) du ruban Analysis (Analyse). Pour exécuter les outils Web dans Map Viewer, il est nécessaire de remplir les conditions requises en matière de licence. Pour plus d’informations sur les outils Web dans Map Viewer, consultez la rubrique Utiliser les outils Web personnalisés. Sachez que Map Viewer n’est pas disponible sur un serveur autonome utilisant ArcGIS Server.
Si le service de géotraitement figure sur un serveur autonome exécutant ArcGIS Server ou sur un portail autre que celui de Map Viewer, ajoutez d’abord ce service sur le portail de Map Viewer. Pour ce faire, indiquez l’URL du service, telle que https://organization.example.com/<context>/rest/services/<serviceName>/GPServer, pour ajouter un élément. N’indiquez pas l’URL d’une tâche donnée du service de géotraitement ni l’élément du portail associé à l’outil Web.
Pour utiliser Map Viewer à partir d’ArcGIS Online, ajoutez un service à partir d’une URL en indiquant l’URL du service de géotraitement autonome ou le service de géotraitement de l’outil Web, comme https://organization.example.com/<context>/rest/services/<serviceName>/GPServer. N’indiquez pas l’URL d’une tâche donnée du service de géotraitement. Assurez-vous que le service de géotraitement est accessible par ArcGIS Online qui se trouve de l’autre côté du pare-feu de votre organisation.
Vous avez un commentaire à formuler concernant cette rubrique ?