Daha çox

Niyə alət çıxışları python skript alətinin sonunda mxd -dən yox olur?

Niyə alət çıxışları python skript alətinin sonunda mxd -dən yox olur?


Aşağıdakı skript yaxşı işləyir və düzgün çıxışı təmin edir, amma mənim çıxışım ArcMap -ə əlavə olunduqdan sonra, bunu etmək istədiyimdən sonra skript bitdikcə yox olur. Skript bitdikdən sonra məlumatlarımın xəritədə görünməsini və yox olmamasını istərdim.

İşdə baş verənlər:

  1. Tampon çıxışı "TestFC_buf" xəritəyə əlavə olunur.
  2. "Skript bitdi." və "Tamamlanmış skript TestAddToMap ..." skript dialoq pəncərəsinə yazdırır.
  3. "TestFC_buf" xəritədə yox olur.
  4. "06 Avqust Çərşənbə günü Uğurlandı ..." skript dialoq pəncərəsinə yazdırılır.

Budur skript dialoqu:

Və kod budur:

arcpy, os arcpy.env.overwriteOutput = True arcpy.env.addOutputsToMap = True arcpy.env.workspace = r "C:  Users  kgrady  Desktop  Temp  AddOutputToMap_Test  Test.gdb" iş yeri = arcpyv fc = "TestFC" çıxışı = os.path.join (iş sahəsi, "TestFC_buf") arcpy.Buffer_analysis (fc, çıxış, "1 Mile") arcpy.AddMessage ("Skript Bitdi.")

Çıxışın xəritədən niyə yox olması ilə bağlı hər hansı bir fikir varmı?


Ayarlaya bilərsinizaddOutputsToMapYanlışvə bunun əvəzinə tampon çıxışını Layer obyektinə çevirin və AddLayer funksiyasından istifadə edərək cari MXD -yə əlavə edin.

idxal arcpy, os arcpy.env.overwriteOutput = Doğru arcpy.env.addOutputsToMap = Yanlış iş sahəsi = r "C:  Users  kgrady  Desktop  Temp  AddOutputToMap_Test  Test.gdb" arcpy.env.workspace = workspace. mapping.MapDocument ("CARİ") df = arcpy.mapping.ListDataFrames (mxd) [0] fc = "TestFC" çıxışı = os.path.join (iş sahəsi, "TestFC_buf") arcpy.Buffer_analysis (fc, çıxış, "1) Mil ") qat = arcpy.mapping.Layer (çıxış) arcpy.mapping.AddLayer (df, qat) arcpy.AddMessage (" Skript Bitdi. ")