Viac

Je v poľnej kalkulačke QGIS funkcia Log alebo Ln?


Zdá sa mi, že nenájdem žiadny spôsob, ako prevziať logaritmus (prírodný alebo základ 10) poľa v QGIS. Dostal som sa k poľnej kalkulačke, ale nie je tu tlačidlo na prihlásenie a zdá sa mi, že nenájdem žiadny funkčný vzorec.

Momentálne používam 1.4.0 na linuxe. Odvtedy som v poznámkach k vydaniu o tomto pridaní nenašiel nič, ale vie niekto, či je to v novšom vydaní?

Veľká vďaka!


Ako riešenie tohto nedostatku v QGIS môžete otvoriť súbor .dbf svojej sady shapefile (najskôr ju exportovať do Shapefile, ak používate iný formát) a otvoriť ho v Libre Office Calc (alebo v openoffice, MS Excel 97 / 2003) na výpočet poľa v novom stĺpci s jedným z nasledujúcich vzorcov:

= LOG (číslo, základňa) = LOG10 (číslo) = LN (číslo)

Týmto spôsobom môžete použiť prakticky všetky funkcie tabuľky, pokiaľ počet funkcií neprekročí milióny a nezmeníte poradie ani nevymažete žiadne riadky.

Uistite sa, že hlavička stĺpca je kompatibilná s DBF

  1. Názov poľa (max. 10 znakov)
  2. údajový typ (najpravdepodobnejšie N pre číselné znaky alebo C pre reťazce znakov)
  3. dĺžka poľa (vrátane desatinných miest)
  4. počet desatinných miest (voliteľné pre N)

Príklad:

VALUE_LOG, N, 24,12

Pred akýmkoľvek uložením zálohujte pôvodný .dbf a otvorený uložte / nahraďte ako súbor dBase (.dbf).

Jeden súbor .dbf môže byť otvorený na úpravy iba jedným programom súčasne, takže nezabudnite najskôr načítať súbor shapefile v programe qgis a potom ho načítať v kalkulátore a naopak.


Do QGIS boli pridané požadované funkcie

http://hub.qgis.org/issues/4365#note-1

Takto to funguje (projekt QGIS) ... len sa opýtajte, či má zmysel, že bude pravdepodobne pridaný v krátkom čase;)


Toto je zoznam skutočných funkcií podporovaných poľnou kalkulačkou QGIS.

Ak zistíte, že niečo zjavne chýba, napríklad funkcia denníka, vložte lístok s požiadavkou na funkciu do sledovača chýb QGIS, napríklad

http://hub.qgis.org/issues/4365

Funkcie kalkulačky poľa QGIS:

'string' literálna hodnota reťazca

číslo číslo

NULL nulová hodnota

druhá odmocnina (a)

hriech (a) sínus a

cos (a) kosínus z b

tan (a) tangens a

asin (a) arcussinus z a

acos (a) arcuscosinus z a

atan (a) arcustangens a

na int (a) previesť reťazec a na celé číslo

na skutočný (a) previesť reťazec a na skutočný

na reťazec (a) prevedie číslo a na reťazec

malé písmená a) prevedú reťazec a na malé písmená

veľké písmená a) konvertujú reťazec a na veľké písmená

dĺžka (a) dĺžka šnúrky a

atan2 (y, x) arcustangens y / x pomocou znakov dvoch argumentov na určenie kvadrantu výsledku.

nahradiť (a, replacecethis, withthat) nahradiť replacecethis withthat v reťazci a

regexp_replace (a, nahradzuj to, čím) nahraď regulárny výraz nahradzuj týmto čím v reťazci a

substr (a, z, len) len znaky reťazca a začínajúce od (index prvých znakov je 1)

a || b zreťaziť reťazce a a b

$ rownum číslo aktuálny riadok

$ oblasť oblasti mnohouholníka

$ obvod obvod polygónu

$ dĺžka oblasti vedenia

$ id ID funkcie

$ x x súradnica bodu

$ y y súradnica bodu

xat (n) x súradnica n-tého bodu priamky (označuje začiatok od 0; pre posledný index platia záporné hodnoty)

yat (n) y súradnica n-tého bodu priamky (označuje začiatok od 0; pre posledný index platia záporné hodnoty)

a ^ b a povýšený na mocnosť b

a * b a vynásobené b

a / b a delené b

a + b a plus b

a - b a mínus b

+ kladné znamienko

-záporná hodnota a


Mám podozrenie, že to bude ťažko pretože musíte napísať nejaký pythonovský kód.

Môžete napísať doplnok python, kde získate prístup k tabuľke atribútov a pri nastavovaní hodnoty atribútu môžete použiť ľubovoľnú funkciu python.

Alebo namiesto napísania doplnku môžete spustiť kód priamo v konzole pythonu. To by vám malo ušetriť čas, ale ak potrebujete túto funkciu spúšťať opakovane, plugin je z dlhodobého hľadiska efektívnejší.

Toto je odkaz na časť venovanú prístupu k tabuľkám atribútov z tutoriálu o doplnkoch python. Toto je dokumentácia pre funkciu log v pythone.


Teraz existuje ln (funkcia prirodzeného protokolu), ktorú je možné použiť v poľnej kalkulačke, ako je uvedené v dokumentoch


Používam qgis 1.7 a zdá sa, že v poli výrazu nie je funkcia log.

Môžete skúsiť použiť gvSIG. Vo svojom výrazovom poli má prirodzený logaritmus.


Pozri si video: QGIS Tutorial: Filtering based on attributes in QGIS EN (Október 2021).