¿Existe un límite efectivo para la tarea de geoprocesamiento Geocode Addresses?


8

El problema que enfrento tiene los siguientes antecedentes:

Estamos geocodificando un inmenso directorio de registros. Es algo que supera los 100 millones de direcciones. He dividido las direcciones en una razón geográfica tan pequeña como creo que es factible, afirma. Aun así, un solo estado puede tener más de 5 millones de registros para geocodificar. El script arcpy que compuse recorrerá las direcciones de cada estado y ejecutará el proceso de geocodificación adecuado con el localizador apropiado.

El problema:

A veces toma 36 horas, a veces solo 20, pero el script se detendrá con un error que nunca antes había visto (esto es del archivo de registro XML):
ERROR 001143: Background server threw an excecption.

  • Si la secuencia de comandos se ejecuta en ArcCatalog o en la ventana Python de Arcmap, mostrará un mensaje de error rojo Runtime error <class 'arcgisscripting.ExecuteError'>: ERROR 001143: Background server threw an excecption.
  • Si el script se ejecuta en IDLE, simplemente cesará el procesamiento sin un error y reiniciará el shell (con el =====RESTART=====encabezado típico ).

Sé que este script arcpy funciona con conjuntos de datos más pequeños, ya que lo he estado usando durante meses. ¿Cuál podría ser la causa de este error? ¿Necesito dividir mis listados de direcciones en cantidades más pequeñas para que puedan geocodificar de manera confiable?

EDITAR: rastreé los registros del Visor de eventos según @DE Wright y esto es lo que encontré en la lista del error más reciente

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

No es exactamente esclarecedor ...


¿Está ejecutando esto con un servidor de servicios que está geocodificando? Suena así; y si es así, es posible que esté viendo el tiempo de espera de los Servicios web o el recuento de transacciones que está reciclando los servicios que interrumpen su proceso.
DEWright

Todos los datos son locales, me temo, que es lo que me confunde tanto.
Nathanus

¿Estás usando ArcGIS 10? Hay un proceso actualizado cuando se ejecuta el software, puede verlo en su administrador de tareas llamado ARCSOCM.exe, que es esencialmente un proceso del servidor ESRI que se ejecuta localmente en su máquina para manejar el proceso en segundo plano. Lo que puede estar viendo es que este proceso falla o explota en usted; puede intentar verificar su visor de eventos en la máquina y ver si hay algún error en la aplicación que se está registrando; eso a veces puede dar información.
DEWright

Lo sentimos, se llaman ArcSOCP.exe y ArcSOMP.exe, que son estos procesos locales que se ejecutan.
DEWright

1
Mis localizadores son de tamaño estatal. Probablemente haría el preprocesamiento con un comando de división * nix para simplemente dividir los archivos de texto en 1-2 millones de fragmentos de tamaño de registro antes de convertirlos en tablas. Aunque el paso adicional de hacerlas tablas puede ser una pérdida de tiempo ya que puede geocodificar archivos de texto.
Nathanus el

Respuestas:


1

Aquí hay un documento técnico de 09 que también tiene algunos buenos temas sobre cómo hacer que su configuración de datos sea más eficiente: http://esri.com/library/whitepapers/pdfs/arcgis-server-in-practice.pdf , y aquí es el enlace a la descarga que debería ser más útil: http://resources.arcgis.com/gallery/file/geocoding/ ... - Debes encontrar ambos para ayudarte mucho.

También puede enviarme un mensaje directo con más preguntas, ya que hacemos muchos procesos a escala de estado completo y siempre estamos buscando colaborar.


Creo que podría usar un poco de discusión con alguien familiarizado con los "estándares" de geocodificación de ESRI. ¿Cómo puedo contactarlo?
Nathanus

Puede encontrar mi dirección de Gmail en mi perfil, podemos comenzar allí.
DEWright

0

Quizás esta respuesta te ayude. 100 millones de direcciones no deberían tomar más de un día para procesar y geocodificar. Tenga en cuenta que no solo estamos geocodificando las direcciones sino también estandarizándolas y verificándolas también. Si la geocodificación fuera la única tarea, sería aún más rápida.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.