Skip To Content

Tutorial: Publicar un servicio de análisis de red

Disponible con una licencia de Network Analyst.

Complejidad: Principiante Requisitos de datos: Instalado con software Ruta de datos: <ArcGIS Server installation directory>\help\samples\data\network_analyst\SanFrancisco.gdb Objetivo: Publicar un servicio de análisis de red en ArcGIS Server y utilizarlo en ArcMap y en una aplicación Web.

El análisis de red se puede realizar en una red de transporte en la web por medio del alojamiento de los servicios de análisis de red en un sitio de ArcGIS Server. Esto incluye la búsqueda de la instalación más cercana, la mejor ruta para un vehículo, las mejores rutas para que una flota de vehículos; buscar instalaciones utilizando la ubicación, asignación; calcular una matriz de coste OD; y generar áreas de servicio. Este tutorial lo guía en el proceso de creación de un documento de mapa que se puede utilizar para análisis de red y de publicación como un servicio de análisis de red. A continuación, le remite a la ayuda sobre cómo consumir el servicio de análisis de red en ArcMap y una aplicación web. Para obtener información sobre los distintos tipos de análisis de red y sus recursos, consulte Tipos de análisis de red en la Ayuda de ArcGIS.

Antes de comenzar con este tutorial

Si acaba de instalar ArcGIS Server, debe completar algunos pasos preparatorios para poder conectarse al servidor y publicar servicios:

Datos del tutorial

Los datos de este tutorial se instalan con ArcGIS Server y se encuentran en <ArcGIS Server installation directory>\help\samples\data\network_analyst.

De manera opcional, puede intentar trabajar a través de los pasos utilizando sus propios datos.

Crear el documento de mapa

Un servicio de análisis de red requiere un servicio de mapas que contenga una o más capas de análisis de red. Esto significa que el documento de mapa publicado en el servidor debe contener una o más capas que sean capas de análisis de red creadas con herramientas de la barra de herramientas de Network Analyst. Apoyo los servicios de análisis de red de ruta, instalación más cercana, capas de análisis del área de servicio.

Siga estos pasos para crear un solo documento de mapa capaz de realizar estos tres tipos de análisis de red:

  1. Inicie ArcMap y abra un nuevo documento de mapa en blanco.
  2. Haga clic en Personalizar > Extensiones y marque Network Analyst para habilitar la extensión de Network Analyst.
  3. Haga clic en Personalizar > Barras de herramientas > Network Analyst para que la barra de herramientas de Network Analyst esté visible.
  4. Agregue un dataset de red, que debe estar en el mapa para crear una capa de análisis de red, haciendo clic en Agregar datosAgregar datos en la barra de herramientas estándar. Busque el dataset de red Streets_ND ubicado en la base de datos de San Francisco. Cuando se le solicite agregar todas las clases de entidad que participan en Streets_ND en el mapa, haga clic en No.
  5. Agregar una capa de análisis de red de ruta al mapa haciendo clic en el menú desplegable Network Analyst en la barra de herramientas Network Analyst y elija Nueva ruta.

    Barra de herramientas de Network Analyst

    Cuando una capa de análisis de red se crea en ArcMap, automáticamente se enlaza al dataset de red activo. La red de San Francisco se activa cuando se crea la capa de análisis de ruta, de modo que estas dos capas están vinculados. Además, la capa de análisis de red hace referencia al dataset de red al que se vincula por la ruta del archivo, de modo que la capa del dataset de red ya no se necesita en ArcMap.

  6. Haga clic en Streets_ND o el nombre de la capa de dataset de red y haga clic en Quitar.

    Aunque el mapa está en blanco, la capa de análisis de ruta está presente y se puede publicar como un servicio. Cuando usted añade eventualmente al publicar un servicio de análisis de red a un mapa, no se mostrará ninguna entidad al principio, es decir, hasta que genera resultados. Para proporcionar contexto adicional al consumir un servicio de análisis de red, puede consumir también un servicio de mapas en caché, como uno suministrado por ArcGIS Online.

  7. Haga clic en Archivo > Guardar como para guardar el documento de mapa.

Publicar el servicio de análisis de red

Una vez que tenga un documento de mapa con una capa de análisis de red, está listo para publicarlo como un servicio de análisis de red. Publicará el documento de mapa como un servicio y habilitará la capacidad de análisis de red, que crea un servicio de análisis de red del mismo nombre.

