Coluna de arredondamento na tabela de atributos usando o ArcGIS Field Calculator?

18

Eu quero usar a Calculadora de Campo no ArcMap para arredondar uma coluna existente para duas casas decimais. Atualmente, tenho uma coluna com 6 casas decimais e gostaria de arredondá-la para 2 casas decimais.

Eu tinha planejado usar a Calculadora de Campo (possivelmente usando Python) para fazer isso, mas talvez haja uma maneira mais fácil?


A resposta aceita é provavelmente a maneira mais fácil de alterar um único campo, no entanto, aqui está como fazer isso com a calculadora de campo para python e VB.

VB:

round([column], 2)

Pitão:

round(!column!, 2)
jsmith
fonte
2
Uma expressão apropriada da Calculadora de campo pode alterar os dados para que eles se aproximem de múltiplos de 0,01. Quão próximo depende de como o campo é armazenado; será diferente entre codificações flutuantes, duplas e decimais. (Os dois primeiros formatos não podem armazenar exatamente determinados valores, como 0,03 = 1.1000001111010111000010100011110 ... B, que é uma expressão binária infinita e repetitiva.) Você talvez pretenda alterar o próprio campo para que armazene com precisão apenas números decimais com duas casas decimais locais?
whuber

Respostas:

12

Quando você for exibir, calcule ou rotule o campo que você poderia usar,
arredonde ([meu_campo], 2)
também para alterar o comportamento do campo no mapa do arco ...
exemplo de arredondamento

Brad Nesom
fonte
cruzado com sua edição. oops
Brad Nesom
Está tudo bem, realmente gostei do conhecimento de comportamento de campo. Pelo que estou fazendo isso seria suficiente.
jsmith
13

Você já tentou algo parecido com o que está abaixo na Calculadora de campo?

round(!FieldName!, 2)

Certifique-se de definir o analisador como Python na calculadora de campo.

Patty Jula
fonte
1
Sim, essa é a maneira python! Aparentemente, é exatamente a mesma coisa que a maneira VB (se você clicar duas vezes no campo para adicioná-lo). A única diferença é! vs [].
jsmith
5

Parece que alguma formatação simples de string faria o truque para você:

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

ou, com o número armazenado em uma variável:

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

Isso pode ser facilmente envolvido em uma função Calculadora de Campo.

Chad Cooper
fonte