คำถามติดแท็ก field-calculator

ใช้สำหรับคำถามเกี่ยวกับเครื่องคำนวณภาคสนามของ QGIS, ArcGIS Desktop, ฯลฯ และเครื่องมือคำนวณภาคสนามของพวกเขา

4
ออมทรัพย์สมการที่ใช้ในเครื่องคำนวณภาคสนาม QGIS?
ฉันกำลังพยายามคำนวณค่าบางอย่างของจุดที่คำนวณใหม่ ดังนั้นฉันจึงใช้เครื่องคำนวณภาคสนามเพื่อเขียนสมการเพื่อกำหนดค่า มีวิธีการบันทึกสมการนั้นหรือไม่ดังนั้นถ้าและเมื่อฉันเริ่มงานใหม่ฉันไม่จำเป็นต้องพิมพ์ซ้ำหรือไม่ สิ่งที่คล้ายกับวิธีที่คุณบันทึกสไตล์และสัญลักษณ์สำหรับอาร์เรย์ของคะแนน

4
วิธีการแปลงฟิลด์สตริงเป็นฟิลด์วันที่
ฉันมีเลเยอร์ที่มีจุดซึ่งแสดงถึงอุบัติเหตุบนท้องถนนที่ร้ายแรงและฟิลด์ "date_14_D" มีวันที่ แต่ประเภทของมันคือสตริง ฉันต้องการแปลงฟิลด์สตริงเป็นฟิลด์วันที่ แต่ปุ่มตกลงไม่ทำงาน มีปัญหาอะไร? ฉันใช้ QGis ดูภาพด้านล่าง

2
วิธีการค้นหาว่ารูปหลายเหลี่ยมมีรูที่ใช้เครื่องคิดเลขใน ArcGIS หรือไม่
ซอฟต์แวร์บุคคลที่สามบางตัวไม่สามารถจัดการรูปหลายเหลี่ยมที่มีรู (โดนัทรูปหลายเหลี่ยม) ในการค้นหาพวกเขาฉันมักจะใช้เครื่องคิดเลขฟิลด์ ArcView 3 เพราะ: อย่างไรก็ตามเมื่อฉันพยายามทำสิ่งนี้ใน ArcGIS ฉันได้รับสิ่งนี้: ดังนั้นคำถามคือทำอย่างไรให้ถูกต้องใน ArcGIS

5
การเพิ่มชื่อไฟล์ลงในฟิลด์แอททริบิวโดยใช้คำนวณฟิลด์?
ไม่มีใครรู้วิธีเพิ่มชื่อ shapefile ลงในเขตข้อมูลในตารางแอตทริบิวต์ของไฟล์หรือไม่ ฉันพบคำอธิบาย: 'คุณต้องใช้ตัวแปรแบบอินไลน์ใน CalculateField เช่น% Name% ในการแสดงออกเพื่อให้ชื่อไฟล์เป็นอะไรก็ตามสตริงจะถูกแทรกตามชื่อของไฟล์ dbase!' ฉันได้ลองใช้เครื่องมือ CalculateField ด้วย% Name% แต่ฉันได้รับข้อความ: Executing: CalculateField "2011-11-6 15_41_point" DBFName %Name% PYTHON # Start Time: Thu Dec 08 23:34:23 2011 WARNING 000405: No records within table Succeeded at Thu Dec 08 23:34:24 2011 (Elapsed Time: 1.00 seconds) ความผิดพลาดของฉันอยู่ที่ไหน

