ArcGIS Field Calculatorを使用して属性テーブルの列を丸めますか?


17

ArcMapのフィールド計算機を使用して、既存の列を小数点以下2桁に丸めたい。現在、小数点以下6桁の列があり、小数点以下2桁に切り捨てたいと考えています。

私はこれを行うためにフィールド計算機(おそらくPythonを使用)を使用することを計画していましたが、おそらくもっと簡単な方法がありますか?


受け入れられた答えはおそらく単一のフィールドを変更する最も簡単な方法ですが、ここではpythonとVBの両方のフィールド計算機でそれを行う方法を示します。

VB:

round([column], 2)

Python:

round(!column!, 2)

2
適切なフィールド計算式により、0.01の倍数に厳密に近似するようにデータを変更できます。 どれだけ近いかは、フィールドがどのように格納されているかによって異なります。float、double、およびdecimalエンコードの間で異なります。(最初の2つの形式は、0.03 = 1.1000001111010111000010100011110 ... Bなどの特定の値を正確に格納できません。これは、繰り返し無限バイナリ式です)。場所?
whuber

回答:


12

ちょうど使用できるフィールドを表示、計算、またはラベル付けする場合、
([my_field]、2)
を丸めて、アークマップのフィールドの動作を変更します...
丸めの例


編集と交差します。おっと
ブラッドネソム

大丈夫です。フィールドの動作に関する知識が本当に好きでした。私がやっていることで十分です。
jsmith

13

Field Calculatorで以下のようなものを試しましたか?

round(!FieldName!, 2)

Field CalculatorでパーサーをPythonに設定してください。


1
うん、それはPythonの方法です!どうやらそれはVBの方法とまったく同じものです(フィールドをダブルクリックして追加する場合)。唯一の違いは!対[]。
-jsmith

5

いくつかの単純な文字列フォーマットがあなたのためのトリックを行うように聞こえます:

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

または、変数に保存されている番号を使用して:

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

これは、Field Calculator関数で簡単にまとめることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.