Файл с плавающей точкой в растр (Конвертация)
Резюме
Конвертирует файл, содержащий бинарные значения с плавающей точкой, представляющие растровые данные, в набор растровых данных.
Использование
-
Входной файл представляет собой бинарный файл IEEE с плавающей точкой 32-бит, со знаком.
-
Два типа входных файлов обязательны: бинарный файл с плавающей точкой с расширением .flt (<in_float_file>.flt) и файл заголовка ASCII с расширением .hdr (<in_float_file>.hdr). Вы задаете только файл .flt; однако, необходимо, чтобы файл .hdr находился в той же директории и с тем же именем.
-
Файл ASCII содержит информацию заголовка, заданную набором ключевых слов.
Есть два вида структуры файла 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 (также известен как Big Endian). Во многих других архитектурах (все системы UNIX кроме Alpha и поздний Macintosh с Motorola CPUs), используется порядок байтов MSBFIRST (также известен как Little Endian).
-
NODATA_VALUE - это значение во входном файле, по которому определяется, каким ячейкам должно быть присвоено значение NoData в выходном растре. NoData, как правило, зарезервировано для тех ячеек, правильное значение которых неизвестно.
-
В бинарном файле с плавающей точкой значения записаны как бинарные 32-битовые числа с плавающей точкой. Первая запись файла соответствует первой строке растра. Слева направо первые 32 бита – это первая ячейка, следующие 32 бита – это вторая ячейка и т.д. до конца записи (ряда). Это повторяется во второй записи (второй ряд растра) и до самой последней записи (в нижнем ряду растра).
-
Этот инструмент поддерживает и левый нижний угол, и центр левой нижней ячейки для определения исходных точки отсчета. Растр в файл с плавающей точкой (Raster to Float) записывает исходную точку отсчета только как левый нижний угол левой нижней ячейки.
После создания выходного растра, используйте инструмент Задать проекцию (Define Projection), чтобы задать ему соответствующую систему координат.
Синтаксис
Параметр | Объяснение | Тип данных |
in_float_file |
Входной бинарный файл с плавающей точкой. Файл должен иметь расширение .flt. Также должен присутствовать файл заголовка с расширением .hdr, связанный с бинарным файлом с плавающей точкой. | File |
out_raster | Создаваемый выходной набор растровых данных. Если данные не сохраняются в базу геоданных, задайте расширение файла .tif для файла формата TIFF, .img для файла формата ERDAS IMAGINE или не задавайте расширение, чтобы получить растровый формат Esri Grid. | Raster Dataset |
Пример кода
Конвертирует файл, содержащий бинарные значения с плавающей точкой, представляющие растровые данные, в набор растровых данных.
import arcpy
arcpy.FloatToRaster_conversion("c:/data/elevation.flt", "c:/output/elev")
Конвертирует файл, содержащий бинарные значения с плавающей точкой, представляющие растровые данные, в набор растровых данных.
# Name: FloatToRaster_Ex_02.py
# Description: Converts a file of binary floating-point values representing
# raster data to a raster dataset.
# Import system modules
import arcpy
# Set local variables
inASCII = "c:/data/elevation.flt"
outRaster = "c:/output/elev02"
# Execute FloatToRaster
arcpy.FloatToRaster_conversion("c:/data/elevation.flt", "c:/output/elev02")