ArcGIS Field Calculator를 사용하는 속성 테이블의 반올림 열?


18

ArcMap의 필드 계산기를 사용하여 기존 열을 소수점 이하 두 자리로 반올림하고 싶습니다. 현재 나는 소수점 이하 6 자리의 열을 가지고 있으며 단순히 소수점 2 자리로 내림하고 싶습니다.

필자는 Field Calculator (Python 사용)를 사용하여이를 계획했지만 더 쉬운 방법이 있습니까?


허용되는 답변은 단일 필드를 변경하는 가장 쉬운 방법이지만, 파이썬과 VB에 대한 필드 계산기를 사용하여 수행하는 방법은 다음과 같습니다.

VB :

round([column], 2)

파이썬 :

round(!column!, 2)

2
적절한 필드 계산기 표현식은 0.01의 배수에 가깝게 데이터를 변경할 수 있습니다. 필드의 저장 방법에 따라 얼마나 가까운가; float, double 및 10 진수 인코딩이 다릅니다. (처음 두 형식은 반복되는 무한 이진 표현 인 0.03 = 1.1000001111010111000010100011110 ... B와 같은 특정 값을 정확하게 저장할 수 없습니다.) 필드 자체를 변경하여 소수만 두 개의 소수점 이하 자릿수 만 정확하게 저장하도록 하시겠습니까? 장소?
whuber

답변:


12

방금 사용할 수있는 필드를 버리거나 계산하거나 레이블을 지정할 때
([my_field], 2)
반올림하여 아크 맵에서 필드 동작을 변경합니다.
반올림 예


당신의 편집과 열 십자. 죄송합니다
Brad Nesom

괜찮습니다. 현장 행동 지식이 마음에 들었습니다. 내가하고있는 일로 충분합니다.
jsmith

13

필드 계산기에서 다음과 같은 것을 시도해 보셨습니까?

round(!FieldName!, 2)

필드 계산기에서 파서를 Python으로 설정했는지 확인하십시오.


1
예, 그것은 파이썬 방식입니다! 분명히 그것은 VB 방식과 정확히 동일합니다 (필드를 두 번 클릭하여 추가하면). 유일한 차이점은! vs [].
jsmith

5

간단한 문자열 형식이 당신을 위해 속임수처럼 들립니다.

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

또는 숫자가 변수에 저장된 경우 :

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

이것은 필드 계산기 기능으로 쉽게 감쌀 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.