Cột làm tròn trong bảng thuộc tính bằng ArcGIS Field Calculator?


17

Tôi muốn sử dụng Máy tính trường trong ArcMap để làm tròn một cột hiện có thành hai số thập phân. Hiện tại tôi có một cột dài 6 chữ số thập phân và chỉ muốn làm tròn nó xuống còn 2 số thập phân.

Tôi đã lên kế hoạch sử dụng Máy tính Trường (có thể sử dụng Python) để làm việc này, nhưng có lẽ có cách nào dễ hơn không?


Câu trả lời được chấp nhận có lẽ là cách dễ nhất để thay đổi một trường duy nhất, tuy nhiên, đây là cách thực hiện với máy tính trường cho cả python và VB.

VB:

round([column], 2)

Con trăn

round(!column!, 2)

2
Một biểu thức Máy tính Trường thích hợp có thể thay đổi dữ liệu sao cho chúng gần đúng bội số của 0,01. Mức độ đóng phụ thuộc vào cách lưu trữ trường; nó sẽ khác nhau giữa số float, double và mã hóa thập phân. (Hai định dạng đầu tiên không thể lưu trữ chính xác các giá trị nhất định, chẳng hạn như 0,03 = 1.1000001111010111000010100011110 ... B, đó là một biểu thức nhị phân vô hạn lặp lại.) Bạn có thể có ý định thay đổi chính trường để nó chỉ lưu trữ chính xác các số thập phân với hai số thập phân nơi?
whuber

Câu trả lời:


12

Khi bạn đi phân tán, tính toán hoặc gắn nhãn cho trường bạn chỉ có thể sử dụng, làm
tròn ([my_field], 2)
cũng để thay đổi hành vi của trường trong arcmap ...
ví dụ làm tròn


vượt qua với chỉnh sửa của bạn. Rất tiếc
Brad Nesom

Không sao, thực sự thích chút kiến ​​thức hành vi của lĩnh vực. Đối với những gì tôi đang làm điều đó sẽ đủ.
jsmith

13

Bạn đã thử một cái gì đó giống như những gì dưới đây trong Máy tính Trường chưa?

round(!FieldName!, 2)

Đảm bảo bạn đặt Trình phân tích cú pháp thành Python trong Máy tính trường.


1
Yup, đó là cách trăn! Rõ ràng đó là cách chính xác giống như cách VB (nếu bạn nhấp đúp chuột vào trường để thêm nó). Sự khác biệt duy nhất là! so với [].
jsmith

5

Âm thanh như một số định dạng chuỗi đơn giản sẽ giúp bạn:

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

hoặc, với số được lưu trong một biến:

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

Điều này có thể dễ dàng được gói trong chức năng Máy tính Trường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.