ValidateFieldName

Краткая информация

Принимает строку (имя поля) и путь рабочей области и возвращает корректное имя поля, созданное с учетом ограничений на задание имен в выходной базе геоданных. Все некорректные символы входной строки заменяются символом подчеркивания (_). Ограничения на имена полей зависят от используемой базы данных (Structured Query Language [SQL] или Oracle).

Синтаксис

ValidateFieldName (name, {workspace})
ПараметрОписаниеТип данных
name

Проверяемое имя поля. Если дополнительная рабочая область не указана, имя поля проверяется относительно текущей рабочей области.

String
workspace

Дополнительно указанная рабочая область, относительно которой проверяется имя поля. Рабочей областью может быть файловая система, персональная, файловая или многопользовательская база геоданных.

Если рабочая область не указана, имя поля проверяется с помощью среды текущей рабочей области. Если рабочая область еще не была задана, имя поля проверяется на основе рабочей области папки.

String
Возвращаемое значение
Тип данныхОписание
String

Возвращает строку, содержащую допустимое имя поля на основе текущей или указанной рабочей области.

Пример кода

Пример ValidateFieldName

Возвращает допустимое имя поля на основе рабочей области.

import arcpy
import os


class ShapeError(Exception):
    pass

try:
    # Get the input feature class and make sure it contains polygons.
    #
    in_fc = arcpy.GetParameterAsText(0)
    if arcpy.Describe(input).shapeType != "Polygon":
        # Raise a custom exception
        raise ShapeError("Input does not contain polygons")

    # Get the new field name and validate it.
    #
    field_name = arcpy.GetParameterAsText(1)
    field_name = arcpy.ValidateFieldName(field_name, os.path.dirname(in_fc))

    # Add the new field and calculate the value.
    #
    arcpy.AddField_management(in_fc, field_name, "DOUBLE")
    arcpy.CalculateField_management(in_fc,
                                    field_name,
                                    "!shape.area! / !shape.length!",
                                    "PYTHON_9.3")
except ShapeError as err:
    print(err[0])
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))

Связанные разделы