Skip To Content

Prácticas recomendadas para la geocodificación por lotes en el portal

Requisitos

Si tiene una implementación de ArcGIS Enterprise, puede sacar partido de un patrón de geocodificación por lotes asíncrono de servidor que le ayudará a obtener el máximo rendimiento posible de sus servicios de localizador. Este planteamiento funciona con localizadores que ha publicado en su portal y agregado como servicio de utilidades. Para obtener más información sobre cómo crear localizadores, compartirlos con un portal y agregarlos como servicio de utilidades, consulte Configurar el portal para geocodificar direcciones.

Ventajas

Podemos aprovechar el poder de ArcGIS Enterprise para sacar el máximo partido a sus servicios de geocodificación publicados. Una vez se haya compartido un localizador con su portal, puede utilizarlo para realizar geocodificación por lotes. Estas son algunas de las ventajas de utilizar su portal para realizar geocodificación por lotes:

  • Maximice los recursos del servidor para completar lo más rápido posible el trabajo de geocodificación por lotes.
  • Permita al administrador de ArcGIS administrar los recursos de back-end y no sobrecargue los servicios.
  • Realice una geocodificación por lotes a gran escala tras el firewall de su organización utilizando sus datos y su propio localizador publicado.
  • La fragmentación y la lógica de reintento están integradas para asegurar que la geocodificación por lotes a gran escala no falle.

Arquitectura

Para sacar el máximo partido de sus servicios de localizador publicados, puede escalar verticalmente el número de instancias del servidor de geocódigo. Para ello, vaya al directorio de servicios de ArcGIS Server Manager y, tras seleccionar el servicio de geocodificación que desea escalar verticalmente, vaya a la pestaña Agrupación y cambie los parámetros Cantidad mínima de instancias por equipo y Cantidad máxima de instancias por equipo. En el caso de la geocodificación, estos números deben ser siempre iguales. Si desea que haya cuatro instancias disponibles en todo momento, puede cambiar estos dos valores a 4.

Agregar numBatchThreads

En el diagrama de arriba, el administrador de ArcGIS ha escalado verticalmente el servicio de localizador a cuatro instancias. El administrador de ArcGIS de su organización puede cambiar la propiedad numBatchThreads a 4 para el localizador y cuadruplicar el rendimiento de la geocodificación por lotes. El administrador puede configurar la propiedad numBatchThreads en la ubicación compartida del Directorio de Portal for ArcGIS. Tenga en cuenta que, si dos usuarios quieren realizar a la vez una geocodificación por lotes, puede que al administrador de ArcGIS le convenga cambiar la propiedad numBatchThreads a 2 o, de lo contrario, los trabajos se pondrán en cola y posiblemente se agotará su tiempo de espera durante la espera de finalización del otro trabajo. De este modo, cada trabajo de geocodificación por lotes se ejecutará con dos de las instancias de localizador disponibles y los servicios de localizador de back-end podrán gestionar la carga de envío de varios trabajos a la vez.

Configuración

En los siguientes pasos se describe cómo puede configurar el administrador de ArcGIS su portal para utilizar el patrón de geocodificación por lotes asíncrono descrito arriba.

Agregar un registro para obtener más comentarios mientras se realiza la geocodificación por lotes

De forma predeterminada, el nivel del mensaje del servicio de geoprocesamiento GeocodingTools está establecido como Advertencia. Para obtener más información sobre los mensajes de error y mejores actualizaciones sobre el estado de su trabajo de geocodificación por lotes, puede configurar el nivel de registro del servicio de geoprocesamiento GeocodingTools como Información.

  1. Vaya al ArcGIS Server Manager de su servidor de alojamiento.
  2. Haga clic en la carpeta Utilidades en el directorio Server Manager.
  3. Haga clic en el servicio de geoprocesamiento GeocodingTools.
  4. Haga clic en el encabezado de la izquierda Parámetros y cambie Nivel del mensaje a Información. Después, haga clic en el botón Guardar y reiniciar de la esquina superior derecha.

Cambiar el nivel de registro a Información supondrá una leve pérdida de rendimiento, pero proporcionará un mejor comentario sobre el progreso del trabajo y más información sobre posibles errores, si se dieran. Estas ventajas se pueden consultar en las herramientas Geocodificar tabla, Geocodificar ubicaciones desde tabla y Geocodificar archivo en ArcGIS Pro.

Aumentar el tiempo de espera para la geocodificación por lotes

De forma predeterminada, el servicio de geoprocesamiento GeocodingTools agota su tiempo de espera en trabajos que duran más de 200 minutos. Si prevé que un trabajo de geocodificación por lotes puede tardar más de 3 horas y 20 minutos en completarse, plantéese aumentar el tiempo máximo durante el cual un cliente puede utilizar un servicio.

  1. Vaya al ArcGIS Server Manager de su servidor de alojamiento.
  2. Haga clic en la carpeta Utilidades en el directorio Server Manager.
  3. Haga clic en el servicio de geoprocesamiento GeocodingTools.
  4. Haga clic en el banner Agrupación de la izquierda y cambie el tiempo máximo durante el cual un cliente puede utilizar un servicio. Si aumenta este valor a una cantidad muy grande, se asegurará de que los trabajos grandes de geocodificación por lotes nunca agoten su tiempo de espera. Después, haga clic en el botón Guardar y reiniciar de la esquina superior derecha.

Configurar la cantidad sugerida de solicitudes de geocodificación por lotes concurrentes (numBatchThreads) para el localizador

