Daha çox

Çoxbucaqlı bağlamalar seçin və çoxbucaqlılardan asılı olaraq yanacaq əlavə edin


Bir çox xüsusiyyət sinifim var (fərqli poliqonlarla xidmət sahəsinin nəticələri (0-dan 10/10-a 20/20-dən 40-a və 40-dan 60-a qədər) (şəkil 1)

Həm də çoxlu bağlamalı bir shapefile var (şəkil 2)

İndi çoxbucaqlılarda yerləşən bağlamaları seçmək istəyirəm (şəkil 1) bundan sonra parsel 0-dan 10-a qədər çoxbucaqda yerləşsə, rəqəm 3-ə bərabər olan formalı 'bağlamalar' a bir sahə əlavə etmək istəyirəm. bağlama 10-dan 20-yə, 20-dən 40-a çoxbucaqlı üçün 2 və 40-dan 60-a qədər olan çoxbucaqda yerləşir.

Xidmət sahəmin növbəti nəticəsi üçün (şəkil 1) başqa bir zaman aşamasından və ya başqa bir yerdən bu poliqonlarda yerləşən bağlamaları seçmək istəyirəm, əgər 4 nömrəli bir sahə əlavə edimsə…, əgər 3 rəqəmi varsa ... Buna görə də şəkil 3 kimi cədvəl


Buna bir Məkan Qoşulma (məzmun cədvəlinə sağ vurun -> Qoşulun -> Məkan məkanına əsaslanan məlumatları birləşdirin) istifadə etməklə nail olmaq olar. Mekansal birləşmə atributları bir xüsusiyyət sinfindən digərinə yerə görə ötürməyə imkan verəcəkdir. Bununla birlikdə, çoxbucaqlar arasında məkan birləşməsini həyata keçirdiyim zaman həmişə sərhədlərlə bağlı problemlərlə üzləşmişəm. Nəticələrinizin xüsusiyyətlərinizin harada düşdüyü baxımından ən mənalı olmasına əmin olmaq üçün əvvəlcə bağlama xüsusiyyət sinifindəki bütün sahələrinizi söndürməyinizi təklif edirəm (məzmun cədvəlində sağ klikləyin -> Xüsusiyyətlər -> Sahələr) və sonra bir Xüsusiyyət göstərin bağlama xüsusiyyət sinifinizdə konversiyanı göstərin. Seçdiyinizə əmin olunİÇƏRİnöqtə yeriniz kimi.

Bağlamanız xal olduqdan sonra məkan birləşməsi daha etibarlı olacaqdır. Təsnifatınızı əsas götürmək istədiyiniz sahə xaricində xidmət sahəniz xüsusiyyət sinifindəki bütün sahələri söndürün. BirMəkan Qeydiyyatxidmət sahənizi qoşulma xüsusiyyəti olaraq istifadə edərək bağlama nöqtələrinizdə.

Mekansal birləşməyinizin nəticəsi, xidmət sahəsi xüsusiyyət sinifindən sahəni ehtiva edən bir nöqtə xüsusiyyət sinfi olmalıdır. Bu təyinatları dəyərlərinə əsasən dəyişdirmək istəyirsən, Sahə Kalkulyatoruna daxil olmaq üçün atribut cədvəlini aç. Təyinat sahəsinin başlığını sağ vurun və seçinSahə Kalkulyatoru.

SizinSahə Kalkulyatoruinformasiya qutusu, təhlilçi olaraq Python seçin və Show Codeblock düyməsini vurun. Kod blokunuzda belə bir şeyi sınayın:

def UpdateField (fldValue): fldValue> = 0 və fldValue <10: 1 elif fldValue> = 10 və fldValue <20: return 2 elif fldValue> = 20 və fldValue <30: return 3

Yuxarıdakı koddaif / elif fldValue> = * və fldValue <*giriş aralığınızı təyin edir vəqayıt 1həmin aralığa çevirmək istədiyiniz dəyəri göstərir (bu halda,1).

Sonra girişUpdateField (!serviceAreaFld!)sahə kalkulyatoruna, harada serviceAreaFld təyinatını kənarlaşdırmaq istədiyiniz dəyərləri ehtiva edən sahənin adıdır.

İndi atribut dəyərləriniz istədiyiniz kimi olmalıdır. Daha birini yerinə yetirinMəkan Qeydiyyat, bu dəfə xallarınızı qoşulma xüsusiyyəti olaraq istifadə edərək bağlamanızda. Bu, ballarınızdan dəyəri parsel xüsusiyyət sinifinə köçürəcəkdir.


xidmət sahənizin bağlamaların üst-üstə düşməsi xüsusiyyətini əldə etmək üçün məkan qoşulmasından istifadə edə bilərsiniz. Sonra sahə kalkulyatorundan istifadə edərək dəyərləri dəyişə bilərsiniz.


Videoya baxın: Güvən Dördbucaqlılar B variantı bütün izahlar Online dərslər Nicat Bağışzadə (Oktyabr 2021).