Daha çox

ModelBuilder -in məlumat olmadan rasters üzərində keçməsini təmin etmək üçün Python skript vasitəsi yazırsınız?


Bu model istehsalçısı raster çoxbucaqlı addıma qədər yaxşı işləyir. Bu mərhələdə xüsusiyyətləri olmayan rasterlər bir xətaya səbəb olur (səhv 010151). Modelin bu "xüsusiyyətsiz" rasterləri atlamasına səbəb olan çoxbucaqlıya rasterdən əvvəl bir addım qoymaq istərdim. Python və rasters ilə çox az təcrübəm var və bir az köməyə ehtiyacım var. Bir sıra sayma ardıcıllığı düzəltməyə çalışdım, amma çalışmadı, çünki rasterlərin yoxlayacaq cədvəli yox idi.


Cavabımı kiçik bir model istehsalçısı təcrübəm olduğuna dair xəbərdarlıqla bildirəcəyəm, amma başa düşə bildiyim şey budur.

Bu yazını tapdım və mənim üçün bir rasterin dəyərlərin olub olmadığını təyin etmək üçün ən yaxşı işləyən üçüncü üsul idi.

Yaratdım a.pyfayl və bu kodu əlavə et:

arcpy idxal numpy ras = arcpy.GetParameterAsText (0) array = arcpy.RasterToNumPyArray (ras) if numpy.max (array)> 0: arcpy.SetParameterAsText (1, ras) else: arcpy.SetParameterAsText (1) .SetParameterAsText (2, "Doğru")

Sonra xüsusi bir ArcGIS alət qutusu yaratdım və skriptimi əlavə etdim:

Bir neçə əsas xüsusiyyət əlavə etdim:

Python faylına yolu əlavə etdim:

Parametr xüsusiyyətlərini aşağıdakı kimi təyin etdim. Əmin olmaqDəyərləri VarDəyərləri yoxduristiqamətlərini təyin etdilərÇıxış:

Daha sonra ssenarini sürükləyərək/buraxaraq model qurucusuna daxil edə bildim:

Rasterin dəyərləri varsa, Has Values ​​çıxışı rasterə gedən yolun simli olacaq. Əks təqdirdə, boş bir sim olacaq.