Как работает инструмент Переклассификация по ASCII-файлу

Доступно с лицензией Spatial Analyst.

Доступно с лицензией 3D Analyst.

Таблица переклассификации в формате ASCII создается с помощью любого редактора, который формирует текстовой файл формата ASCI. Ниже приводится некоторая дискуссия о правильной разработке файла ASCII, который будет использоваться.

Для инструмента Переклассификация по ASCII-файлу входная таблица преобразования должна быть отформатирована особым образом. Файл создается с помощью любого редактора, который формирует текстовой файл формата 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-файлу всегда будет целочисленным.
  • Входные диапазоны значений не должны перекрываться, за исключением значений на границе двух диапазонов. Когда происходит перекрытие, высокий "хвост" диапазона более низких входных значений включается, а низкий "хвост" диапазона более высоких входных значений исключается из переклассификации; например:

    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)

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