2
QGIS คำนวณรัศมีของส่วนโค้งไปยังแอตทริบิวต์
ฉันติดตั้ง QGIS 2.18.16 แล้ว ปัญหาของฉันคือวิธีการคำนวณรัศมีของคุณสมบัติส่วนโค้ง / เส้นโค้ง (เส้น)? บรรทัดมาจากไฟล์. dgn ซึ่งฉันอ่านด้วย FME และเขียนไปยัง PostGis DB ฉันได้สร้างคีย์หลักเป็นต้นและตารางสามารถแก้ไขได้อย่างสมบูรณ์ ฉันคำนวณความยาวของส่วนโค้งเรียบร้อยแล้ว แต่ไม่สามารถหาวิธีคำนวณรัศมีสำหรับส่วนโค้งเหล่านี้ได้ ( https://www.mathopenref.com/arcradius.html ) นี้อาจให้ความคิดเกี่ยวกับคณิตศาสตร์แม้ว่าฉันไม่สามารถหาวิธีใช้ในเครื่องคิดเลข QGIS ดังนั้นฉันต้องคำนวณ "R" สำหรับทุกบรรทัดที่ฉันมีในฐานข้อมูล ร้องเป็นตัวอย่าง ข้อมูลของฉันมีส่วนโค้ง / เส้นโค้งบนตารางที่แตกต่างจาก polylines "ปกติ"

4
รับ ArcGIS เพื่อรวมศูนย์นำหน้าในฟิลด์ข้อความหรือไม่
ฉันกำลังป้อนอักขระในช่องข้อความที่เป็น ID 5 หลัก ฉันต้องการนำศูนย์รวมอยู่ในค่า แต่ทุกครั้งที่ฉันป้อนหรือคำนวณเขตข้อมูลศูนย์นำหน้าจะถูกลบออก (แม้ว่าคุณสมบัติของเขตข้อมูลจะบอกว่าเป็นเขตข้อมูลข้อความ 5 ตัวอักษร) ฉันจะบังคับให้ฟิลด์รวมศูนย์นำหน้าได้อย่างไร

1
การบันทึกฟังก์ชั่น Python ที่กำหนดเองใน QGIS
ฉันจะบันทึกฟังก์ชัน Python ที่กำหนดเองของฉันใน QGIS ได้อย่างไร ฉันต้องการให้ผู้ใช้ช่วยเหลือสำหรับฟังก์ชั่นที่ฉันเขียนให้พวกเขา: ฉันได้ลองเพิ่ม docstring แล้ว: แต่เมื่อใดก็ตามที่ฉันคลิกโหลดข้อผิดพลาดจะปรากฏขึ้น: ข้อความแสดงข้อผิดพลาดแสดงข้อผิดพลาดการเยื้องอย่างชัดเจนซึ่งไม่สอดคล้องกับรหัสจริงของฉัน

2
การแยกข้อความจากฟิลด์สตริงก่อนตัวคั่นแต่ละตัวกับฟิลด์ใหม่
ฉันพยายามที่จะดึงข้อมูลข้อความจากเขตข้อมูลสตริงที่มีข้อความคั่นด้วยจุดและวางไว้ในสาขาใหม่โดยใช้เครื่องคิดเลขฟิลด์ ฉันใช้ฟังก์ชัน python นี้ (นำมาจากวิธีการแยกข้อความก่อน / ใน QGIS? ): from qgis.core import * from qgis.gui import * @qgsfunction(args='auto', group='Custom') def func(value1, feature, parent): return value1.split('.')[0] ส่งคืนข้อความทั้งหมดก่อนจุดแรก ตอนนี้ฉันสงสัยว่าจะเขียนฟังก์ชันเพื่อวางแถวข้อความที่คั่นด้วยแต่ละตัวในฟิลด์แยก ก่อน: หลังจาก:

1
เงื่อนไขในตัวคำนวณฟิลด์ตัวสร้างโมเดล
ฉันต้องการตรวจสอบไฟล์เวคเตอร์ถ้ามีคอลัมน์ "แหล่งที่มา" ถ้าใช่ไม่มีอะไรให้ทำ หากไม่มีคอลัมน์ "แหล่งที่มา" ควรสร้างและเติมด้วย '0' เป็นไปได้ไหมที่จะทำผ่านตัวสร้างโมเดล

3
การแทนที่อักขระที่ไม่ใช่ภาษาอังกฤษในตารางแอตทริบิวต์โดยใช้ ArcPy และ Python?
ฉันมีรูปแบบไฟล์เล็กน้อยที่คุณสมบัติบางอย่างมีอักขระที่ไม่ใช่ภาษาอังกฤษÅÄÖ เนื่องจากข้อความค้นหาบางข้อไม่สามารถใช้งานได้กับตัวละครเหล่านี้ (โดยเฉพาะChangeDetector ) ฉันพยายามที่จะเปลี่ยนพวกเขาล่วงหน้าด้วยสคริปต์ง่าย ๆ และเพิ่มสตริงใหม่ลงในฟิลด์อื่น อย่างไรก็ตามการเปลี่ยนแปลงในตัวละครทำงานได้ดี แต่ไม่ได้ปรับปรุงสนามด้วย arcpy.UpdateCursor อะไรคือวิธีที่เหมาะสมในการแก้ปัญหานี้? ฉันได้ลองทำเช่นนี้ผ่านเครื่องคิดเลขภาคสนามในขณะที่โพสต์ "รหัส" เพื่อ codeblock มีข้อผิดพลาดเดียวกัน ข้อความแสดงข้อผิดพลาด: ข้อผิดพลาดรันไทม์การติดตามย้อนกลับ (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "", บรรทัด 1, ในไฟล์ "c: /gis/python/teststring.py", บรรทัดที่ 28, ใน val = code (str (prow.Typkod)) UnicodeEncodeError: ตัวแปลงสัญญาณ 'ascii' ไม่สามารถเข้ารหัสอักขระ u '\ xc4' ในตำแหน่ง 3: ลำดับไม่อยู่ในช่วง (128) รหัส: # -*- coding: cp1252 …

6
สร้างป้ายกำกับที่จัดรูปแบบเช่น“ 1,000 '” จากฟิลด์ตัวเลขหรือไม่
คำถามนี้สร้างจากคำถามก่อนหน้านี้ที่พบใน gis.stackexchange: วิธีแก้ไขข้อมูลแอตทริบิวต์อย่างง่ายดายโดยใช้นิพจน์ปกติ บางทีใครบางคนสามารถชี้ให้ฉันในทิศทางที่ถูกต้อง? ฉันมีไฟล์รูปร่างเวกเตอร์ของเส้นชั้นความสูง ในตารางคุณลักษณะฉันได้แปลงเขตข้อมูลที่ชื่อว่า FEET ซึ่งประกอบด้วยข้อมูลจำนวนเต็มที่มีค่าระดับความสูงเป็นเขตข้อมูลสายอักขระที่ชื่อว่า Label นอกจากนี้ฉันผนวกท้าย 'เพื่อสิ้นสุดของสตริงเพื่อให้เมื่อมีการติดป้ายข้อมูลมันจะถูกอ่านเป็นฟุต สิ่งต่อไปที่ฉันพยายามทำคือการใส่เครื่องหมายจุลภาคระหว่างสองค่าแรกของสตริงเฉพาะเมื่อความยาวของสตริงมากกว่า 4 หรือเครื่องหมายจุลภาคจะปรากฏระหว่างหลักพันและหลักร้อยในฟิลด์ป้ายกำกับเท่านั้น ความยาวต้องมากกว่า 4 เพราะฉันยังนับ ' รหัสของฉันคือ: case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end อย่างไรก็ตามฟังก์ชั่น regexp_replace ดูเหมือนจะไม่ยอมรับตัวแปรกลุ่ม $ 1 $ 2 ในพารามิเตอร์ที่ 3 ของฟังก์ชัน ฉันดูที่http://docs.python.org/2/library/re.htmlเนื่องจากเครื่องคำนวณภาคสนามนั้นมาจากสิ่งที่ฉันเข้าใจตามการใช้ regex ของไพ ธ อน แต่ก็ไม่สามารถเข้าใจได้ บางทีสิ่งที่ฉันพยายามจะทำยังไม่สามารถทำได้ด้วยฟังก์ชั่นนี้ในเครื่องคิดเลขภาคสนามใน …

4
การลบอักขระที่เป็นตัวเลขจากค่าตัวอักษรและตัวเลขในการคำนวณฟิลด์?
ฉันมีฟิลด์ที่มีค่าตัวอักษรและตัวเลขในรูปแบบต่อไปนี้: A-AA00 บางครั้งพวกเขาก็ยัง A-AAA0 ฉันต้องการสคริปต์ Python ที่ฉันสามารถใส่ลงในเครื่องคำนวณภาคสนามใน ArcMap 10 ซึ่งอย่างน้อยก็จะลบอักขระที่เป็นตัวเลขออกและฝึกเรียงตัวอักษรและยัติภังค์ใหม่ ตัวอย่างเช่นนี้: A-AA0 กลายเป็นสิ่งนี้: A-AA ฉันต้องการแทนที่ตัวอักษรตัวเลขด้วยตัวอักษรตัวเลขจากฟิลด์อื่น รายการแลกเปลี่ยน Stackนี้แก้ไขปัญหานี้ แต่สตริงมีช่องว่างก่อนหมายเลขและสามารถใช้สำหรับการแยกและการทำดัชนี ... สตริงของฉันไม่ได้ถูกสร้างขึ้นอย่างคล่องแคล่ว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.