Skip To Content

Melhores práticas para geocodificação em lote do portal

Requisitos

Se você tiver uma implantação do ArcGIS Enterprise , você poderá aproveitar do padrão de geocodificação em lote assíncrono do lado do servidor que ajudará a você obter o melhor desempenho possível a partir dos seus serviços do localizador. Este método funciona com localizadores que você publicou em seu portal e adicionou como um serviço de utilitário. Para mais informações sobre criar localizadores, compartilhá-los em um portal, e adicioná-los como um serviço de utilitário, consulte Configurar o portal para endereços de geocodificação.

Vantagens

Podemos aproveitar o poder do ArcGIS Enterprise para aproveitar ao máximo seus serviços de geocodificação publicados. Após um localizador ser compartilhado em seu portal, ele poderá ser utilizado para realizar a geocodificação em lote. Algumas vantagens de utilizar seu portal para realizar a geocodificação em lote incluem:

  • Maximizar recursos de servidor para concluir o trabalho de geocodificação em lote o mais rápido possível.
  • Permitir ao administrador do ArcGIS gerenciar os recursos de back-end e não sobrecarregar serviços.
  • Executar uma grande geocodificação em lote atrás do firewall da sua organização utilizando seus dados e seu próprio localizador publicado.
  • A fragmentação e repetição de lógica são construídas para garantir que grandes trabalhos de geocodificação em lote não falhem.

Arquitetura

Para obter o máximo dos seus serviços de localizador publicados, você pode dimensionar o número de instâncias do GeocodeServer. Você pode fazer isto indo até o diretório Serviços no ArcGIS Server Manager e após selecionar o serviço de geocodificação que deseja dimensionar, vá até a guia Agrupar e altere os parâmetros Número mínimo de instâncias por máquina e Número máximo de instâncias por máquina . Para geocodificação, estes números devem sempre ser iguais. Se você desejar quatro instâncias disponíveis em todos os momentos, você poderá alterar estes valores para 4.

Adicionando numBatchThreads

No diagrama acima, o administrador do ArcGIS dimensionou o serviço para quatro instâncias. O administrador ArcGIS da sua organização pode então configurar a propriedade numBatchThreads para 4 no localizador e alcançar um aumento quádruplo no desempenho da geocodificação em lote. O administrador pode configurar a propriedade numBatchThreads na localização de compartilhamento do Portal for ArcGIS Diretório . Note que se dois usuários desejarem a execução da geocodificação de lote simultaneamente, o administrador ArcGIS talvez queira definir a propriedade numBatchThreads para 2 ou os trabalhos serão enfileirados e potencialmente expirar enquanto esperam por outro trabalho finalizar. Deste modo, cada trabalho de geocodificação em lote será executado com duas das instâncias disponíveis, e os serviços do localizador de back-end poderão lidar com a carga de enviar múltiplos trabalhos simultaneamente.

Configuração

As seguintes etapas descrevem como o administrador do ArcGIS pode configurar seu portal para alavancar o padrão de geocodificação em lote assíncrono descrito acima.

Adicionar log para mais comentários durante a geocodificação em lote

Por padrão, o nível de mensagem do serviço de geoprocessamento GeocodingTools é definido para Aviso. Para obter mensagens de erro mais detalhadas, e para obter melhores atualizações sobre o status do seu trabalho de geocodificação em lote, você pode definir o nível de registro do serviço de geoprocessamento GeocodingTools para Info.

  1. Navegue até o Gerenciador do ArcGIS Server do seu servidor de hospedagem.
  2. Clique na pasta Utilitários no diretório do Gerenciador do Servidor.
  3. Clique no serviço de geoprocessamento GeocodingTools .
  4. Clique no banner Parâmetros à esquerda e altere Nível de Mensagem para Info. Então, clique no botão Salvar e Reiniciar no canto superior direito .

Alterar o nível de registro para Info causará uma ligeira diminuição no desempenho, mas fornecerá um melhor retorno de progresso do trabalho e mais informações sobre possíveis erros, caso ocorram. Estes benefícios podem ser vistos nas ferramentas Tabela de Geocodificação, Geocodificar Local da Tabela, e Arquivo de Geocodificação no ArcGIS Pro.

Aumentar o tempo limite para geocodificação em lote

Por padrão, o serviço de geoprocessamento GeocodingTools atinge o tempo limite em tarefas com mais de 200 minutos. Se você antecipar que um trabalho de geocodificação em lote levará mais de 3 horas e 20 minutos para ser concluído, será necessário aumentar o tempo máximo que um cliente pode utilizar o serviço.

  1. Navegue até o Gerenciador do ArcGIS Server do seu servidor de hospedagem.
  2. Clique na pasta Utilitários no diretório do Gerenciador do Servidor.
  3. Clique no serviço de geoprocessamento GeocodingTools .
  4. Clique no banner Agrupar à esquerda e altere o tempo máximo que um cliente pode utilizar o serviço. Aumentar este valor para um número muito grande garante que os grandes trabalhos de geocodificação em lote nunca expirem. Então, clique no botão Salvar e Reiniciar no canto superior direito .

