Autorius Tema: QGIS: Kaip padaryti automatinį duomenų formato keitimą atributinėje lentelėje?  (Skaityta 2653 kartus)

0 Nariai ir 1 Svečias peržiūrinėja šią temą.

Neprisijungęs AJ

  • Naujokas
  • *
  • Įrašai: 15
    • Žiūrėti profilį
pavyzdziui reikia tekstinius irasus pakeisti skaitmenine israiska (procentais, intervalais, skaitinem reiksmem). Jeigu tarkim turimi duomenys yra tekstiniai "tinkamas" reiskia nuo 70 iki 100 %, patenkinamas reiksia nuo 30-70 %, "netinkamas" reiskia nuo 0 iki 30 %. Taigi reikia dideli kieki duomenu suvestu kaip tekstiniai irasai pakeisti i procentine reiksme. kaip ta sukonfiguruot kad pakeistu visus irasus stulpelyje?
« Paskutinį kartą keitė: 2013 m. Spalio 29 d. 20:25:35 sukūrė Giedrius V. »

Neprisijungęs AJ

  • Naujokas
  • *
  • Įrašai: 15
    • Žiūrėti profilį
Ats: QGIS: Kaip padaryti automatinį duomenų formato keitimą atributinėje lentelėje?
« Atsakymas #1 Įrašytas: 2013 m. Spalio 31 d. 23:23:17 »
Atsakymas. Yra budas tiesiog pakeisti duomenis stulpelyje, tuomet naudojame FIELD CALCULATOR, pasirenkame funkcija STRING, toliau REPLACE ir ivedame sintakse ("Stulpelio pav",'Reiksme', 'Pakeista Reiksme')
pvz replace('QGIS SHOULD ROCK','SHOULD','DOES') → 'QGIS DOES ROCK'   Taip pat yra galimybe rinktis arba Update existing field, arba kurti nauja stulpeli Create new field. Funkcija patogi kai norima pakeisti viena irasa, nes jei stulpelyje yra dar viena skirtinga reiksme tai vienu metu abieju pakeist nesiseina.
Norint keisti iskart kelias skirtingas reiksmes (irasus) stulpelyje arba norint, kad norima reiksme irasytu atsizvelgiant i keliu stulpeliu duomenis, naudojame FIELD CALCULATOR toliau CONDITIONALS tada CASE ir gauname saligini sakini CASE WHEN condition THEN result END. Pavyzdziui.:

CASE
WHEN ( "Būklė" = 'Gera' ) THEN 'Sveikas'
WHEN ( "Būklė" = 'Patenkinama' ) THEN 'Sergantis'
WHEN ( "Būklė" = 'Perspektyvi' ) THEN 'Sveikstantis'
END

Gaunasi, kad nurodome tokia salyga - kai irasas stulpelyje "Bukle" atitinka (lygu) Gera, tada vietoj Gera iraso Sveikas ir taip toliau.
Arba kitas pvz:
CASE
WHEN ( "Rūšis" = 'Ą') AND ( "Diametras" = 100) THEN 'Ia'
WHEN ( "Rūšis" = 'Ą') AND ( "Diametras" < 10) THEN 'IIa'
END

Kai irasas stulpelyje "Rusis" atitinka Ą (Ąžuolą) ir kai irasas stulpelyje "Diametras" yra  = 100 cm, tada iraso reiksme Ia (pirmas ardas). Kita salyga - kai irasas stulpelyje "Rusis" atitinka Ą (Ąžuolą) ir kai irasas stulpelyje "Diametras" yra  > 10 cm, tada iraso reiksme IIa (antras ardas).
Kur irasys norimus gauti duomenis taip pat galima pasirinkti ar sukurti nauja stulpeli atributineje lenteleje create new field, arba, gali pakoreguoti esama - update existing field.