Daha çox

QGIS-də mətn atributunu simvollara görə necə bölmək olar?


Məsələn, yeni bir sütun etmək mümkündürmü? "Test" və "Ad" sütununun birinci hissəsini bölünərək saxlayın-?

Aşağıdakılara necə baxmalı olduğuna baxın:


Bəli sən bacararsan.

Aşağıdakı ifadə ilə Sahə kalkulyatorundan istifadə edin:

sol ("Ad", strpos ("Ad", '-'))

Strpos () funksiyası ilk '-' simvolunun indeks mövqeyini qaytaracaq və left () funksiyası sətri bu mövqedən əvvəl "düzəldir".


Sahə kalkulyatorunu aşağıdakı ifadə ilə istifadə edə bilərsiniz:

string_to_array ("Nombre", ")

String_to_array () funksiyası, verilən ayrıcıdan istifadə edərək sətri bir sıra halına ayırır.

Dizinin bəzi mövqelərini istəsəniz, mövqeyi əlavə edə bilərsiniz və dəyəri qaytaracaqdır. bunun kimi:

string_to_array ("Nombre", ") [2]


PyQGIS vasitəsi ilə mümkün həll.

Gəlin deyilən bir nöqtə qatının olduğunu düşünək"bəzi_ nöqtələr"atribut cədvəli ilə aşağıdakı şəkilə baxın.

İlə davam edinPlugins> Python Console> Show Editorvə ssenarini aşağıya yapışdırın

PyQt5.QtCore idxal QVariant qat = iface.activeLayer () əgər qat deyil.isValid (): print ("Layer yüklənmədi!") layer_provider = layer.dataProvider () layer_provider.addAttributes ([QgsField ("Test", QVariant .String)]) layer.updateFields () features = layer.getFeatures () layer.startEditing () in features for f: attrs = {2: f ['info']. Split ('-') [0]} layer_provider .changeAttributeValues ​​({f.id (): attrs}) layer.commitChanges ()

Çıxış axtarır


İstinadlar:


Videoya baxın: QGIS Browser Panel (Oktyabr 2021).