Menentukan Bentuk Bidang Nama Bidang

9

Saya sedang berurusan dengan berbagai file poligon spasial (shapefile, file / kelas fitur gdb pribadi, kelas fitur sde (beberapa dengan tampilan spasial)) dan tergantung pada jenis file, saya mendapatkan mulittude nama bidang fitur class area Shape Area ( bidang yang wajib diisi, bukan yang dibuat)

Jadi misalnya, nama bidang bervariasi dari "Shape_Area", "SHAPE_Area", "SHAPE.AREA", "GEOMETRY_Area", "GEOMETRY.AREA"

Saya sedang menulis skrip python untuk menarik area semua jenis kelas fitur ini dan saya melakukan sesuatu di sepanjang baris:

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

Saya bertanya-tanya apakah ada cara yang lebih pintar untuk menarik bidang bidang bentuk, daripada hanya mencantumkan semua cara yang bisa dinamai? Tampaknya tidak ada properti bidang untuk sesuatu seperti Area. apakah ada cara lain untuk melakukan ini?

Mike
sumber

Jawaban:

12

Bagaimana dengan yang berikut ini:

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

Harus bekerja pada berbagai kelas fitur yang memiliki bidang Area yang dibuat secara otomatis. Ini akan mengecualikan shapefile.

Barbarossa
sumber
Barbarossa terima kasih. Saya pasti melewatkan properti itu di Jelaskan karena saya mencari cara untuk menggambarkan bidang dan yang tidak muncul dalam pencarian saya. Itu bekerja dengan sempurna.
Mike