การกำหนดชื่อเขตพื้นที่รูปร่าง


9

ฉันกำลังจัดการกับความหลากหลายของไฟล์รูปหลายเหลี่ยมเชิงพื้นที่ (shapefiles, ไฟล์ / คุณสมบัติส่วนบุคคล gdb ชั้นเรียน, คุณลักษณะชั้นเรียน sde (บางส่วนที่มีมุมมองเชิงพื้นที่)) และขึ้นอยู่กับประเภทไฟล์ที่ฉันได้รับ ฟิลด์ที่ต้องการไม่ใช่ฟิลด์ที่สร้างขึ้น)

ตัวอย่างเช่นชื่อฟิลด์จะแตกต่างจาก "Shape_Area", "SHAPE_Area", "SHAPE.AREA", "GEOMETRY_Area", "GEOMETRY.AREA"

ฉันเขียนสคริปต์หลามเพื่อดึงพื้นที่ของคลาสคุณลักษณะเหล่านี้ทั้งหมดและฉันจะทำบางสิ่งตามบรรทัดของ:

for field in arcpy.ListFields(fc):
    if field.name in ["Shape_Area", "SHAPE_Area", "SHAPE.AREA", "GEOMETRY_Area", "GEOMETRY.AREA"]:
         do something

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

คำตอบ:


12

เกี่ยวกับสิ่งต่อไปนี้:

fc = "path to input feature class"
desc = arcpy.Describe(fc)
areafieldname = desc.areaFieldName

ควรทำงานกับคลาสคุณลักษณะต่างๆที่มีฟิลด์สร้างขึ้นโดยอัตโนมัติ สิ่งนี้จะไม่รวมรูปร่างของไฟล์


ขอบคุณ Barbarossa ฉันต้องคิดถึงคุณสมบัติใน Describe เพราะฉันกำลังมองหาวิธีที่จะอธิบายฟิลด์และสิ่งนั้นไม่ได้เกิดขึ้นในการค้นหาของฉัน ที่ใช้งานได้อย่างสมบูรณ์แบบ
Mike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.