@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
106 lines (104 loc) • 5.68 kB
TypeScript
/**
* Represents a GP resource exposed by the ArcGIS REST API. A GP resource represents a
* single task in a GP service published using the ArcGIS Server and it supports one of the
* following operations dependent on how the service was set up:
* * [execute()](https://developers.arcgis.com/javascript/latest/references/core/rest/geoprocessor/#execute) - for when the execution type is synchronous.
* * [submitJob()](https://developers.arcgis.com/javascript/latest/references/core/rest/geoprocessor/#submitJob) - for when the execution type is asynchronous.
*
* If `processExtent` is not set then `execute` and `submitJob` will format web requests compatible
* with ArcGIS version prior to 10.6.1.
*
* @since 4.19
* @see [GPMessage](https://developers.arcgis.com/javascript/latest/references/core/rest/support/GPMessage/)
* @see [ParameterValue](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ParameterValue/)
* @see [JobInfo](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/)
* @see [Sample - Calculate Viewshed](https://developers.arcgis.com/javascript/latest/sample-code/geoprocessing-viewshed/)
*/
import type GPOptions from "./geoprocessor/GPOptions.js";
import type JobInfo from "./support/JobInfo.js";
import type { RequestOptions } from "../request/types.js";
/**
* Sends a request to the server to execute a synchronous GP task.
*
* The results can be retrieved using the
* [JobInfo.fetchResultData()](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/#fetchResultData),
* [JobInfo.fetchResultImage()](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/#fetchResultImage), or
* [JobInfo.fetchResultMapImageLayer()](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/#fetchResultMapImageLayer) methods.
*
* @param url - URL to the ArcGIS Server REST resource that represents a Geoprocessing service.
* @param params - Specifies the input parameters accepted by the task and their corresponding values. These input parameters
* are listed in the parameters field of the associated GP Task resource. For example, assume that a GP Task
* resource has the following input parameters:
* * `<GPFeatureRecordSetLayer>` Input_Points
* * `<GPDouble>` Distance
*
* The `params` argument would then be an Object of the form:
*
* ```
* {
* Input_Points: <FeatureSet>,
* Distance: <Number>
* }
*
* ```
* @param options - specifies the input options for the geoprocessing service return values.
* The `options` argument could be an Object of the form:
*
* ```
* {
* returnZ: true
* }
*
* ```
* @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/references/core/request/#request) to be used for the data request.
* @returns When resolved, returns an object with the following properties:
* ```
* {
* messages: <GPMessage[]>,
* results: <ParameterValue[]>
* }
* ```
* See the [GPMessage](https://developers.arcgis.com/javascript/latest/references/core/rest/support/GPMessage/) and [ParameterValue](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ParameterValue/) classes
* for more information about the information in this object.
*/
export function execute(url: string, params?: object | null, options?: GPOptions, requestOptions?: RequestOptions): Promise<object>;
/**
* Submits a job to the server for asynchronous processing by the GP task. The method
* will resolve immediately after the job has been submitted to the server. Use
* [JobInfo.waitForJobCompletion()](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/#waitForJobCompletion)
* to be notified when the job has completed and optionally periodic job status.
*
* The results can be retrieved using the
* [JobInfo.fetchResultData()](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/#fetchResultData),
* [JobInfo.fetchResultImage()](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/#fetchResultImage), or
* [JobInfo.fetchResultMapImageLayer()](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/#fetchResultMapImageLayer) methods.
*
* @param url - URL to the ArcGIS Server REST resource that represents a Geoprocessing service.
* @param params - specifies the input parameters accepted by the task and their corresponding values. These input parameters
* are listed in the parameters field of the associated GP Task resource. For example, assume that a GP Task
* resource has the following input parameters:
* * `<GPFeatureRecordSetLayer>` Input_Points
* * `<GPDouble>` Distance
*
* The `params` argument would then be an Object of the form:
*
* ```
* {
* Input_Points: <FeatureSet>,
* Distance: <Number>
* }
*
* ```
* @param options - specifies the input options for the geoprocessing service return values.
* The `options` argument could be an Object of the form:
*
* ```
* {
* returnZ: true
* }
*
* ```
* @param requestOptions - Additional [options](https://developers.arcgis.com/javascript/latest/references/core/request/#request) to be used for the data request.
* @returns When resolved, returns a [JobInfo](https://developers.arcgis.com/javascript/latest/references/core/rest/support/JobInfo/).
*/
export function submitJob(url: string, params?: object, options?: GPOptions, requestOptions?: RequestOptions): Promise<JobInfo>;