Переклассифицировать поле (Управление данными)

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

Переклассифицирует значения в числовом или текстовом поле в классы на основе границ, определенных вручную, или применяя метод переклассификации.

Иллюстрация

Иллюстрация инструмента Переклассифицировать поле
Непрерывная переменная переклассифицируется в дискретные классы с равными интервалами.

Использование

    Внимание:

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

  • Этот инструмент принимает классы пространственных объектов или представления таблиц в качестве входных данных и изменяет входные данные.

  • Инструмент поддерживает следующие восемь методов переклассификации:

    • Заданный интервал - каждый класс будет охватывать диапазон значений параметра Размер интервала, начиная с минимального значения в поле. Например, если размер интервала равен 10, а минимальное значение - 244, первый класс будет включать значения от 244 до 254. Рекомендуется использовать этот метод, если необходимо задать определенный размер интервала, например, при переклассификации значений температуры с использованием 10-градусного диапазона.
    • Равный интервал - у каждого класса будет один и тот же диапазон значений, и размер диапазона будет определяться значением параметра Количество классов. Например, если количество классов равно 5, а диапазон значений - от 0 до 100, первый класс будет включать значения от 0 до 20. Подобно методу Заданный интервал, рекомендуется использовать этот метод, если интервалы значимы, а также если ожидается конкретное число классов. Например, вы хотите переклассифицировать значения температур ровно на пять классов с равным диапазоном.
    • Геометрический интервал - диапазон каждого класса увеличивается или уменьшается в геометрической прогрессии (позволяет изменить направление один раз), определяемой параметром Количество классов. Этот метод пытается найти естественные группировки в данных, сохраняя при этом диапазоны классов примерно одинаковыми.
    • Интервал вручную - верхние границы и переклассифицированное значение каждого класса задаются в параметре Таблица переклассификации. Значение переклассификации может быть числовым или текстовым, и выходное поле будет создано того же типа. Если для переклассифицированных значений указаны и текст, и числа, выходное поле будет текстовым. Этот метод используется, если ни один из других методов выделения границ классов не подходит, или вы хотите надписать классы текстом вместо целых чисел.
    • Естественные границы (по Дженксу) - границы классов, заданных параметром Количество классов, создаются вокруг естественных группирований значений с помощью алгоритма Естественных границ (по Дженксу). Этот метод группирует похожие значения и максимизирует различия между классами. Этот метод используется, когда в данных нет значимых интервалов, и вы хотите найти оптимальные группирования значений. Например, численность населения городов может иметь естественные группирования значений.
    • Квантиль - классы включают равное количество значений в каждом из классов, заданных в параметре Количество классов. Например, если в данных 50 значений и количество классов задано равным пяти, каждый класс будет содержать 10 записей. Этот метод используется, когда вы хотите понять, где каждое значение попадает в ранжированные значения. Например, вы хотите понять, в каких регионах средний годовой доход населения попадает в верхний и нижний из 10 квантилей.
    • Среднеквадратическое отклонение - диапазоны классов создаются с использованием числа среднеквадратических отклонений выше и ниже среднего, указанного в параметре Количество стандартных отклонений. Применяется для понимания того, где находятся значения в распределении значений. Например, вы можете переклассифицировать количество осадков, используя одно среднеквадратическое отклонение, чтобы определить районы, где количество осадков превышает среднее значение на два среднеквадратических отклонения.
    • Уникальные значения - каждое уникальное значение в текстовом поле становится классом. Применяется, если необходимо использовать категории из текстового поля в инструменте, которому требуется числовое поле. Например, вы хотите преобразовать буквенно-цифровые коды округов в целые числа.

  • При выборе метода классификации учитывайте тип данных и то, как вы собираетесь использовать переклассифицированные значения. Не все методы можно использовать для всех приложений. Например, чтобы переклассифицировать несколько полей и использовать их вместе в рабочих процессах анализа, используйте метод, который сопоставляется между данными, например квантиль, а не метод, который не сопоставляется, например, Естественные границы (по Дженксу).

  • Если отметить параметр Обратить значения (по убыванию) (reverse_values = "DESC" в Python), целочисленные классы меняются местами так, что класс с наименьшими значениями переклассифицируется в самый высокий класс.

  • Метод переклассификации Квантиль создает классы, в которых каждый класс содержит одинаковое количество записей. Однако, если значение параметра Количество классов не делится равномерно на количество записей, остаток будет разделен на каждый класс в порядке возрастания.

  • Для метода Интервал вручную, по крайней мере, одно из указанных значений верхней границы должно быть больше минимального значения в поле переклассификации. Любые значения в поле, превышающие максимальную указанную верхнюю границу, будут перереклассифицированы в -9999.

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

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

  • Инструмент создает поля, содержащие класс и диапазон каждой записи, которым предшествует значение параметра Имя выходного поля. Поле класса представляет собой целочисленное поле в порядке возрастания или убывания, а поле диапазона отображает диапазон значений для каждого поля. Если переклассифицируемое поле является текстовым полем, будет создано только поле класса. Если метод переклассификации является ручным и значения переклассификации не указаны, будет создано только поле диапазона.

  • В сообщениях геообработки отображается таблица переклассификации, показывающая верхнюю границу и переклассифицированное значение каждого класса.

