Zaokrąglanie kolumny w tabeli atrybutów za pomocą kalkulatora pola ArcGIS?

18

Chcę użyć kalkulatora pola w ArcMap, aby zaokrąglić istniejącą kolumnę z dokładnością do dwóch miejsc po przecinku. Obecnie mam kolumnę o długości 6 miejsc po przecinku i chciałbym ją po prostu zaokrąglić w dół do 2 miejsc po przecinku.

Planowałem użyć do tego kalkulatora pola (prawdopodobnie używając Pythona), ale może jest łatwiejszy sposób?


Przyjęta odpowiedź jest prawdopodobnie najłatwiejszym sposobem zmiany pojedynczego pola, jednak oto jak to zrobić za pomocą kalkulatora pól zarówno dla Pythona, jak i VB.

VB:

round([column], 2)

Pyton:

round(!column!, 2)
jsmith
źródło
2
Odpowiednie wyrażenie Kalkulatora pola może zmienić dane, tak aby zbliżyły się do wielokrotności 0,01. Jak blisko zależy od sposobu przechowywania pola; będzie się różnić między kodami zmiennoprzecinkowymi, podwójnymi i dziesiętnymi. (Pierwsze dwa formaty nie mogą dokładnie przechowywać pewnych wartości, takich jak 0,03 = 1,1000001111010111000010100011110 ... B, co jest powtarzającym się nieskończonym wyrażeniem binarnym.) Czy może zamierzasz zmienić samo pole, aby dokładnie zapisywało tylko liczby dziesiętne z dwoma miejscami po przecinku miejsca?
whuber

Odpowiedzi:

12

Kiedy idziesz do wypłaty, obliczyć lub oznaczyć pole, którego możesz użyć,
zaokrąglij ([moje_pole], 2)
również, aby zmienić zachowanie pola w arcmap ...
zaokrąglający przykład

Brad Nesom
źródło
skrzyżowane z twoją edycją. ups
Brad Nesom,
Jest ok, naprawdę podoba mi się trochę wiedza na temat zachowania w terenie. Wystarczyłoby to, co robię.
jsmith
13

Czy próbowałeś czegoś takiego, jak poniżej w Kalkulatorze polowym?

round(!FieldName!, 2)

Upewnij się, że ustawiłeś Parser na Python w kalkulatorze polowym.

Patty Jula
źródło
1
Tak, to jest sposób na python! Najwyraźniej jest to dokładnie to samo, co VB (jeśli klikniesz dwukrotnie pole, aby je dodać). Jedyną różnicą jest! vs [].
jsmith
5

Wygląda na to, że wystarczy proste formatowanie łańcucha:

>>> "%.2f" % 3.99999
'4.00'
>>>

lub z liczbą zapisaną w zmiennej:

>>> j = 3.999999
>>> "%.2f" % j
'4.00'
>>>

Można to łatwo zawrzeć w funkcji kalkulatora pola.

Chad Cooper
źródło