Daha çox

Mətn və tam ədədləri simli sahədə necə birləşdirmək olar?

Mətn və tam ədədləri simli sahədə necə birləşdirmək olar?


İçərisində nömrələri olan bir sahəm var (sahə növü: ikiqat, rəqəm formatı: ədədi) və yeni bir sahə yaratmalı və rəqəmlərin önünə mətn qoymalıyam. Bilirəm ki, yeni bir sətir sahəsi əlavə etməliyəm, amma sahə kalkulyatoruna qoymaq üçün uyğun ifadə nədir?

Məsələn, nömrəm 123 olarsa, abc123 olaraq dəyişdirmək istəyirəm.

ArcMap 10.1 istifadə edirəm


Bu, istifadə etdiyiniz proqramdan asılı olacaq. Sualınızda Sahə Kalkulyatorundan bəhs etdiyiniz üçün dəyərləri çevirmək üçün bir proqramlaşdırma dili təhlilçisindən istifadə edəcəksiniz.

Python (ArcMap, QGIS) üçün python-un konvertasiya funksiyalarından istifadə edə bilərsiniz. Bu səhifə kifayət qədər yaxşı izah edir və nümunələr göstərir.

ArcMap və VBScript istifadə edirsinizsə, istifadə edə biləcəyiniz ikinci bir sıra funksiyalar var. Burada izah olunur və nümunələr də verilir.

Əsasən hər iki halda da ehtiyac duyulan sahəni çevirərkən iki sahənin birləşməsini edəcəyik.

Python: stringField + str (numberField)

VBScript: stringField & CStr (numberField)

Xəbərdarlıq: Bu sahə dəyərinin yoxlanılması və ya tökmə / dönüşüm / tip səhvini ata biləcək hər hansı bir şey üçün mühasibat deyil.

Hansı proqramdan istifadə etdiyinizi bizə söylədikdən sonra bu cavabı daha ətraflı və nümunələrlə düzəldə bilərəm.


Budur sualınızın həlli ArcMap 10.1 VB Script istifadə edərkən.

Bunun üçün nümunəniz olacaqdır: "abc" & [tam sayı] ifadə qutusu içərisində.

İfadəniz arasında bir boşluğa sahib olmaq istəsəniz: "abc" & "" & [tamsayı] (Orta mötərizələr arasında bir boşluq olduğuna diqqət yetirin).

Adəmin dediklərindən: Python təhlilçisindən istifadə etmək üçün tam ədədin bir sətrə atılması tələb olunur: "abc" + str (! integer!)


Ardınca olduğunuz sahə hesablama funksiyası concat () məs.

concat ('abc', 123)

Arcmapda bu nümunəni verdilər

http://resources.arcgis.com/en/help/main/10.1/index.html#//00170000004s000000

İki sahəni boşluq ayırıcı ilə birləşdirin

! SUB_REGION! + "" +! STATE_ABBR! pitonda


Bu tip əməliyyatı yerinə yetirmək üçün simli sinifin format metodundan istifadə etməyi məsləhət görürəm. Bənzər bir suala bir link:

ArcGIS-də simli və ədədi məlumatların birləşməsi

Ümumi qayda olaraq format metodunun lehinə birləşmə istifadə etməməlisiniz. Daha təmiz kod və son çıxış sətri üzərində daha çox nəzarətə sahib olacaqsınız.