Existe um limite efetivo para a tarefa de geoprocessamento Geocode Addresses?


8

O problema que enfrento tem os seguintes antecedentes:

Estamos geocodificando um imenso diretório de registros. É algo além de 100 milhões de endereços. Dividi os endereços em uma razão geográfica tão pequena quanto considero viável, afirma. Mesmo assim, um único estado pode ter mais de 5 milhões de registros para geocodificar. O script arcpy que eu compus passará pelos endereços de cada estado e executará o processo de geocodificação apropriado com o localizador apropriado.

O problema:

Às vezes, leva 36 horas, às vezes, leva apenas 20, mas o script para com um erro que eu nunca vi antes (isso é do arquivo de log XML):
ERROR 001143: Background server threw an excecption.

  • Se o script for executado na janela Python do ArcCatalog ou Arcmap, ele mostrará uma mensagem de erro vermelha Runtime error <class 'arcgisscripting.ExecuteError'>: ERROR 001143: Background server threw an excecption.
  • Se o script for executado no IDLE, ele simplesmente interromperá o processamento sem erros e reiniciará o shell (com o =====RESTART=====cabeçalho típico ).

Eu sei que esse script arcpy funciona com conjuntos de dados menores, pois eu o uso há meses. Qual pode ser a causa desse erro? Preciso dividir minhas listagens de endereços em quantidades menores para que sejam geocodificadas de forma confiável?

EDIT: localizei os logs do visualizador de eventos por @DE Wright e foi o que encontrei listado na falha mais recente

Faulting application name: pythonw.exe, version: 0.0.0.0, time stamp: 0x4ba3e4e2
Faulting module name: Geocoding.dll, version: 10.0.1.2800, time stamp: 0x4cbcbb71
Exception code: 0xc0000005
Fault offset: 0x000be1f3
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13

Não é exatamente iluminador ...


Você está executando isso com um servidor de serviços nos quais está geocodificando? Parece que sim; e, nesse caso, você pode estar vendo o tempo limite dos Serviços da Web ou a contagem de transações que estão reciclando os serviços que estão interrompendo seu processo.
— DEWright

Todos os dados são locais, receio, e é isso que me confunde tanto.
— Nathanus

Você está usando o ArcGIS 10? Há um processo atualizado quando o software é executado, você pode vê-lo no gerenciador de tarefas chamado ARCSOCM.exe, que é essencialmente um processo do servidor ESRI em execução localmente na sua máquina para lidar com o processo em segundo plano. O que você pode estar vendo é esse processo falhando ou explodindo em você; você pode tentar verificar o visualizador de eventos na máquina e verificar se há algum erro no aplicativo sendo registrado; que às vezes pode dar informações.
— DEWright

Desculpe, eles são chamados ArcSOCP.exe e ArcSOMP.exe, que são esses processos locais que são executados.
— DEWright

1
Meus localizadores são do tamanho do estado. Eu provavelmente faria o pré-processamento com um comando * nix split para simplesmente dividir os arquivos de texto em 1-2 milhões de pedaços do tamanho de registros antes de transformá-los em tabelas. Embora a etapa extra de torná-las tabelas possa ser uma perda de tempo, pois é possível geocodificar arquivos de texto.
— Nathanus 11/01/12

Respostas:


1

Aqui está um white paper do 09 que também contém alguns tópicos bons sobre como tornar a configuração dos dados mais eficiente - http://esri.com/library/whitepapers/pdfs/arcgis-server-in-practice.pdf - e aqui é o link para o download que deve ser mais útil - http://resources.arcgis.com/gallery/file/geocoding/… - Você deve encontrar os dois para ajudá-lo muito.

Você também pode me enviar uma mensagem direta com mais perguntas, já que realizamos muitos processos em escala de estado completo e estamos sempre procurando colaborar.


Eu acho que poderia usar alguma discussão com alguém familiarizado com os "padrões" de geocodificação da ESRI. Como posso entrar em contato com você?
— Nathanus

Você pode encontrar o meu endereço do Gmail no meu perfil, podemos começar por aí.
— DEWright

0

Talvez esta resposta o ajude. 100 milhões de endereços não devem demorar muito mais que um dia para serem processados ​​e codificados geograficamente. Lembre-se de que não estamos apenas geocodificando os endereços, mas também padronizando-os e verificando-os. Se a geocodificação fosse a única tarefa, seria ainda mais rápida.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.