Mais

Como solucionar um problema de falha grave em CopyFeatures_management ()


Eu tenho um script que usaarcpy.CopyFeatures_management (FEATURE_CLASS_SDE, FEATURE_CLASS_LOCAL)para copiar uma classe de recurso de nosso SDE corporativo para um geodatabase local. Na maior parte, funciona bem. Ocasionalmente, porém, falha de maneira espetacular.

quando falha, recebo uma mensagem informando que o python parou de funcionar com um minidespejo. É isso. Enrolei a linha que executa a cópia em uma tentativa ... exceto para obter mais informações, mas a exceção não foi detectada.

Alguma ideia de como posso resolver isso ainda mais?

ArcGIS 10.1 SP1 com QIP (Build 3300)

Atualização 1: quando executo o script no PyCharm, não consigo reproduzir o problema. Quando eu chamo o script de um arquivo em lote, na mesma estação de trabalho, o problema ocorre. Esta estação de trabalho tem 8 GB de RAM, bastante espaço em HDD disponível e, ao assistir o Monitor de Recursos, não vejo nenhuma indicação de que estamos perto de ficar sem recursos. Python.exe está usando cerca de 300 MB. Existem 95k recursos neste SDE FC.


Se a falha não acontecer ao copiar de um geodatabase local, começaria examinando alguns aspectos do geodatabase de origem:

  1. A classe de recursos

Características ruins podem causar problemas com a exportação de dados, falhas como polígonos não fechados ou auto-intersecção, anéis na direção errada etc ... A maioria dos DBMS tem métodos para validar a geometria das características, como o procedimento SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT da Oracle.

Você pode tentar executar a exportação com um subconjunto da classe de recurso, digamos em 500 lotes de recursos por objectid para ver se a falha é previsível e sempre no mesmo objectID.

  1. A falha ocorre com diferentes classes de recursos no mesmo ArcSDE Geodatabase?

  2. Existe algo nos logs ArcSDE e RDBMS?

Por exemplo, se você estiver usando conexão direta com ArcSDE, você pode verificar o sdedc_.registroarquivo em sua estação de trabalho para quaisquer erros encontrados com a exportação - geralmente está no diretório temporário de seu perfil.

Se estiver usando o ArcSDE Application Server, ele terá seu próprio arquivo de log que o DBA / SysAdmin pode retirar para você.

Existem algumas dicas, mas podem ajudá-lo a descobrir onde está o problema.