Daha çox

Ardından ArcGIS Sahə Kalkulyatorundakı ifadələr


Bunun vbscript və ya python-da ən yaxşı şəkildə həll ediləcəyinə əmin deyiləm və təəssüf ki, hər ikisində də təcrübəsizəm, buna görə mübadilə ilə bağlı hər hansı bir kömək alacağam.

Küçələrimin təbəqəsini götürməyə və müəyyən bir sıra ad adları üçün "tip" sahəsini silməyə çalışıram. "Prospekt A", "prospekt B", prospekt C "və bu kimi hər hansı bir küçənin" TİP "sahəsinin boşaldılmasına ehtiyac olardı. Ancaq bütün digər küçələr və küçə növləri xatırladırdı.

Niyə mənim vəziyyətimi bir az daha yaxşı başa düşməyinizə kömək edə biləcəyinə dair kiçik bir açıqlama: Bələdiyyəmizdə həm ön, həm alt adı, həm də küçə məlumatlarını göstərmək üçün zəngləri və statistikanı izləyən təcili müdaxilə proqramımız var. hər küçə üçün. "Avenue A AVE" ni göstərən "prospekt A" tipli küçələr xaricində bütün küçələr düzgün şəkildə göstərilir. Hər hansı bir AVE tipli küçə düzgün şəkildə göstərilir, məsələn: Baltic AVE, Crawford AVE, və s. Lakin "prospekt (məktub)" küçələri "TYPE" sahəsinə yerləşməyəcəkdir. Ümid edirəm bunun mənası var.

Buna görə mənə lazım olan hər hansı bir [SUBNAME] "AVENUE #" küçəsini axtaracaq və bunun üçün [TYPE] sahəsini boşaltacaq bir sahə kalkulyatoru skriptidir. Aşağıdakıları yaratmaq üçün VBscript haqqında qeyri-kafi biliklərimlə bir az SQL sınadım (işə yaramadı):

IF [SUBNAME] = "AVENUE *" ONDA DƏYİŞİN ([TYPE], "AVE", "")


istifadə edin (dəyişdirin [type], "AVENUE%", "") Sahə kalkulyatorundan istifadə etməyin bir çox yolu var.
Təcrübəmdəki if then ifadəsini istifadə etməyə çalışarkən, ehtimal ki, bir regex öyrənməyə çalışmaq istəyəcəksiniz. Simli və ya ədədi ardıcıllığı tapmaq və dəyişiklik etməyə imkan vermək üçün çox güclüdür.
Ehtiyac yoxdur daha çox sualınızda onsuz da qaçdıqlarınızdan daha asan bir neçə əsas sahə kalkulyatoru ifadələri ilə həyata keçirə bilərsiniz.
Həm python, həm də vbscript üçün köhnə və yeni esri sənədlərinə sizə bir guru etməyə kömək edəcək bəzi bağlantılar.
Köhnə vbscript pdf kömək edir, lakin yenə də faydalıdır.
Bir gp alətindən istifadə üçün 9.3 sənəd.
10.3 təməl sənəd
10.3 sahə kalkulyatoru nümunələri
Və ya sahədəki dəyişikliyi qalıcı olaraq etmək deyil, etiketləməyinizi dəyişdirmək üçün.
Tiplər üçün ayrıca sql ifadələrini müəyyənləşdirin və hər birini fərqli şəkildə etiketləyin.


Düzgün yazılmış bir sahə kalkulyatoru ifadəsi ilə istədiyinizi edə bilərdiniz, amma bunun əvəzinə problemi həll etmək üçün 2 addımlıq bir metod tövsiyə edirəm. Düzəlişə ehtiyacı olan xüsusiyyətlərdən bir seçim edin və sonra seçilmiş xüsusiyyətləri düzəltmək üçün çox sadə bir sahə kalkulyatoru ifadəsini işə salın, bu şəkildə dəyişiklik etmədən əvvəl hansı xüsusiyyətlərin təsir ediləcəyini əl ilə nəzərdən keçirə bilərsiniz.

Əvvəlcə düzəltməli olduğunuz yollardan bir seçim yaradın. ArcMap-da Atributla Seçin və Bəyənmə operatorunu istifadə edərək SQL Seçimi edəcəksiniz. Məsələn, aşağıdakı kimi bir şey edin: 'Avenue%' BİR SUBNAME (məlumat mənbəyinizə görə ifadəni biraz tənzimləməlisiniz, ancaq oxşar ifadəni təkrarlamaq üçün daxili ifadə qurucusundan istifadə etməlisiniz). Model Builder və ya python skriptindən istifadə edirsinizsə, əvvəlcə Xüsusiyyət Qatını GP etmə alətini işə salmalı və sonra Atributla Seçin. Xüsusiyyətlər seçildikdən sonra, seçilən və seçilməmiş xüsusiyyətləri əl ilə nəzərdən keçirməyi məsləhət görürəm ki, istədiklərinizin hamısına və yalnız istədiklərinizin daxil olmasına əmin olun.

Sonra, sahə kalkulyatoru ifadə dili olaraq Python istifadə edərək, TYPE sahəsindəki sahə kalkulyatorunu çalıştırın və ifadə üçün sadəcə söz yazınYoxdur(ilk N hərflə yazılır, vacibdir). Bu sahəni qoyacaq. Null'ları istəmirsinizsə və ya sahəniz / məlumat tipiniz Nullları dəstəkləmirsə (məsələn shapefile kimi), bunun əvəzinə "" ola bilərsiniz.

Sahə kalkulyatorunu seçilmiş xüsusiyyətlərin alt dəsti olan bir təbəqəyə qarşı çalıştırdığınız zaman, sahə kalkulyatoru yalnız seçilmiş xüsusiyyətləri redaktə edəcəkdir. Beləliklə, tətbiq olunan bütün yolları seçin və sonra hamısını yeni istədiyiniz dəyərə hesablayın. Heç bir kompleks kalkulyator ifadəsi lazım deyil.


Videoya baxın: Four Advanced Field Calculator Tricks (Oktyabr 2021).