การปัดเศษคอลัมน์ในตารางแอตทริบิวต์โดยใช้เครื่องคำนวณฟิลด์ ArcGIS


18

ฉันต้องการใช้ Field Calculator ใน ArcMap เพื่อปัดเศษคอลัมน์ที่มีอยู่เป็นทศนิยมสองตำแหน่ง ขณะนี้ฉันมีคอลัมน์ที่มีความยาว 6 ตำแหน่งทศนิยมและต้องการเพียงแค่ปัดมันให้เหลือ 2 ทศนิยม

ฉันวางแผนที่จะใช้ Field Calculator (อาจใช้ Python) เพื่อทำสิ่งนี้ แต่อาจจะมีวิธีที่ง่ายกว่านี้ไหม


คำตอบที่ยอมรับอาจเป็นวิธีที่ง่ายที่สุดในการเปลี่ยนเขตข้อมูลเดียวอย่างไรก็ตามนี่คือวิธีการทำกับเครื่องคำนวณภาคสนามสำหรับทั้งไพ ธ อนและ VB

VB:

round([column], 2)

งูหลาม:

round(!column!, 2)

2
นิพจน์เครื่องคิดเลขที่เหมาะสมสามารถเปลี่ยนข้อมูลเพื่อให้พวกเขาใกล้เคียงกับทวีคูณของ 0.01 วิธีการปิดขึ้นอยู่กับวิธีการจัดเก็บสนาม; มันจะแตกต่างกันระหว่างการลอยคู่และการเข้ารหัสทศนิยม (สองรูปแบบแรกไม่สามารถเก็บค่าบางค่าได้อย่างแน่นอนเช่น 0.03 = 1.1000001111010111000010100011110 ... B ซึ่งเป็นนิพจน์แบบไม่สิ้นสุดที่ทำซ้ำ) คุณอาจต้องการเปลี่ยนเขตข้อมูลเองเพื่อให้สามารถเก็บเฉพาะเลขทศนิยมด้วยทศนิยมสองตัว สถานที่?
whuber

คำตอบ:


12

เมื่อคุณไปที่ dispay คำนวณหรือติดป้ายฟิลด์ที่คุณสามารถใช้
ปัดเศษ ([my_field], 2)
เพื่อเปลี่ยนลักษณะการทำงานของฟิลด์ใน arcmap ...
ตัวอย่างการปัดเศษ


สลับกับการแก้ไขของคุณ oops
Brad Nesom

ไม่เป็นไรชอบความรู้เรื่องพฤติกรรมภาคสนามจริงๆ สำหรับสิ่งที่ฉันทำที่จะพอเพียง
jsmith

13

คุณลองทำสิ่งที่อยู่ด้านล่างใน Field Calculator หรือไม่?

round(!FieldName!, 2)

ตรวจสอบให้แน่ใจว่าคุณตั้ง Parser เป็น Python ใน Field Calculator


1
ใช่นั่นคือวิธีที่หลาม! เห็นได้ชัดว่าเป็นสิ่งเดียวกันกับวิธี VB (ถ้าคุณคลิกสองครั้งบนเขตข้อมูลเพื่อเพิ่ม) ข้อแตกต่างอย่างเดียวคือ! vs []
ช่างทอง

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.