Di più

Come risolvere un arresto anomalo su CopyFeatures_management()

Come risolvere un arresto anomalo su CopyFeatures_management()


Ho uno script che usaarcpy.CopyFeatures_management(FEATURE_CLASS_SDE, FEATURE_CLASS_LOCAL)per copiare una feature class dal nostro SDE aziendale in un geodatabase di file locale. Per la maggior parte, funziona bene. A volte, però, fallisce in modo spettacolare.

quando fallisce, ricevo un messaggio che afferma che Python ha smesso di funzionare con un minidump. Questo è tutto. Ho avvolto la linea che esegue la copia in un tentativo... tranne per ottenere maggiori informazioni ma l'eccezione non viene rilevata.

Delle idee come posso risolvere ulteriormente questo problema?

ArcGIS 10.1 SP1 con QIP (Build 3300)

Aggiornamento 1: quando eseguo lo script all'interno di PyCharm, non riesco a riprodurre il problema. Quando chiamo lo script da un file batch, sulla stessa workstation, si verifica il problema. Questa workstation ha 8 GB di RAM, un sacco di spazio disponibile su HDD e guardando Resource Monitor non vedo alcuna indicazione che siamo vicini all'esaurimento delle risorse. Python.exe utilizza circa 300 MB. Ci sono 95k caratteristiche in questo SDE FC.


Se l'arresto anomalo non si verifica durante la copia da un geodatabase locale, inizierei esaminando alcuni aspetti del geodatabase di origine:

  1. La classe caratteristica

Le funzionalità errate possono causare problemi con l'esportazione dei dati, errori come poligoni auto-intersecanti o non chiusi, anelli nella direzione sbagliata, ecc. La maggior parte dei DBMS ha metodi per convalidare la geometria delle funzionalità, come la procedura SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT di Oracle.

Potresti provare a eseguire l'esportazione con un sottoinsieme della feature class, ad esempio in 500 batch di funzionalità per objectid per vedere se l'errore è prevedibile e sempre sullo stesso objectID.

  1. L'arresto anomalo si verifica con diverse classi di entità geografiche nello stesso ArcSDE Geodatabase?

  2. C'è qualcosa nei log di ArcSDE e RDBMS?

Ad esempio, se si utilizza la connessione diretta ad ArcSDE, è possibile controllare il sdedc_.logfile sulla tua workstation per eventuali errori riscontrati con l'esportazione - di solito è nella directory temporanea del tuo profilo.

Se si utilizza ArcSDE Application Server, avrà il proprio file di registro che DBA/SysAdmin potrebbe estrarre per te.

Ci sono alcuni suggerimenti, ma potrebbero aiutarti a scoprire dove si trova il problema.


Guarda il video: Creating Feature Classes in ArcGIS Pro