konto usunięte

Temat: Obliczenia w tabeli ArcGIS

Witam,
proszę o pomoc w rozwiązaniu problemu obliczeń w tabeli.
Muszę obliczyć wartości w kolumnach La_w1 i La_w2 przy pomocy funkcji Field Calculator.
Niestety wpisany przeze mnie warunek do obliczenia tychże wartości nie działa :( - program nie wyrzuca błędu ale też nic nie liczy.
Niestety nie znam pythona i nie wiem gdzie jest błąd w kodzie.

Tabela wraz z równaniem w załączniku.

Z góry dziękuję za pomoc.


Obrazek

Temat: Obliczenia w tabeli ArcGIS

Możesz opisać bardziej szczegółowo co chce zrobić?
Wariant_1 i Wariant_2 mają być sumą?

konto usunięte

Temat: Obliczenia w tabeli ArcGIS

Muszę obliczyć wartości w kolumnie La_w1 i La_w2 mając do dyspozycji dane z kolumny Wariant_1 i Wariant_2.
Obliczenie w kolumnie La_w1 ma polegać na spelnieniu warunku:
jeśli wartość z kolumny Wariant_w1 > Wariant_2 to wynikiem ma być 1
zaś jeśli Wariant_w1 < Wariant_2 to wynikiem ma być Wariant_w1/Wariant_w2.. Analogicznie dla kolumny La_w2.

Temat: Obliczenia w tabeli ArcGIS

Jeśli zrozumiałem dobrze to:


def calc(war_1,war_2):
if war_1>war_2:
return 1
else:
return war_1/war_2


Zaznaczasz Show Codeblock.
Pojawia się dodatkowe okno,wklejasz funkcje calc. Nastepnie w 'Law_1=' wywołujesz funkcję calc(!Wariant_1!,!Warian_2!)

konto usunięte

Temat: Obliczenia w tabeli ArcGIS

niestety w dalszym ciągu wyświetla mi błąd składni
Rafał Poniedzielski

Rafał Poniedzielski System tester, ABB

Temat: Obliczenia w tabeli ArcGIS

Witam,

U mnie skrypt zadziałał w następującej postaci:
Proszę w pre-logic script code umieścić ten skrypt

def Calc (Wariant_1, Wariant_2):
if (Wariant_1 > Wariant_2):
return 1
else:
return Wariant_1 / Wariant_2

!Ważne
Proszę pamiętać o wcięciach :) "poziom" if i else np. 2 spacje a "poziom" dla return 4 spacje

W oknie wywołania funkcji La_w1

Calc (!Wariant_1!,!Wariant_2!)

W razie problemów proszę pisać
PS
Z tego co pamiętam to ArcGIS dalej korzysta ze starszej wersji Pythona nie z 3.x może stąd błędy w składniTen post został edytowany przez Autora dnia 07.09.14 o godzinie 22:26

Temat: Obliczenia w tabeli ArcGIS

To znaczy ze jest poprawa (Na początku pisałaś ze program nie wyrzuca błędu.)
Przy funkcji calc() wywala błąd składni?Ten post został edytowany przez Autora dnia 07.09.14 o godzinie 22:48

konto usunięte

Temat: Obliczenia w tabeli ArcGIS

Rafał P.:
Witam,

U mnie skrypt zadziałał w następującej postaci:
Proszę w pre-logic script code umieścić ten skrypt

def Calc (Wariant_1, Wariant_2):
if (Wariant_1 > Wariant_2):
return 1
else:
return Wariant_1 / Wariant_2

!Ważne
Proszę pamiętać o wcięciach :) "poziom" if i else np. 2 spacje a "poziom" dla return 4 spacje

W oknie wywołania funkcji La_w1

Calc (!Wariant_1!,!Wariant_2!)

W razie problemów proszę pisać
PS
Z tego co pamiętam to ArcGIS dalej korzysta ze starszej wersji Pythona nie z 3.x może stąd błędy w składni

Kod działa!
Bardzo dziękuję za pomoc :)

Pozdrawiam

Następna dyskusja:

Edytowanie kolumn w tabeli ...




Wyślij zaproszenie do