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.
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.
- Navegue até o Gerenciador do ArcGIS Server do seu servidor de hospedagem.
- Clique na pasta Utilitários no diretório do Gerenciador do Servidor.
- Clique no serviço de geoprocessamento GeocodingTools .
- 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.
- Navegue até o Gerenciador do ArcGIS Server do seu servidor de hospedagem.
- Clique na pasta Utilitários no diretório do Gerenciador do Servidor.
- Clique no serviço de geoprocessamento GeocodingTools .
- 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:
- 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.
- Navegue até Página Inicial > Portais > Próprio.
- Na parte inferior da página, clique em Atualizar.
- 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 }]
- 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 }]
- 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.