Para configurar y publicar el documento de mapa en ArcGIS Server mediante ArcMap, siga estos pasos.

  1. En ArcMap, seleccione Archivo > Compartir como > Servicio desde el menú principal.
  2. En la ventanaCompartir como servicio, elija Publicar un servicio. Haga clic en Siguiente.
  3. En el cuadro de diálogo Publicar un servicio, haga clic en Conectar a ArcGIS ServerAgregar ArcGIS Server para crear una nueva conexión al servidor.
  4. En la ventana Agregar ArcGIS Server, elija Publicar los servicios SIG. Haga clic en Siguiente.
  5. En URL del servidor, escriba la URL del sitio de ArcGIS Server al que desee conectarse, por ejemplo, http://gisserver.domain.com:6080/arcgis.
  6. Desde la lista desplegableTipo de servidor, elijaArcGIS Server.

    Durante el proceso de publicación, se crea un archivo de definición del servicio que se almacena temporalmente y de manera local en el disco. Cuando finaliza el proceso de publicación, se carga la definición del servicio en el servidor y se elimina el archivo local.

  7. Para los objetivos de este tutorial, acepte la carpeta de preparación predeterminada y continúe.
  8. Si el administrador del servidor ha habilitado la seguridad del sitio, introduzca su Nombre de usuario y Contraseña. Haga clic en Finalizar.
  9. Opcionalmente, en la ventana Publicar un servicio, introduzca un nuevo nombre para el servicio. El nombre no puede tener más de 120 caracteres de longitud y solo puede contener caracteres alfanuméricos y guiones bajos. Haga clic en Siguiente.
  10. De manera predeterminada, los servicios se publican en la carpeta raíz (root) de ArcGIS Server. Los servicios se pueden organizar en subcarpetas dentro de la carpeta raíz. Elija la carpeta donde desea publicar el servicio o cree una nueva carpeta que incluirá el servicio. Haga clic en Continuar.

    Aparece el Editor de servicio. Utilizará el Editor de servicio para elegir lo que los usuarios pueden hacer con su servicio de análisis de red y tomar control preciso de cómo el servidor expone el servicio.

  11. Haga clic en la pestaña Recursos.

    Por defecto, representación cartográfica y KML están habilitados.

  12. Marque Análisis de red.
  13. En el panel izquierdo del Editor de servicio, haga clic en Análisis de red y revise si las operaciones y propiedades están habilitadas para su servicio de análisis de red. Para los fines de este tutorial, puede aceptar los valores predeterminados y continuar. Sin embargo, si desea obtener más información, consulte Servicios de análisis de red. Para obtener información sobre cómo configurar el mejor servicio de análisis de red para su implementación, consulte Ajustar y configurar servicios.
  14. Haga clic en AnalizarAnalizar. Esto examina el documento de mapa para ver si se puede publicar en el servidor.
    Sugerencia:

    Para tener más área de visualización al configurar su servicio de análisis de red, haga clic en el botón ContraerContraer situado en la parte superior del Editor del servicio.

  15. Corrija los ErroresError en la ventana Preparar; se debe hacer antes de publicar. Si lo desea, puede arreglar las advertencias y mensajes informativos para mejorar aún más el rendimiento y apariencia del servicio de análisis de red. Para obtener más información acerca de cómo resolver estos problemas, consulte Analizar el recurso SIG.
    Nota:

    Puede registrar las carpetas, bases de datos y ubicaciones del almacenamiento en la nube con el sitio de ArcGIS Server, asegurando así que el servidor pueda reconocer y utilizar los datos. Si continúa con los pasos siguientes, todos los datos a los que haga referencia el documento de mapa, que surjan de un origen de datos no registrado, se copiarán al servidor en el momento de la publicación. Esta es una medida de precaución para asegurar que el servidor pueda acceder a todos los datos que utiliza el servicio. Para obtener instrucciones detalladas acerca de cómo registrar una fuente de datos con su sitio de ArcGIS Server, consulte Registrar los datos con ArcGIS Server mediante ArcMap.

  16. Después de corregir los errores de su documento de mapa, haga clic en PublicarPublicar.

    El documento de mapa se publica en ArcGIS Server, lo que crea un servicio de mapas y un servicio de análisis de red asociado con el mismo nombre.

