Сводка
Переклассифицирует значения в числовом или текстовом поле в классы на основе границ, определенных вручную, или применяя метод переклассификации.
Иллюстрация
Использование
Этот инструмент принимает классы пространственных объектов или представления таблиц в качестве входных данных и изменяет входные данные.
Инструмент поддерживает следующие восемь методов переклассификации:
- Заданный интервал - каждый класс будет охватывать диапазон значений параметра Размер интервала, начиная с минимального значения в поле. Например, если размер интервала равен 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 (Дополнительный) | Определяет, как будут переклассифицироваться значения, содержащиеся в поле, указанном в параметре Поле для переклассификации.
| String |
classes (Дополнительный) | Целевое количество классов в переклассифицируемом поле. Максимально возможное число классов равно 256. | Long |
interval (Дополнительный) | Размер интервала класса для переклассифицированного поля. Указанное значение должно создавать как минимум 3 класса и не более 1000 классов. | Double |
standard_deviations (Дополнительный) | Задает количество среднеквадратичных отклонений для переклассифицированного поля. Границы классов и категории создаются с равными диапазонами интервалов, которые пропорциональны среднеквадратичному отклонению от среднего.
| String |
reclass_table [reclass_table,...] (Дополнительный) | Верхняя граница и значение переклассификации для метода переклассификации Вручную. | Value Table |
reverse_values (Дополнительный) | Задает порядок переклассифицированных значений.
| Boolean |
output_field_name (Дополнительный) | Имя или префикс выходного поля. Если переклассифицируемое поле является числовым, будут созданы два поля, и это имя будет префиксом имен поля. Если переклассифицируемое поле является текстовым полем, будет создано одно новое поле с этим именем. | String |
Производные выходные данные
Name | Объяснение | Тип данных |
updated_table | Обновленная таблица, содержащая переклассифицированные поля. | Представление таблицы |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент ReclassifyField.
arcpy.management.ReclassifyField("Demographics", "Population",
"EQUAL_INTERVAL", 10, None, "", None, None, "Population_EQUAL_INTERVAL")
Следующий автономный скрипт 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())
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да