Uso en aplicaciones web

Un servicio de geoprocesamiento en un servidor independiente que ejecuta ArcGIS Server y un servicio en un servidor federado que alimenta una herramienta web se pueden consumir en una aplicación web personalizada, lo que proporciona a los clientes de la aplicación web soluciones de geoprocesamiento y análisis. Se puede crear una aplicación web desde cero utilizando ArcGIS Maps SDK for JavaScript. Como alternativa, puede implementar una aplicación web configurable usando el widget de análisis ArcGIS Experience Builder en ArcGIS Enterprise.

Con independencia del método de creación de una aplicación web, la comunicación del servicio de geoprocesamiento subyacente se produce a través de REST y se conecta al extremo del servicio de ArcGIS Server.

  • El extremo del servicio es una dirección URL que normalmente tiene el siguiente formato: https://organization.example.com/<context>/rest/<ServiceName>.
  • Cada extremo del servicio tiene información que describe el servicio, las operaciones que se pueden realizar y los recursos que componen el servicio. En el contexto de geoprocesamiento, una o varias herramientas componen los recursos de un servicio.

Para obtener más información sobre el uso de herramientas web con API REST de ArcGIS, consulte Servicios de geoprocesamiento.

Si no quiere crear una aplicación web, pero aun así desea disfrutar de una experiencia web enriquecida, puede usar Map Viewer en ArcGIS Enterprise.

Herramientas web y servicios de geoprocesamiento en aplicaciones web personalizadas

Normalmente, una aplicación web personalizada se crea usando ArcGIS Maps SDK for JavaScript. Aunque se puede crear cualquier aplicación de forma que pueda comunicarse con el servicio a través de REST, el siguiente análisis se centra en JavaScript. Si ya se ha familiarizado con JavaScript y el geoprocesamiento, puede revisar las muestras y los fragmentos de código. De lo contrario, el resto de esta sección describe el proceso para agregar el geoprocesamiento a la aplicación web:

  1. Inicialización del servicio de geoprocesamiento
  2. Configuración de los parámetros de entrada
  3. Ejecutar el servicio de geoprocesamiento
  4. Obtención y manejo del resultado o los resultados

El siguiente código de JavaScript se ha tomado de la muestra Calculate Viewshed con solo algunos fragmentos relevantes para mostrar los cuatro pasos requeridos para ejecutar las herramientas de geoprocesamiento. La muestra de la Ayuda de JavaScript proporciona un ejemplo completo, mientras que lo siguiente solo produce una página web funcional con código adicional:

// 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);
}

En el ejemplo anterior, se debe cargar la clase Geoprocessor, y la URL REST del servicio se usa con una variable global para definir la tarea de geoprocesamiento. El siguiente paso es crear los parámetros específicos de la herramienta que ejecutará la aplicación. Este ejemplo requiere una entrada de entidad de punto y una distancia que tenga un tipo de datos de unidad lineal. La dirección URL REST específica de la herramienta en el servicio definirá los parámetros de entrada. Un servicio se configurará como síncrono o asíncrono, y este ajuste controla si el servicio se envía como un trabajo o se ejecuta como una tarea. La salida de cada herramienta también se explica en la misma página que los parámetros de entrada; se proporciona información sobre el tipo y cómo se puede visualizar.

Herramientas web de Web AppBuilder

Para utilizar una herramienta web con Web AppBuilder, solo se necesita la URL de servicio de la herramienta web; no se requiere código. La URL se muestra en el portal, en la página de detalles del elemento de la herramienta, en la sección URL.

Para usar una herramienta web en Web AppBuilder, configure un widget de geoprocesamiento. Primero, cree una aplicación web en el portal. Una vez seleccionados el estilo y el mapa, agregue un widget de geoprocesamiento y configúrelo.

La configuración del widget permite definir opciones de entrada y salida relacionadas con una herramienta web. Los parámetros de entrada y salida que definen la herramienta web determinan las opciones que están disponibles a través de la configuración del widget. Por ejemplo, la configuración del widget permite controlar el tipo de entidad (cuadrado, círculo, mano alzada, etc.) que un usuario puede introducir si la herramienta web se ha publicado para aceptar entradas de entidades. La misma premisa es válida para la salida. Una herramienta web configurada para generar entidades permite configurar la simbología y la forma en que la aplicación web renderizará la salida de la herramienta web. Una herramienta web configurada con una capa de mapa de resultados agregará el resultado a la aplicación web y lo simbolizará en función de los ajustes que especifique durante el proceso de publicación inicial.

Nota:

No cree nuevas aplicaciones utilizando Web AppBuilder. Si tiene aplicaciones de Web AppBuilder existentes, considere migrarlas a ArcGIS Experience Builder.

Herramientas web y servicios de geoprocesamiento en ArcGIS Experience Builder

Cuando publique una herramienta web en ArcGIS Enterprise 11.3 o posterior, utilice el widget Análisis después de agregar la herramienta web como servicio de utilidades. La mayoría de los parámetros de entrada y salida están disponibles para su uso en el widget Análisis.

Puede configurar el comportamiento de los parámetros de entrada y salida, como permitir o desautorizar la funcionalidad de boceto para un parámetro de entidad de entrada y mostrar u ocultar determinadas entradas y salidas. Puede agregar varias herramientas web en el widget de análisis como servicios de utilidades. Para obtener más información sobre Experience Builder, consulte Cree su primera experiencia web.

Nota:

Map Viewer no está disponible en un servidor independiente que utiliza ArcGIS Server.

Para utilizar ArcGIS Experience Builder desde ArcGIS Online, o para utilizar herramientas web y servicios de geoprocesamiento en un entorno diferente al que tiene en Experience Builder, agregue la URL del servicio de geoprocesamiento independiente o el servicio de geoprocesamiento de la herramienta web, como https://organization.example.com/<context>/rest/services/<serviceName>/GPServer, al agregar una utilidad. No proporcione la URL de una tarea individual del servicio de geoprocesamiento ni la URL del elemento del portal de herramientas web. Asegúrese de que el servicio de geoprocesamiento sea accesible mediante ArcGIS Online o un portal.

Elementos de servicio de geoprocesamiento y herramientas web en Map Viewer

Al publicar una herramienta web en ArcGIS Enterprise 11.3 o posterior, abra Map Viewer desde su portal y examine las herramientas personalizadas en la sección Herramientas de la cinta Análisis. Para ejecutar herramientas web en Map Viewer, se deben cumplir los requisitos de licencia. Para obtener más información sobre las herramientas web de Map Viewer, consulte Utilizar herramientas web personalizadas. Tenga en cuenta que Map Viewer no está disponible en servidores independientes que ejecuten ArcGIS Server.

Si el servicio de geoprocesamiento se ejecuta en un servidor independiente que ejecuta ArcGIS Server o en un portal diferente a Map Viewer, primero agregue ese servicio de geoprocesamiento al portal de Map Viewer. Para ello, proporcione la URL del servicio, como por ejemplo https://organization.example.com/<context>/rest/services/<serviceName>/GPServer, para agregar un elemento. No proporcione la URL de una tarea individual del servicio de geoprocesamiento ni el elemento del portal de herramientas web.

Para utilizar Map Viewer desde ArcGIS Online, agregue un servicio desde una URL proporcionando la URL del servicio de geoprocesamiento independiente o el servicio de geoprocesamiento de la herramienta web, como https://organization.example.com/<context>/rest/services/<serviceName>/GPServer. No proporcione la URL de una tarea individual del servicio de geoprocesamiento. Asegúrese de que el servicio de geoprocesamiento sea accesible mediante ArcGIS Online, que siempre está fuera del firewall de su organización.