Consumir el servicio de análisis de red

Los clientes de ArcGIS Server, por ejemplo, ArcGIS Desktop y navegadores web, tienen la capacidad de utilizar los servicios de análisis de red. En ArcMap, el botón Buscar rutaBuscar ruta le proporciona funciones predefinidas que le permiten usar los recursos de generación de rutas proporcionados por el servicio de análisis de red. En los navegadores web, los servicios de análisis de red se consumen mediante programación a través de aplicaciones web creadas con ArcGIS Online, ArcGIS Enterprise y ArcGIS API for JavaScript. Para obtener más información sobre estos clientes, consulte Servicios de análisis de red.

Para obtener información sobre el modo de utilizar el servicio de análisis de red en ArcGIS Desktop o en una aplicación web básica creada con ArcGIS API for JavaScript, consulte las siguientes secciones:

Consumir un servicio de generación de rutas en ArcMap

Para consumir un servicio de generación de rutas en ArcMap, siga estos pasos:

  1. Inicie ArcMap y abra un nuevo documento de mapa en blanco.
  2. Aún debe tener una conexión de publicador a ArcGIS Server, pero necesitará una conexión de usuario para utilizar este servicio en ArcMap. En la ventana Catálogo, expanda el nodo Servidores SIG y haga doble clic en Agregar ArcGIS Server empezar a realizar una conexión de usuario. Para obtener instrucciones paso a paso sobre la configuración de la conexión, consulte Conectarse a ArcGIS Server desde ArcGIS Desktop.
  3. En la ventana Catálogo, expanda el nodo Servidores SIG y haga doble clic en la nueva conexión de ArcGIS Server que termina con "(usuario)".
  4. Dentro de la conexión al servidor, busque el servicio de mapas que contiene el servicio de análisis de red y arrástrelo a la tabla de contenido.
  5. Aunque la capa está presente en la tabla de contenido, el mapa está en blanco. Para proporcionar contexto al mapa, agregue una capa de mapa base desde ArcGIS Online.
    1. Haga clic en la flecha desplegable situada junto al botón Añadir datos Agregar datos de la barra de herramientas Estándar y elija Agregar mapa base.
    2. Haga doble clic en un mapa base, como Topográfico.
  6. Use el zoom en la península de San Francisco, que está al sur del mapa, ya que es necesario que las paradas que va a agregar estén dentro de los límites del dataset de red de San Francisco que utilizó para crear la capa de análisis de red. Si no está utilizando la base de datos SanFrancisco proporcionada, puede omitir este paso.
  7. En la barra de herramientas Herramientas, haga clic en Buscar rutaBuscar ruta.
  8. En el cuadro de diálogo Buscar ruta, haga clic en la pestaña Opciones.
  9. Haga clic en la lista desplegable Servicio de generación de rutas y elija Ruta <Layers\[nombre del servicio de rutas]>.
  10. Haga clic en la pestaña Paradas. Utilice los controles y los parámetros en la pestaña Paradas para proporcionar entradas para el análisis de red.
  11. Cuando esté listo para resolver la ruta, haga clic en Buscar ruta.

Consumir un servicio de generación de rutas en una aplicación Web básica

