Xác định tên khu vực hình dạng


9

Tôi đang xử lý một loạt các tệp đa giác không gian (shapefiles, các lớp tính năng gdb tệp / cá nhân, các lớp đối tượng sde (một số có dạng xem không gian)) và tùy thuộc vào loại tệp, tôi nhận được một tên của trường lớp tính năng Shape Area ( trường bắt buộc, không phải trường đã tạo)

Vì vậy, ví dụ: tên trường thay đổi từ "Shape_Area", "SHAPE_Area", "SHAPE.AREA", "GEOMETRY_Area", "GEOMETRY.AREA"

Tôi đang viết một kịch bản python để kéo ra khu vực của tất cả các loại lớp tính năng này và tôi làm một cái gì đó dọc theo dòng:

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

Tôi đang tự hỏi liệu có cách nào thông minh hơn để lấy trường diện tích hình dạng, thay vì chỉ liệt kê ra tất cả các cách nó có thể được đặt tên? Dường như không có một tài sản trường cho một cái gì đó như Khu vực. Có cách nào khác để làm điều này?

Câu trả lời:


12

Điều gì về những điều sau đây:

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

Nên hoạt động trên các lớp tính năng khác nhau có các trường Khu vực được tạo tự động. Điều này sẽ loại trừ shapefiles.


Cảm ơn Barbarossa. Tôi đã phải bỏ lỡ tài sản đó trong Mô tả vì tôi đang tìm cách để mô tả các lĩnh vực và người ta đã không tìm thấy trong tìm kiếm của tôi. Điều đó hoạt động hoàn hảo.
Mike
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.