Параметры

ПодписьОписаниеТип данных
Входная таблица

Входная таблица или класс пространственных объектов, содержащий поле, которое нужно переклассифицировать.

Table View; Raster Layer; Mosaic Layer
Поле для переклассификации

Поле, которое будет переклассифицироваться. Поле должно быть числовым или текстовым.

Field
Метод переклассификации
(Дополнительный)

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

  • Заданный интервалБудут созданы классы с одинаковыми диапазонами для всего диапазона значений переклассифицируемого поля.
  • Равный интервалБудет создано указанное число классов с одинаковыми диапазонами. Это значение по умолчанию
  • Геометрический интервалСоздает указанное количество классов с геометрически увеличивающимся или уменьшающимся диапазонами.
  • Интервал вручнуюГраницы классов и переклассифицированные значения будут указаны вручную.
  • Естественные границы (по Дженксу)Будут созданы классы естественной группировки значений с помощью алгоритма Естественных границ Дженкса.
  • КвантильБудут созданы классы, в каждом из которых содержится одно и то же количество значений.
  • Среднеквадратическое отклонениеБудут созданы классы путем прибавления и вычитания доли среднеквадратического отклонения выше и ниже среднего значения.
  • Уникальные значенияБудут созданы классы, в которых каждое уникальное значение поля становится классом.
String
Число классов
(Дополнительный)

Целевое количество классов в переклассифицируемом поле. Максимально возможное число классов равно 256.

Long
Размер интервала
(Дополнительный)

Размер интервала класса для переклассифицированного поля. Указанное значение должно создавать как минимум 3 класса и не более 1000 классов.

Double
Количество среднеквадратичных отклонений
(Дополнительный)

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

  • Одно среднеквадратичное отклонениеИнтервалы будут созданы с использованием одного среднеквадратичного отклонения. Это значение по умолчанию
  • Половина среднеквадратичного отклоненияИнтервалы будут созданы с использованием половины одного среднеквадратичного отклонения.
  • Одна треть среднеквадратичного отклоненияИнтервалы будут созданы с использованием одной трети среднеквадратичного отклонения.
  • Одна четверть среднеквадратичного отклоненияИнтервалы будут созданы с использованием четверти среднеквадратичного отклонения.
String
Таблица переклассификации
(Дополнительный)

Верхняя граница и значение переклассификации для метода переклассификации Вручную.

Value Table
Обратить значения (по убыванию)
(Дополнительный)

Определяет порядок сортировки переклассифицированных значений.

  • Отмечено - классам будут присвоены значения в порядке убывания; классу с наивысшими значениями присваивается 1, следующему классу присваивается 2 и так далее.
  • Не отмечено - классам будут присваиваться значения в порядке возрастания; классу с наименьшими значениями присваивается 1, следующему классу присваивается 2 и так далее. Это значение по умолчанию

Boolean
Имя выходного поля
(Дополнительный)

Имя или префикс выходного поля. Если переклассифицируемое поле является числовым, будут созданы два поля, и это имя будет префиксом имен поля. Если переклассифицируемое поле является текстовым полем, будет создано одно новое поле с этим именем.

String

Производные выходные данные

ПодписьОписаниеТип данных
Обновленная входная таблица

Обновленная таблица, содержащая переклассифицированные поля.

Table View