El localizador del portal también lo puede utilizar el servicio de geoprocesamiento GeocodingTools que se ejecuta en el sitio de GIS Server federado. El servicio de geoprocesamiento puede enviar varias solicitudes concurrentes al servicio de utilidades de geocodificación para agilizar la ejecución general de la geocodificación por lotes. La cantidad de solicitudes concurrentes que realiza el servicio de geoprocesamiento la puede configurar un administrador del portal. Si el ‭servicio de geoprocesamiento está realizando demasiadas solicitudes concurrentes al localizador, es posible que funcione con deficiencias, lo que podría dar lugar a un incremento de los errores al ejecutar el servicio de geoprocesamiento. Por este motivo, el administrador debería definir la cantidad de instancias que se utilizan en el servicio de geoprocesamiento según la cantidad de instancias disponibles para el servicio de localizador, además de configurar la cantidad de solicitudes de geocodificación por lotes concurrentes que se pueden realizar desde cualquier instancia del servicio de geoprocesamiento GeocodingTools.

Se recomienda que la cantidad de instancias para el servicio de localizador siempre sea igual o superior a la cantidad de instancias disponibles para el servicio de geoprocesamiento GeocodingTools. Se debería establecer una cantidad de solicitudes de geocodificación por lotes concurrentes proporcional a la cantidad de instancias disponibles para el localizador y para los servicios de geoprocesamiento. Por ejemplo, si hay ocho instancias disponibles para el servicio de localizador y dos instancias disponibles para el servicio de geoprocesamiento, establezca las solicitudes de geocodificación por lotes concurrentes en cuatro. Cuando se ejecuta el servicio de geoprocesamiento, envía cuatro solicitudes de geocodificación por lotes concurrentes al servicio de localizador. En caso de que haya más instancias disponibles para el servicio de localizador, ajuste la cantidad de solicitudes de geocodificación por lotes concurrentes apropiadamente para maximizar la utilización de instancias para el servicio de localizador.

Tenga en cuenta que Esri World Batch Geocoder no se puede configurar para usar más solicitudes concurrentes. La configuración siguiente se aplica al resto de servicios de localizador publicados que están configurados como servicios de utilidades.

Siga estos pasos para definir la cantidad sugerida de solicitudes de geocodificación por lotes concurrentes para el servicio de localizador:

  1. Vaya a la ubicación compartida del Directorio de Portal for ArcGIS e inicie sesión como miembro con privilegios administrativos. La dirección URL tiene el formato https://webadaptorhost.domain.com/<webadaptorname>/sharing/rest.
  2. Acceda a Inicio > Portales > Auto.
  3. En la parte inferior de la página, haga clic en Actualizar.
  4. En el cuadro de texto Servicio de geocodificación, verá los servicios de localizador actualmente configurados con el portal. Para los servicios que permiten la geocodificación por lotes (los servicios que tienen la propiedad batchestablecida en true), puede configurar la cantidad sugerida de solicitudes de geocodificación por lotes concurrentes. Elija el servicio que desee configurar con esta propiedad. El JSON en el cuadro de texto Servicio de geocodificación tendrá el formato siguiente:
    [{
            "url" : "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",
            "northLat" : "Ymax",
            "southLat" : "Ymin",
            "eastLon" : "Xmax",
            "westLon" : "Xmin",
            "name" : "Esri World Geocoder",
            "batch": false,
            "suggest" : true
        }, {
            "url" : "https://machine.domain.com/server/rest/services/Locators/USA/GeocodeServer",
            "name" : "Streetmap Premium USA Geocoder",
            "placeholder" : "Find address or place",
            "singleLineFieldName" : "SingleLine",
            "batch" : true,
            "placefinding" : true,
            "suggest" : true,
            "zoomScale" : 10000
        }]

  5. Agregue la propiedad numBatchThreads a todos los servicios de localizador que desee utilizar con el servicio de geoprocesamiento GeocodingTools. Para definir el valor numBatchThreads, primero determine la cantidad de solicitudes de geocodificación por lotes concurrentes que desee habilitar para un determinado servicio de localizador y, a continuación, defina la propiedad con esa cifra. Tenga en cuenta que, para configurar numBatchThreads en el servicio de localizador, el servicio debe tener batch establecido en true.

    En este ejemplo, la cantidad permitida de solicitudes de geocodificación por lotes concurrentes para el servicio de utilidades del geocodificador Streetmap Premium USA está establecida en cuatro.

    [{
            "url" : "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",
            "northLat" : "Ymax",
            "southLat" : "Ymin",
            "eastLon" : "Xmax",
            "westLon" : "Xmin",
            "name" : "Esri World Geocoder",
            "batch": false,
            "suggest" : true
        }, {
            "url" : "https://machine.domain.com/server/rest/services/Locators/USA/GeocodeServer",
            "name" : "Streetmap Premium USA Geocoder",
            "placeholder" : "Find address or place",
            "singleLineFieldName" : "SingleLine",
            "batch" : true,
            "placefinding" : true,
            "suggest" : true,
            "zoomScale" : 10000,
            "numBatchThreads" : 4
        }]

  6. Una vez que haya actualizado el JSON en el cuadro de texto Servicio de geocodificación, haga clic en Actualizar organización en la parte inferior de la página.

Herramientas habilitadas para la geocodificación por lotes

Una vez que el administrador de ArcGIS haya configurado la propiedad numBatchThreads por cada localizador, los usuarios pueden aprovechar el mayor rendimiento en sus trabajos de geocodificación por lotes. Las herramientas que aprovechan el aumento de rendimiento son Geocodificar tabla, Geocodificar ubicaciones desde tabla y Geocodificar archivo en ArcGIS Pro, así como Geocodificar ubicaciones desde tabla en Map Viewer.