ASCII в растр (ASCII to Raster) (Конвертация)
Резюме
Конвертирует ASCII файл, содержащий растровые данные в набор растровых данных.
Использование
Входным файлом является текстовый файл в формате ASCII.
-
Структура файла ASCII содержит информацию, состоящую из набора ключевых слов, следующих за значениями ячеек, развернутыми по строкам.
Есть два вида структуры файла ASCII. Один определяет исходные данные по координатам ячейки левого нижнего угла, или как центр левой нижней ячейки.
В общих чертах формат файла следующий:
NCOLS xxx NROWS xxx XLLCORNER xxx YLLCORNER xxx CELLSIZE xxx NODATA_VALUE xxx row 1 row 2 . . row n
Ниже приведены определения ключевых слов:
NCOLS и NROWS - количество столбцов и строк в растре, заданное файлом ASCII.
XLLCORNER и YLLCORNER — координаты левого нижнего угла левой нижней ячейки.
Также можно использовать XLLCENTER и YLLCENTER, чтобы указать исходную точку по координатам центра левой нижней ячейки.
CELLSIZE - размер ячейки растра.
NODATA_VALUE - значение, служащее для представления ячеек со значениями NoData.
Значения ячеек должны быть разделены пробелами. Для обозначения конца строки в файле ASCII специальный символ не обязателен. Номер столбца в заглавной строке определяет начало каждой новой строки.
Пример файла растра ASCII:
NCOLS 480 NROWS 450 XLLCORNER 378922 YLLCORNER 4072345 CELLSIZE 30 NODATA_VALUE -32768 43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34 35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 ...
-
NODATA_VALUE - значение файла ASCII, которое будет присвоено ячейкам NoData в выходном растре. Это значение, как правило, резервируется для тех ячеек, истинное значение которых неизвестно. При создании выходного растра вместо NODATA_VALUE будет использоваться сгенерированное системой значение NoData. В разделе NoData в наборах растровых данных (NoData in raster datasets) имеется информация о том, как изменить значение NoData, когда будет создан растр.
-
Число содержащихся в файле значений ячеек должно быть равно числу строк, умноженному на число столбцов, в противном случае будет возвращена ошибка.
-
Тип выходных данных может быть либо плавающим, либо целочисленным.
После создания выходного растра, используйте инструмент Задать проекцию (Define Projection), чтобы задать ему соответствующую систему координат.
Синтаксис
Параметр | Объяснение | Тип данных |
in_ascii_file |
Входной файл ASCII, который будет конвертирован. | File |
out_raster | Создаваемый выходной набор растровых данных. Если данные не сохраняются в базу геоданных, задайте расширение файла .tif для файла формата TIFF, .img для файла формата ERDAS IMAGINE или не задавайте расширение, чтобы получить растровый формат Esri Grid. | Raster Dataset |
data_type (дополнительно) |
Тип данных выходного набора растровых данных.
| String |
Пример кода
Конвертирует ASCII файл, содержащий растровые данные в набор растровых данных.
import arcpy
arcpy.ASCIIToRaster_conversion("c:/data/elevation.asc", "c:/output/elevation",
"INTEGER")
Конвертирует ASCII файл, содержащий растровые данные в набор растровых данных.
# Name: ASCIIToRaster_Ex_02.py
# Description: Converts an ASCII file representing raster data to a raster
# dataset.
# Import system modules
import arcpy
# Set local variables
inASCII = "c:/data/elevation.asc"
outRaster = "c:/output/elevation02"
rasterType = "INTEGER"
# Execute ASCIIToRaster
arcpy.ASCIIToRaster_conversion(inASCII, outRaster, rasterType)