arcpy.management.ReclassifyField(in_table, field, {method}, {classes}, {interval}, {standard_deviations}, {reclass_table}, {reverse_values}, {output_field_name})
ИмяОписаниеТип данных
in_table

Входная таблица или класс пространственных объектов, содержащий поле, которое нужно переклассифицировать.

Table View; Raster Layer; Mosaic Layer
field

Поле, которое будет переклассифицироваться. Поле должно быть числовым или текстовым.

Field
method
(Дополнительный)

Задает метод классификации, который будет использоваться для значений поля в параметре field.

  • DEFINED_INTERVALБудут созданы классы с одинаковыми диапазонами для всего диапазона значений переклассифицируемого поля.
  • EQUAL_INTERVALБудет создано указанное число классов с одинаковыми диапазонами. Это значение по умолчанию
  • GEOMETRIC_INTERVALСоздает указанное количество классов с геометрически увеличивающимся или уменьшающимся диапазонами.
  • MANUALГраницы классов и переклассифицированные значения будут указаны вручную.
  • NATURAL_BREAKSБудут созданы классы естественной группировки значений с помощью алгоритма Естественных границ Дженкса.
  • QUANTILEБудут созданы классы, в каждом из которых содержится одно и то же количество значений.
  • STANDARD_DEVIATIONБудут созданы классы путем прибавления и вычитания доли среднеквадратического отклонения выше и ниже среднего значения.
  • UNIQUE_VALUESБудут созданы классы, в которых каждое уникальное значение поля становится классом.
String
classes
(Дополнительный)

Целевое количество классов в переклассифицируемом поле. Максимально возможное число классов равно 256.

Long
interval
(Дополнительный)

Размер интервала класса для переклассифицированного поля. Указанное значение должно создавать как минимум 3 класса и не более 1000 классов.

Double
standard_deviations
(Дополнительный)

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

  • ONEИнтервалы будут созданы с использованием одного среднеквадратичного отклонения. Это значение по умолчанию
  • HALFИнтервалы будут созданы с использованием половины одного среднеквадратичного отклонения.
  • THIRDИнтервалы будут созданы с использованием одной трети среднеквадратичного отклонения.
  • QUARTERИнтервалы будут созданы с использованием четверти среднеквадратичного отклонения.
String
reclass_table
[reclass_table,...]
(Дополнительный)

Верхняя граница и значение переклассификации для метода переклассификации Вручную.

Value Table
reverse_values
(Дополнительный)

Задает порядок переклассифицированных значений.

  • DESCКлассам будут присваиваться значения в порядке убывания; классу с наивысшими значениями присваивается 1, следующему классу присваивается 2 и так далее.
  • ASCКлассам будут присвоены значения в порядке возрастания; классу с наименьшими значениями присваивается 1, следующему классу присваивается 2 и так далее. Это значение по умолчанию
Boolean
output_field_name
(Дополнительный)

Имя или префикс выходного поля. Если переклассифицируемое поле является числовым, будут созданы два поля, и это имя будет префиксом имен поля. Если переклассифицируемое поле является текстовым полем, будет создано одно новое поле с этим именем.

String

Производные выходные данные

ИмяОписаниеТип данных
updated_table

Обновленная таблица, содержащая переклассифицированные поля.

Table View

Пример кода

ReclassifyField, пример 1 (окно Python)

Пример скрипта в окне Python для использования функции ReclassifyField.


arcpy.management.ReclassifyField("Demographics", "Population", 
      "EQUAL_INTERVAL", 10, None, "", None, None, "Population_EQUAL_INTERVAL")
ReclassifyField, пример 2 (автономный скрипт)

Следующий автономный Python скрипт демонстрирует, как использовать функцию ReclassifyField.


# Import system modules.
import arcpy

try:
    # Set the workspace and input features.
    arcpy.env.workspace = r"C:\\Reclassify\\MyData.gdb"
    in_table = "Demographics"

    # Set the input field that will be reclassified
    field = "Population"

    # Set the reclassification method
    method = "MANUAL"

    # Set the reclassification table
    reclass_table = "10000 Village;100000 Town;1000000 City"

    # Set the output field name
    output_field_name = "SettlementType"

    # Run the Reclassify Field tool
    arcpy.management.ReclassifyField(in_table, field, method, "", 
          None, "", reclass_Table, None, output_field_name)

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Параметры среды