Configurar o número sugerido dos pedidos de geocodificação em lote concorrentes (numBatchThreads) para seu localizador

O localizador do portal também pode ser utilizado pelo serviço de geoprocessamento GeocodingTools executando no seu site do GIS Server federado. O serviço de geoprocessamento pode enviar múltiplos pedidos concorrentes ao serviço do utilitário de geocódigo para acelerar a execução global para geocodificação em lote. O número de pedidos concorrentes feitos pelo serviço de geoprocessamento pode ser configurado por um administrador do portal. Se o serviço de geoprocessamento estiver criando pedidos concorrentes excessivos no localizador, ele poderá ter um desempenho ruim e resultar no aumento de falhas ao executar o serviço de geoprocessamento. Por esta razão, o administrador deve configurar o número de instâncias utilizadas pelo serviço de geoprocessamento baseado no número de instâncias disponíveis para o serviço de localizador e também configurar o número de pedidos da geocodificação em lote concorrentes que pode ser feito de qualquer instância do serviço de geoprocessamento GeocodingTools.

Como uma melhor prática, o número de instâncias para o serviço de localizador deve sempre ser maior ou igual ao número de instâncias disponíveis para o serviço de geoprocessamento GeocodingTools. O número de pedidos de geocodificação em lote concorrentes deve ser configurado proporcionalmente ao número de instâncias disponíveis para ambos o serviço de localizador e o serviço de geoprocessamento. Por exemplo, se houver oito instâncias disponíveis para o serviço de localizador e duas instâncias disponíveis para o serviço de geoprocessamento, defina os pedidos de geocodificação em lote concorrentes para 4. Quando o serviço de geoprocessamento for executado, ele enviará quatro pedidos de geocodificação em lote concorrentes para o serviço de localizador. No caso de mais instâncias estarem disponíveis para o serviço de localizador, ajuste o número de pedidos da geocodificação em lote concorrentes apropriadamente para maximizar a utilização de instâncias para o serviço de localizador.

Note que o Esri World Batch Geocoder não pode ser configurado para utilizar mais pedidos concorrentes. A seguinte configuração se aplica a todos os outros serviços de localizador publicados que são configurados como serviços do utilitário.

Para configurar o número sugerido de pedidos da geocodificação em lote concorrentes para seu serviço de localizador, siga estas etapas:

  1. Vá até o local de compartilhamento do Portal for ArcGIS Diretório e entre como um membro com privilégios administrativos. A URL está no formato https://webadaptorhost.domain.com/<webadaptorname>/sharing/rest.
  2. Navegue até Página Inicial > Portais > Próprio.
  3. Na parte inferior da página, clique em Atualizar.
  4. Na caixa de texto Serviço de Geocódigo você visualizará os serviços de localizador atualmente configurados com o portal. Para os serviços que permitem a geocodificação em lote (aqueles serviços que têm a propriedade batchconfigurada para true), você pode configurar o número sugerido de pedidos da geocodificação em lote concorrentes. Escolha o serviço que você deseja configurar com esta propriedade. O JSON na caixa de texto Serviço de Geocódigo estará no seguinte formato:
    [{
            "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. Adicione a propriedade numBatchThreads para todos os serviços de localizador que você deseja utilizar com o serviço de geoprocessamento GeocodingTools. Para configurar o valor numBatchThreads, primeiro determine o número de pedidos da geocodificação em lote concorrentes que você deseja habilitar para um determinado serviço de localizador, e configure a propriedade igual a este número. Note que para configurar numBatchThreads no serviço de localizador, ele deve ter batch configurado para true.

    Neste exemplo, o número de pedidos de geocodificação em lote concorrentes permitidos para o serviço do utilitário Streetmap Premium USA Geocoder está configurado para 4.

    [{
            "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. Após você ter atualizado o JSON na caixa de texto Serviço de Geocódigo, clique em Atualizar Organização na parte inferior da página.

Ferramentas habilitadas para geocodificação em lote

Após o administrador do ArcGIS ter configurado o numBatchThreads por localizador, os usuários podem aproveitar-se do desempenho aumentado nos seus trabalhos de geocodificação em lote. As ferramentas que aproveitam-se deste aumento de desempenho são Tabela de Geocodificação, Geocodificar Local da Tabela e Arquivo de Geocodificação no ArcGIS Pro, como também Geocodificar Local da Tabela no Map Viewer.