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

Сводка

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

Иллюстрация

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

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

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

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

    • Заданный интервал - каждый класс будет охватывать диапазон значений параметра Размер интервала, начиная с минимального значения в поле. Например, если размер интервала равен 10, а минимальное значение - 244, первый класс будет включать значения от 244 до 254. Рекомендуется использовать этот метод, если необходимо задать определенный размер интервала, например, при переклассификации значений температуры с использованием 10-градусного диапазона.
    • Равный интервал - у каждого класса будет один и тот же диапазон значений, и размер диапазона будет определяться значением параметра Количество классов. Например, если количество классов равно 5, а диапазон значений от 0 до 100, первый класс будет включать значения от 0 до 20. Подобно методу Заданный интервал, рекомендуется использовать этот метод, если интервалы значимы, а также если требуется определенное количество классов. Например, вы хотите переклассифицировать значения температур ровно на 5 классов с равным диапазоном.
    • Геометрический интервал - диапазон каждого класса увеличивается или уменьшается в геометрической прогрессии (позволяет изменить направление один раз), определяемой параметром Количество классов. Этот метод пытается найти естественные группировки в данных, сохраняя при этом диапазоны классов примерно одинаковыми.
    • Интервал вручную - верхние границы и переклассифицированное значение каждого класса задаются в параметре Таблица переклассификации. Значение переклассификации может быть числовым или текстовым, и выходное поле будет создано того же типа. Если для переклассифицированных значений указаны и текст, и числа, выходное поле будет текстовым. Этот метод используется, если ни один из других методов выделения границ классов не подходит, или вы хотите надписать классы текстом вместо целых чисел.
    • Естественные границы (по Дженксу) - границы классов, заданных параметром Количество классов, создаются вокруг естественных группирований значений с помощью алгоритма Естественных границ (по Дженксу). Этот метод группирует похожие значения и максимизирует различия между классами. Этот метод используется, когда в данных нет значимых интервалов, и вы хотите найти оптимальные группирования значений. Например, численность населения городов может иметь естественные группирования значений.
      • Ссылка: Jenks, G., Caspall, F. C. (1971). "Error on choroplethic maps: Definition, measurement, reduction." Annals of American Geographers, 61, 217-44.
    • Квантиль - классы включают равное количество значений в каждом из классов, заданных в параметре Количество классов. Например, если в данных 50 значений и количество классов задано равным 5, каждый класс будет содержать 10 записей. Этот метод используется, когда вы хотите понять, где каждое значение попадает в ранжированные значения. Например, вы хотите понять, в каких регионах средний годовой доход населения попадает в верхний и нижний из 10 квантилей.
    • Среднеквадратическое отклонение - диапазоны классов создаются с использованием числа среднеквадратических отклонений выше и ниже среднего, указанного в параметре Количество стандартных отклонений. Применяется для понимания того, где находятся значения в распределении значений. Например, вы можете переклассифицировать количество осадков, используя одно среднеквадратическое отклонение, чтобы определить районы, где количество осадков превышает среднее значение на два среднеквадратических отклонения.
    • Уникальные значения - каждое уникальное значение в текстовом поле становится классом. Применяется, если необходимо использовать категории из текстового поля в инструменте, которому требуется числовое поле. Например, вы хотите преобразовать буквенно-цифровые коды округов в целые числа.

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

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

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

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

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

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

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

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

Синтаксис

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

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

Table View; Raster Layer; Mosaic Layer
field

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

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

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

  • 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

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

NameОбъяснениеТип данных
updated_table

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

Представление таблицы

Пример кода

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())

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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