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 ...

Nathanus
fonte
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.

DEWright
fonte
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.

Jeffrey
fonte