Визначення назви поля області форми


9

Я маю справу з різноманітністю просторових полігонових файлів (shapefiles, файли / персональні класи функцій gdb, класи класів характеристик sde (деякі з просторовими видами)) і залежно від типу файлу, я отримую мультитут імен полів класу об’єктів Shape Area ( обов'язкове поле, а не створене)

Так, наприклад, назви полів варіюються від "Shape_Area", "SHAPE_Area", "SHAPE.AREA", "GEOMETRY_Area", "GEOMETRY.AREA"

Я пишу сценарій python, щоб витягнути область усіх цих типів класів функцій, і я щось роблю по лінії:

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

Потрібно працювати над різними класами функцій, у яких автоматично створюються поля Area. Це виключає форму файлів.


Дякую Барбароссі. Я, мабуть, пропустив цю власність в Опишіть, тому що я шукав способи описати поля, і це не знайшлося в моєму пошуку. Це прекрасно працює.
Майк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.