Как работает инструмент Переклассификация по ASCII-файлу (Reclass by ASCII File)
Таблица переклассификации в формате ASCII создается с помощью любого редактора, который формирует текстовой файл формата ASCI. Ниже приводится некоторая дискуссия о правильной разработке файла ASCII, который будет использоваться.
Для инструмента Переклассификация по ASCII-файлу (Reclass by ASCII File) входная таблица преобразования должна быть отформатирована особым образом. Файл создается с помощью любого редактора, который формирует текстовой файл формата ASCII.
В следующем списке приведены некоторые подробности корректного форматирования для файла ASCII:
- Комментарии можно вводить, начиная с символа #. Не существует ограничений по числу введенных комментариев.
- Каждая строка присвоения перекодирует значение или диапазон значений входного растра, присваивая им выходное значение. В строке присвоения допускается использование только числовых значений.
- Все строки присвоения в таблице переклассификации ASCII должны быть в одном и том же формате. Поддерживаются два формата: один для переклассификации индивидуально заданных входных значений, а второй для переклассификации диапазонов входных значений.
Если единственное значение переклассифицируется в другое значение, это значение определяется следующим образом: значение, пробел, двоеточие (:), еще один пробел и затем значение, которое будет присвоено этим ячейкам в выходном файле.
В целом, строка присвоения для единственного входного значения выглядит следующим образом:
in_value : out_value
Со значениями она выглядит так:
5 : 20
, где местоположениям со значением, равным 5 на входном растре, будет присвоено значение 20 на выходном растре. -
Для единственного входного значения в строке присвоения, если входные данные не заданы напрямую, выходные данные будут либо исходным входным значением, либо значением NODATA (Нет данных), в зависимости от установленного флажка для определения пропущенных значений (Данные или NODATA).
В качестве примера рассмотрим таблицу присвоения, которая состоит из двух строк:
5 : 100 7 : 200
Если входное значение равно 2, выходное значение будет равно 2 или NoData, в зависимости от того, какой флажок установлен для определения пропущенных значений (Данные или NODATA). Если входное значение равно 5, выходное значение будет равно 100. Если входное значение равно 6, выходное значение будет равно либо 6, либо NoData.
-
Если должен быть переклассифицирован диапазон значений, задается самое низкое значение из диапазона, за ним идет пробел, а затем самое высокое значение в диапазоне, за которым следует двоеточие (:), еще один пробел, и, наконец, выходное значение.
В общем случае, строка присвоений для диапазона значений выглядит следующим образом:
in_min_value in_max_value : out_value
Со значениями она выглядит так:
5 10 : 50
где значениям 5, 6, 7, 8, 9 и 10 во входном растре будет присвоено значение 50 в выходном растре. Значению 3 будет присвоено либо значение 3, либо NoData. Значению 12 будет присвоено либо значение 12, либо NoData.
- Значения, которые будут картированы (отдельные или диапазон значений), должны быть упорядочены по возрастанию: первым в перечне должно идти самое низкое значение.
- Значения вх_min_значение и вх_max_значение могут быть либо целыми числами, либо числами с плавающей точкой. Если выходные присваиваемые значения в таблице переклассификации представлены числами с плавающей точкой, они будут округлены. Выходной растр, полученный в результате запуска инструмента Переклассификация по ASCII-файлу (Reclass by ASCII File) всегда будет целочисленным.
-
Входные диапазоны значений не должны перекрываться, за исключением значений на границе двух диапазонов. Когда происходит перекрытие, высокий "хвост " диапазона более низких входных значений включается, а низкий "хвост " диапазона более высоких входных значений исключается из переклассификации; например:
1 3 : 4 (where 1 <= value <= 3, values remapped to 4) 3 5 : 6 (where 3 < value <= 5, values remapped to 6) 5 7 : 8 (where 5 < value <= 7, values remapped to 8)