Растр в файл с плавающей точкой (Конвертация)

Сводка

Конвертирует набор растровых данных в файл, содержащий растровые данные в виде бинарных значений с плавающей точкой.

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

  • Входной набор растровых данных может быть любым корректным набором растровых данных.

  • Создаются выходные данные: 32-битовый двоичный файл IEEE формата с плавающей точкой с расширением .flt и файл заголовка ASCII с расширением .hdr. Оба будут использовать одно выходное имя растрового файла с плавающей точкой.

  • Файл ASCII содержит информацию заголовка, заданную набором ключевых слов.

    В общих чертах формат файла следующий:

        NCOLS xxx
        NROWS xxx
        XLLCORNER xxx
        YLLCORNER xxx
        CELLSIZE xxx
        NODATA_VALUE xxx
        BYTEORDER <MSBFIRST | LSBFIRST>

    Ниже приведены определения ключевых слов:

    • NCOLS и NROWS – количество столбцов и строк в растре, заданное бинарным файлом.

    • XLLCORNER и YLLCORNER – координаты левого нижнего угла левой нижней ячейки.

      Использование XLLCENTER и YLLCENTER не поддерживается инструментом Растр в файл с плавающей точкой.

    • CELLSIZE – это размер ячейки растра.

    • NODATA_VALUE – значение, служащее для представления ячеек со значениями NoData.

    • BYTEORDER представляет, как мультибайтовые бинарные числа хранятся в системе, на которой был создан бинарный файл. В системах с процессором Intel используется порядок байтов LSBFIRST (также известен как Little Endian). Во многих других архитектурах (большинство систем UNIX, кроме Alpha, и поздних Macintosh с процессорами Motorola), используется порядок байтов MSBFIRST (также известен как Big Endian).

  • NODATA_VALUE – это значение в выходном файле, соответствующее ячейкам входного растра, которые содержат значение NoData. Это значение, как правило, резервируется для тех ячеек, истинное значение которых неизвестно.

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

    1. Запустите из дополнительного модуля ArcGIS Spatial Analyst инструмент IsNull на исходном растре. Выходные данные будут растром с бинарными значениями, где 1 соответствует NoData на исходном растре, а 0 - любое другое значение.
    2. Запустите из дополнительного модуля ArcGIS Spatial Analyst инструмент Условие, задав результат работы IsNull как Входной растр, удовлетворяющий условиям, новое значение для присвоения NoData как Input True, исходный растр как растр Input False и условие Выражение в виде "value = 1".
    3. Конвертируйте выходной растр Условие в двоичный файл с плавающей точкой с помощью инструмента Растр в файл с плавающей точкой.
    4. Поменяйте значение NODATA_VALUE в файле заголовка ASCII на значение, в которое было конвертировано NoData.

  • Этот инструмент записывает начало отсчета как левый нижний угол левой нижней ячейки. Инструмент Копировать растр также поддерживает исходные данные как центр левой нижней ячейки.

Синтаксис

RasterToFloat(in_raster, out_float_file)
ParameterОбъяснениеТип данных
in_raster

Входной набор растровых данных.

Растр может быть целочисленным или с плавающей точкой.

Raster Layer
out_float_file

Выходной растровый файл с плавающей точкой.

Имя файла должно иметь расширение .flt.

File

Пример кода

RasterToFloat, пример 1 (окно Python)

Конвертирует набор растровых данных в файл, содержащий растровые данные в виде бинарных значений с плавающей точкой.

import arcpy
from arcpy import env
env.workspace = "C:/data"
inRaster = "elevation"
outFloat = "c:/output/elevation.flt"
arcpy.RasterToFloat_conversion("elevation", "c:/output/elevation.flt")
RasterToFloat, пример 2 (автономный скрипт)

Конвертирует набор растровых данных в файл, содержащий растровые данные в виде бинарных значений с плавающей точкой.

# Name: RasterToFloat_Ex_02.py
# Description: Converts a raster dataset to a file of binary floating-point
#     values representing raster data.
# Requirements: None

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inRaster = "elevation"
outFloat = "c:/output/elevation.flt"

# Execute RasterToFloat
arcpy.RasterToFloat_conversion(inRaster, outFloat)

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

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

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