Использование таблиц переклассификации
Инструменты переклассификации позволяют быстро и легко переклассифицировать данные с помощью таблиц преобразования или переклассификации. Формат этой таблицы позволяет картировать отдельные значения, диапазоны значений, строки или значения NoData в другое значение или значение NoData. Инструменты геообработки, использующие таблицы преобразования: Переклассификация по ASCII-файлу (Reclass By ASCII File) и Переклассификация по таблице (Reclass By Table). При использовании инструмента Переклассифицировать (Reclassify) можно динамично создавать таблицы переклассификации для анализа и сохранять таблицу, чтобы использовать ее в дальнейшем. В следующих разделах объясняются правила создания этих таблиц преобразования и даются примеры их использования в инструментах переклассификации.
О таблицах преобразования
Таблицами преобразования могут быть файлы ASCII или таблицы INFO. Они состоят из двух частей. Первая часть определяет конкретное значение ячейки, которая будет переклассифицироваться, а вторая часть — это переклассифицированное выходное значение ячейки.
Value Symbol 3 1 5 2 10 3 15 4
- В этом примере:
Ячейкам, значение которых меньше или равно 3, присваивается символ 1.
Ячейкам, значение которых больше 3 и меньше или равно 5, присваивается символ 2.
Ячейкам, значение которых больше 5 и меньше или равно 10, присваивается символ 3.
Ячейкам, значение которых больше 10 и меньше или равно 15, присваивается символ 4.
Ячейкам, значение которых больше 15, присваивается символ NoData.
Таблицы преобразования ASCII
Таблица ASCII работает так же, как таблица INFO. но позволяет гораздо большую гибкость в определении переклассифицированных значений. Таблицу преобразования можно создать с помощью любого текстового редактора, используя правила форматирования, которые обсуждаются в следующих параграфах, для определения параметров для переклассификации.
Таблица преобразования ASCII состоит из дополнительных компонентов, дополнительных ключевых слов и обязательного выражения присвоения. Каждое выражение должно быть на отдельной строчке. Комментарии — это описательный текст, который может использоваться для предоставления дополнительной информации. Комментарии могут появляться в любом месте таблицы преобразования, но им должен предшествовать знак фунта (#). Ключевые слова устанавливают параметры, в которых работает переклассификация. Выражения присвоения присваивают выходное значение заданному входному значению ячейки или диапазону значений.
Ключевые слова располагаются в начале файла до того, как вводится выражение присвоения. Комментарии, однако, могут быть в любом месте и им могут предшествовать ключевые слова. Есть два ключевых слова, которые могут включать справочную таблицу. Первое — LOWEST-INPUT, оно определяет наименьшее значение ячеек растра, которые будут учитываться для переклассификации. LOWEST-INPUT форматируется следующим образом: lowest-input <value>, где <value> является наименьшим значением ячеек растра, которые будут учитываться при переклассификации. LOWEST-INPUT используется, если вы хотите включить ячейки со значениями меньше заданного значения. Например, в растре со значениями ячеек в диапазоне от 1 до 20, параметр LOWEST-INPUT до 5 будет включать эти ячейки со значениями меньше 5. Если он не задан, LOWEST-INPUT по умолчанию будет равняться минимальному значению входного растра.
Второе дополнительное ключевое слово, LOWEST-OUTPUT, определяет наименьшее выходное значение или начальную точку для переклассифицированных значений. Это ключевое слово используется для задания выходных переклассифицированных значений автоматически в случаях, когда выражения присвоения (описано ниже в этом разделе) определяют только входное значение. LOWEST-OUTPUT форматируется как наименьшее выходное значение <value>, где <value> — это наименьшее выходное переклассифицированное значение. Если не задано, LOWEST-OUTPUT по умолчанию равняется 1.
Выражения присвоения следуют за ключевыми словами. Их можно форматировать с помощью нескольких методов. Общая форма выражения присвоения устанавливает отношение между входным значением ячейки и его переклассифицированным значением:
old input cell value : new output reclassified value
Входное значение ячейки может быть целочисленным или реальным числом. Выходное переклассифицированное значение, однако, может быть только целочисленным.
Чтобы задать входное значение или связанное с ним переклассифицированное значение, может использоваться несколько методов. Эти методы лучше всего представлены на примерах. Остальное обсуждение таблиц преобразования ASCII представляет несколько таблиц преобразования и описано, как входные значения ячеек переклассифицируются в соответствии с таблицей. Во всех примерах используется набор растровых данных со значениями ячеек от 1 до 20.
Примеры
Определены только входные значения ячеек
В этом примере представлена таблица преобразования с выражениями присвоения, которые содержат только входное значение ячейки.
# Example 1 # Remap table for cell value reclassification. LOWEST-INPUT 3 LOWEST-OUTPUT 2 5 6 7 15
Входные значения ячеек всегда должны быть отсортированы в возрастающем порядке.
Как в случае с таблицей преобразования INFO, последовательные выражения присвоения неявно определяют диапазоны значений ячеек для переклассификации. Таким образом, важно, что входные значения ячеек отсортированы в порядке возрастания. Выходное переклассифицированное значение для каждого диапазона вычисляются автоматически из значения, заданного с LOWEST-OUTPUT. Первый диапазон значений ячеек переклассифицируется в значение, заданное для LOWEST-OUTPUT. Следующий диапазон переклассифицируется в LOWEST-OUTPUT плюс один и т. д., пока все выражения присвоения не будут иметь переклассифицированного значения. Значения ячеек вне заданного диапазона переклассифицируются в значения NoData.
В следующей таблице приведена переклассификация:
Входное значение ячейки |
Выходное значение переклассификации |
---|---|
Меньше 3 |
NoData |
от 3 до 5 |
2 (наименьшее-выходное) |
От 5 до 6 |
3 (наименьшее-выходное + 1) |
От 6 до 7 |
4 (наименьшее-выходное + 2) |
От 7 до 15 |
5 (наименьшее-выходное + 3) |
Больше 15 |
NoData |
Если LOWEST-INPUT не задано, все значения ячеек, которые меньше или равны 5, будут переклассифицированы в 2. Переклассифицированное значение по умолчанию будет равняться 1, если LOWEST-OUTPUT 2 не задано.
Конкретные выходные значения
Вы можете задать выходные значения для каждого входного значения или входного диапазона путем добавления дополнительного поля в таблицу преобразования.
За входным значением ячейки или диапазоном значений сначала следует двоеточие (:), затем нужное выходное переклассифицированное значение. Если задано явное выходное переклассифицированное значение, LOWEST-OUTPUT игнорируется, например:
# Example 3 # Remap table for cell value reclassification. LOWEST-INPUT 3 5 : 10 6 : 16 7 : 62 15 : 28
Переклассификация описана в следующей таблице:
Входные значения ячеек |
Выходное значение переклассификации |
---|---|
Меньше 3 |
NoData |
от 3 до 5 |
10 |
От 5 до 6 |
16 |
От 6 до 7 |
62 |
От 7 до 15 |
28 |
Больше 15 |
NoData |
Явные входные диапазоны
Аналогичным образом, выходное значение может быть задано для явных входных диапазонов:
# Example 4 # Remap table for cell value reclassification. 3 5 : 9 5 9 : 8 13 15 : 59
Переклассификация описана ниже:
Входное значение ячейки |
Выходное значение переклассификации |
---|---|
Меньше 3 |
NoData |
от 3 до 5 |
9 |
От 5 до 9 |
8 |
От 9 до 13 |
NoData |
От 13 до 15 |
59 |
Больше 15 |
NoData |
Некорректный пример — смешение одинарных входных значений и диапазонов
Все примеры выше — это корректные таблицы преобразования ASCII, которые могут использоваться для переклассификации значений ячеек. Каждый из четырех методов показывает допустимый синтаксис для таблицы преобразования ASCII. Синтаксис нельзя смешивать между четырьмя типами. Например, некорректным является определение выражения присвоения, которое содержит одинарное входное значение, за которым следует другое выражение присвоения, которое содержит входной диапазон.
Ниже приведена некорректная таблица преобразования. Одинарные входные значения ячеек и входные диапазоны нельзя задать в той же таблице преобразования.
# Invalid remap table for cell value reclassification LOWEST-INPUT 3 LOWEST-OUTPUT 2 5 6 9 11 15
Некорректный пример — смешение заданных выходных значений
Также неверно задавать выходное переклассифицированное значение только на некоторых выражениях присвоения в таблице преобразования. Если вы зададите выходное значение, его необходимо задать в выражениях присвоения.
Ниже приведена некорректная таблица преобразования (все выражения присвоения должны иметь заданное выходное значение):
# Invalid remap table for cell value reclassification LOWEST-INPUT 3 5 : 10 6 7 : 62 15