Закруглення стовпця в таблиці атрибутів за допомогою калькулятора поля ArcGIS?


18

Я хочу використовувати калькулятор поля в ArcMap для округлення наявного стовпця до двох десяткових знаків. На даний момент у мене стовпчик, який має 6 десяткових знаків і хотів би просто округлити його до двох десяткових знаків.

Я планував використовувати полевий калькулятор (можливо, використовуючи Python), щоб це зробити, але, можливо, є простіший спосіб?


Прийнята відповідь, мабуть, найпростіший спосіб змінити одне поле, однак, ось як це зробити за допомогою калькулятора поля як для python, так і для VB.

VB:

round([column], 2)

Пітон:

round(!column!, 2)

2
Відповідне вираження калькулятора поля може змінити дані таким чином, щоб вони приблизно наближали кратні до 0,01. Наскільки близько, залежить від того, як зберігається поле; вона буде відрізнятися між поплавками, подвійними кодами та кодуваннями з десятковим кодом. (Перші два формати не можуть точно зберігати певні значення, наприклад, 0,03 = 1,1000001111010111000010100011110 ... B, що є повторюваним нескінченним двійковим виразом.) Можливо, ви маєте намір змінити саме поле, щоб воно точно зберігало лише десяткові числа з двома десятковими місця?
whuber

Відповіді:


12

Коли ви збираєтесь відмовитись, обчислити або позначити поле, яке ви могли просто використати,
округніть ([my_field], 2)
також для зміни поведінки поля в arcmap ...
приклад округлення


перекреслено вашою редакцією. oops
Бред Несом

Це нормально, дуже сподобалось польове поведінка трохи знань. Для того, що я роблю, цього було б достатньо.
jsmith

13

Ви спробували щось на зразок того, що нижче в полевому калькуляторі?

round(!FieldName!, 2)

Переконайтеся, що Ви встановили Parser на Python у Польовому калькуляторі.


1
Так, це пітон шлях! Мабуть, це те саме, що і VB (якщо ви двічі клацніть на полі, щоб додати його). Різниця лише в тому! проти [].
jsmith

5

Здається, що просте форматування рядків зробить для вас хитрість:

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

або з номером, збереженим у змінній:

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

Це легко можна зафіксувати у функції калькулятора поля.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.