Daha çox

Arcpy CalculateField ArcGIS Server 10.0-da işləmir

Arcpy CalculateField ArcGIS Server 10.0-da işləmir


ArcGIS 10.0 sp5 üzərində işləyirəm. Çox qəribə bir davranışım var. Arcpy skriptində bir cədvələ "ID_UDF" sahəsi əlavə etmək və sonra bir dəyər ilə doldurmaq üçün bu iki çox sadə əmr var:

arcpy.AddField_management (cədvəl, "ID_UDF", "LONG", "", "", "", "", "NULLABLE", "NON_REQUIRED", "") arcpy.CalculateField_management (cədvəl, "ID_UDF", '{0 } '. format (ID_UDF), "VB", "")

Ssenari bir Toolbox içərisindədir. Ssenarini ArcGIS Desktop ilə icra etsəm, yaxşı işləyir və ID_UDF sahəsi düzgün əlavə olunur və dəyərlə doldurulur. Toolbox'ı ArcGIS Server ilə yayımlasam və oradan icra edərəmsə, sahə əlavə olunur, lakin doldurulmur, NULL dəyəri ilə qalır.

Hər iki halda da Geoprosessinq jurnalında heç bir səhvim yoxdur və hər iki əmr (AddField və CalculateField) uğurla icra olunur.

AddField əmrini silsəm də (ehtimal ki, sahə artıq yaradılıb), yalnız CalculateField ArcGIS Desktop ilə düzgün işləyir, lakin ArcGIS Server ilə deyil. Ssenaridə hər iki mühitdə yaxşı işləyən bir çox əmr var.

Fikirləriniz varmı?


  1. Formatda uzun bir sahə yaratmısınız. bu formatda məlumat əlavə etməlisiniz. Ancaq funksiyanız "{}" sətir dəyərini qaytarır. ID_UDF mətndə saxlanılırsa format (x), onu uzun (float (id_udf)) ilə çevirə bilərsiniz
  2. Pythondakı sahəni hesablamaq istəyirsinizsə, "VB" -ni "PYTHON" və ya "PYTHON_9.3" ilə əvəz edin

    arcpy.CalculateField_management (cədvəl, "ID_UDF", uzun ('! FIELDNAME!'), "PYTHON_9.3")

qeyd: İstəyə görə paramterdə boş dəyər əlavə etmək lazım deyil. Bunu görməməzlikdən gələ bilərsiniz


Videoya baxın: Field Calculations in ArcPro Basic Introduction