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)

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


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.