Para consumir un servicio de generación de rutas en una aplicación web, siga estos pasos:

  1. Antes de que pueda utilizar un servicio de análisis de red en una aplicación Web, deberá conocer la dirección URL. En un navegador web, vaya al directorio de servicios de ArcGIS Server, por ejemplo, http://gisserver.domain.com:6080/arcgis/rest/services.
  2. En la lista de servicios, haga clic en el servicio de análisis de red. Todos los servicios de análisis de red se incorporan con (NAServer). Si el servicio se encuentra en una carpeta, vaya hasta esa carpeta y seleccione el servicio.

    Aparece una página que muestra el nombre del servicio, la descripción del servicio y una lista de las capas de análisis disponibles.

  3. Haga clic en Ruta.

    Aparece una página que muestra las propiedades de la capa de ruta.

  4. En la barra de direcciones del navegador, copie la URL de esta página y péguela en un editor de texto.

    Esta es la dirección URL de REST para la tarea de ruta de su servicio de análisis de red. La URL presenta el siguiente formato: http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/NAServer/Route.

  5. Copie y pegue el siguiente código de muestra en un editor de texto como Notepad:

    <!DOCTYPE html>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        
        <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
        <title>Simple Routing</title>
    
        <link rel="stylesheet" href="https://js.arcgis.com/3.16/dijit/themes/claro/claro.css">
        <link rel="stylesheet" href="https://js.arcgis.com/3.16/esri/css/esri.css">
        
        <script src="https://js.arcgis.com/3.16/"></script>
        <script>
          require([
            "esri/urlUtils",
            "esri/map",
            "esri/graphic",            
            "esri/tasks/RouteTask",            
            "esri/tasks/RouteParameters",
    
            "esri/tasks/FeatureSet",            
            "esri/symbols/SimpleMarkerSymbol",
            "esri/symbols/SimpleLineSymbol",          
    
            "esri/Color",
            "dojo/on",
            "dijit/registry",
    
            "dijit/layout/BorderContainer",
            "dijit/layout/ContentPane",
            "dijit/form/HorizontalSlider",
            "dijit/form/HorizontalRuleLabels"
          ], function (
            urlUtils, Map, Graphic, RouteTask, RouteParameters,
            FeatureSet, SimpleMarkerSymbol, SimpleLineSymbol,           
            Color, on, registry
          ) {
            var map, routeTask, routeParams;
            var stopSymbol, routeSymbol, lastStop;
    
           //When referencing a local route task, the proxy rule may be removed or commented out.
    
            urlUtils.addProxyRule({
              urlPrefix: "route.arcgis.com",  
              proxyUrl: "/sproxy/"
            });
            
            map = new Map("map", {
                basemap : "streets",
                center : [-117.195, 34.057],
                zoom : 14
              });
    
            map.on("click", addStop);         
    
            routeTask = new RouteTask("https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World");
    
            //setup the route parameters
            routeParams = new RouteParameters();
            routeParams.stops = new FeatureSet();
            routeParams.outSpatialReference = {
              "wkid" : 102100
            };
    
            routeTask.on("solve-complete", showRoute);
            routeTask.on("error", errorHandler);               
    
            //define the symbology used to display the route
            stopSymbol = new SimpleMarkerSymbol().setStyle(SimpleMarkerSymbol.STYLE_CROSS).setSize(15);
            stopSymbol.outline.setWidth(4);
            routeSymbol = new SimpleLineSymbol().setColor(new dojo.Color([0, 0, 255, 0.5])).setWidth(5);
    
            //Adds a graphic when the user clicks the map. If 2 or more points exist, route is solved.
            function addStop(evt) {
              var stop = map.graphics.add(new Graphic(evt.mapPoint, stopSymbol));
              routeParams.stops.features.push(stop);
    
              if (routeParams.stops.features.length >= 2) {
                routeTask.solve(routeParams);
                lastStop = routeParams.stops.features.splice(0, 1)[0];
              }
            }
    
            //Adds the solved route to the map as a graphic
            function showRoute(evt) {
              map.graphics.add(evt.result.routeResults[0].route.setSymbol(routeSymbol));
            }
    
            //Displays any error returned by the Route Task
            function errorHandler(err) {
              alert("An error occured\n" + err.message + "\n" + err.details.join("\n"));
    
              routeParams.stops.features.splice(0, 0, lastStop);
              map.graphics.remove(routeParams.stops.features.splice(1, 1)[0]);
            }
    
           });
        </script>
    
      </head>
      <body class="claro">
        <div id="map" style="width:600px; height:400px; border:1px solid #000;"></div>
         <p>Click on the map to add stops to the route. The route from the last stop to the newly added stop is calculated. If a stop is not reachable, it is removed and the last valid point is set as the starting point.</p>
      </body>
    </html>

  6. Localice el parámetro routeTask = new RouteTask y reemplace la URL del paréntesis para que coincida con la URL REST de su tarea de ruta de análisis de red.
  7. Guarde y cierre el documento de texto.
  8. Modifique la extensión de archivo del documento para utilizar .html en lugar de su extensión nativa. Por ejemplo, cambie Route.txt a Route.html.
  9. Abra el documento HTML con un navegador Web. Siga las instrucciones en la aplicación Web para utilizar el servicio de análisis de red.