ArcGIS Alan Hesaplayıcısı'nı kullanarak özellik tablosunda sütun yuvarlama?


18

Varolan bir sütunu iki ondalık sayıya yuvarlamak için ArcMap'te Alan Hesaplayıcı'yı kullanmak istiyorum. Şu anda 6 ondalık basamak uzunluğunda bir sütun var ve sadece 2 ondalık yuvarlamak istiyorum.

Bunu yapmak için Alan Hesaplama (muhtemelen Python kullanarak) kullanmayı planlamıştı, ama belki daha kolay bir yolu var mı?


Kabul edilen cevap muhtemelen tek bir alanı değiştirmenin en kolay yoludur, ancak burada hem python hem de VB için alan hesaplayıcı ile nasıl yapılacağı açıklanmaktadır.

VB:

round([column], 2)

Python:

round(!column!, 2)

2
Uygun bir Alan Hesaplayıcısı ifadesi, verileri 0,01 katlarına yakın olacak şekilde değiştirebilir. Nasıl yakın alan saklanır bağlıdır; şamandıralar, çiftler ve ondalık kodlama arasında farklılık gösterir. (İlk iki biçim, yinelenen sonsuz bir ikili ifade olan 0.03 = 1.1000001111010111000010100011110 ... B gibi belirli değerleri tam olarak depolayamaz.) Belki de alanı yalnızca ondalık sayıları iki ondalık sayı ile doğru bir şekilde saklayacak şekilde değiştirmeyi düşünürsünüz. yerler?
whuber

Yanıtlar:


12

Kullanmaya çalıştığınız alanı dağıtmaya, hesaplamaya veya etiketlemeye gittiğinizde, arcmap'taki alan davranışını değiştirmek için de
([alanım], 2)
yuvarlayın ...
yuvarlama örneği


düzenleme ile çapraz. ayy
Brad Nesom

Tamam, gerçekten bilgi alan davranış biraz sevdim. Yaptığım şey için bu yeterli olurdu.
jsmith

13

Alan Hesaplayıcıda aşağıdakine benzer bir şey denediniz mi?

round(!FieldName!, 2)

Alan Hesaplayıcı'da Ayrıştırıcıyı Python'a ayarladığınızdan emin olun.


1
Evet, bu python yolu! Görünüşe göre VB yolu ile aynı şeydir (eklemek için alana çift tıklarsanız). Tek fark! vs [].
jsmith

5

Bazı basit dize biçimlendirmesi sizin için hile yapar gibi görünüyor:

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

veya sayı bir değişkende saklandığında:

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

Bu, bir Alan Hesaplayıcı işlevine kolayca sarılabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.