Daha çox

QGIS-də atribut cədvəlinə yazılmış shapefile adını necə düzəltmək olar?


Bir əvvəlki sualdan bir neçə QGIS pythonscript kodunu bir shapefile fayl adını həmin shapefiles atribut cədvəlinə birdən çox shapefile birləşdirməyə giriş üçün bir başlanğıc olaraq təyin etmək üçün uyğunlaşdırdım (SAGA plagini mənim üçün işləmir). Belə görünür:

## Cədvələ Fayl Adı əlavə edin = name ## Input_Folder = Qovluq ## nomodeler import os import glob from os.path import expanduser home = expanduser ("~") # Input Folder #path_dir = home + "/ Documents / GIS Data / TEMP / "+ Folder_Name path_dir = Giriş_Folder # Bu parametrdən giriş götürülür #" qovluq "un mövcud olduğunu yoxlayın və yoxsa os.path.exists (path_dir +" / Results "): os.makedirs (path_dir) + "/ Nəticələr") progress.setInfo ("Saxlama məkanının qurulması") # Yadda saxlama yerini "nəticələr" qovluğuna qurun path_res = path_dir + "/ Nəticələr" progress.setInfo ("Faylın işlənməsi başlayır") def run (): # İş qovluğunu qurun və bütün şəkilləri axtarın, sonra glob.glob ("*. Shp") üçün fname üçün alqoritm os.chdir (path_dir) çalıştırın: formula = "'" + fname + "'" Processing.runalg ("qgis: fieldcalculator ", fname, 'Filename', 2, 50, 0, True, formula, path_res +" / "+ fname) # Nəticə qovluğundakı biçimlərin yolları, siyahı anlama çıktısı = [shp for glob.glob ( path_res + "* .shp")] run () pr ogress.setInfo ("Bitirdi")

Hal-hazırda bütün fayl adını atribut cədvəlinə əlavə edir. Fayl adını kəsmək üçün formulu necə dəyişdirərdim, məsələn "HP_SomeText.shp" adlı bir shapefile OS karo kodunu çıxarmaq üçün?


İlk iki simvolunu almaq üçün aşağıdakı sətirdən istifadə edə bilərsinizfnamevə özünüzə qoyun Atribut Cədvəli. Cari dəyişdirindüstur:

formula = "'" + fname + "'"

bununla:

formula = "left ('" + fname + "', 2)"

Ümid edirəm kömək edər!


Videoya baxın: QGIS # SPLIT VECTOR LAYER # POLYGON SHAPEFILE (Oktyabr 2021).