Daha çox

Geoprocessing Service olaraq nəşr olunan Python Script Tool ilə arcpy.SetParameter () istifadə olunur?

Geoprocessing Service olaraq nəşr olunan Python Script Tool ilə arcpy.SetParameter () istifadə olunur?


Bir geoprosessing xidməti olaraq ArcGIS Server -də yayımlanması lazım olan bir skriptim var. Bu skript cədvəl şəklində bir sıra qeydlər hesablayır. Cədvəli (rekord dəsti) qaytarması üçün bir çıxış parametri təyin etməliyəm.

Beləliklə, bir cədvəl (xüsusiyyət sinfi deyil) olduğundan əmin olmaq üçün cədvəli in_memory iş sahəsinə çıxararaq arcpy.TableToTable_conversion () istifadə edirəm. Beləliklə, bir masamın olduğunu bilirəm. Arcpy.GetCount edə biləcəyim və qeydlərin sayını əldə edə bildiyim üçün qeydlərinin olduğunu bilirəm.

Çıxış parametrini təyin etdim. İşdə belə görünür:

arcpy.SetParameter (2, cədvəl)

Nə cəhd etsəm də bu işləmir. Alət qutumda çıxış parametri RecordSet olaraq təyin olunur. Bir qeyd cihazı obyekti, yaddaşdakı xüsusiyyət sinifinə gedən yol və bir çox başqa fikir verməyə çalışdım.

ArcGIS serveri üçün SetParameter -dən istifadə edərək bir cədvəlin rekord dəsti çıxışına düzgün şəkildə necə nəzarət edirsiniz?


Təcrübəmdə (və bunu düzəltməkdən çox xoşbəxtəm) bir geoprosessing xidməti qurarkən çıxış üçün verdiyiniz arqument obyektin özü deyil, obyektə (fayl yoluna) istinaddır.

Məlumat növü, aləti necə işlədiyinizə bağlı olaraq serverə məlumatların necə şərh ediləcəyini söyləyir (bir tətbiq daxilində avtomatik olaraq rekord dəsti göstərə bilər, SOAP-dan qeyd axını olaraq məlumat axını olaraq əldə edə bilərsiniz) ) və REST vasitəsilə yalnız bir keçid əldə edəcəksiniz).

Əsasən cədvəlinizi bu fayla yazmalısınız - ArcGIS serveri, modeli serverə əlavə etdiyiniz andan etibarən çıxış qovluğunuza əsaslanaraq avtomatik olaraq bir qovluq/iş yolu açacaq. məs.

  1. Serverdəki çıxış qovluğunuz ola bilərC:/arcgisserver/arcgisoutput
  2. Beləliklə, serverdə bu qovluq olur/arcgisoutput
  3. Sonra alət qutunuz üçün çıxışınız ola bilər/arcgisoutput/tabletoolbox
  4. Çıxış üçün dəyəriniz ola bilər%scratchworkspace%/tablename.csv

Qeyd edin%cızma işləri sahəsiArcGIS serverinin çıxış qovluqlarına daxil olmasına imkan verir. ESRI yardımındakı Geo İşlənmə Xidmətləri üçün Əsas Konsepsiyalara baxın.

Beləliklə, server avtomatik olaraq bir iş id (UUID) yaradır, çıxışınızda sizin üçün bir qovluq hazırlayır və bunu çıxış arqumentinizə əlavə edir. Orada məlumatlarınızı yazın və arcgis serverindən geri aldığınız zaman aşağıdakı kimi bir href linki alacaqsınız:http: //server_name/arcgisoutput/tabletoolbox/job_id/tablename.csv

İndi istədiyiniz şəkildə fayla daxil ola bilməlisiniz (istifadə edinurllib2.urlopen (yol). oxu ()Python -da sürətli bir qısa yol olaraq).

Ümid edirəm bütün bunlar aydındır! -H


Hesab edirəm ki, rekord dəsti parametri parametr skriptində əmələ gəlmək üçün qurulmuşdur.

Aləti birbaşa bir alət qutusu ilə və ya bir mxd layihəsi vasitəsi ilə nəşr edə biləcəyinizi də düşünürəm. Təcrübəmdə mxd layihələrində nəşr olunan vasitələrlə daha uğurlu olmuşam.

Bəzən mən yalnız python skriptinin ətrafında, yəni modelin içərisində yalnız ssenariyə sahib olduğum bir ModelBuilder modelini nəşr edərək geoprocessing xidmətləri problemlərini həll etdim və modelin xaricində skript parametrlərini ifşa etdim.


Videoya baxın: Creating Geoprocessing Services with Python Script Tools