ASCII в растр (Конвертация)

Сводка

Конвертирует ASCII файл, содержащий растровые данные в набор растровых данных.

Прежние версии:

Это устаревший инструмент. Инструмент Копировать растр теперь можно использовать для конвертации файла ASCII, представляющего растровые данные, в набор растровых данных.

Если вы используете текстовое окно кнопки поиска Обзор в инструменте Копировать растр, и у входных файлов нет какого-либо расширения .asc, вы можете или переименовать файл, чтобы включить это расширение, или изменить фильтр в диалоговом окне Входной растр с Все поддерживаемые типы на Файлы. Рекомендуемая опция – переименование файла.

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

  • Входным файлом является текстовый файл в формате 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.

  • Число содержащихся в файле значений ячеек должно быть равно числу строк, умноженному на число столбцов, в противном случае будет возвращена ошибка.

  • Тип выходных данных может быть либо плавающим, либо целочисленным.

  • После создания выходного растра используйте инструмент Определить проекцию, чтобы задать ему соответствующую систему координат.

Синтаксис

arcpy.conversion.ASCIIToRaster(in_ascii_file, out_raster, {data_type})
ParameterОбъяснениеТип данных
in_ascii_file

Входной файл ASCII, который будет конвертирован.

File
out_raster

Создаваемый выходной набор растровых данных.

Если выходной растр не будет сохраняться в базе геоданных, задайте расширение .tif для файла формата TIFF, .CRF для файла формата CRF, .img для файла формата ERDAS IMAGINE или не задавайте расширение для растрового формата Esri Grid.

Raster Dataset
data_type
(Дополнительный)

Указывает тип данных выходного набора растровых данных.

  • INTEGERБудет создан целочисленный набор растровых данных.
  • FLOATБудет создан набор растровых данных с плавающей точкой.
String

Пример кода

ASCIIToRaster. Пример 1 (окно Python)

Конвертирует ASCII файл, содержащий растровые данные в набор растровых данных.

import arcpy
arcpy.ASCIIToRaster_conversion("c:/data/elevation.asc", "c:/output/elevation", 
                               "INTEGER")
ASCIIToRaster, пример 2 (автономный скрипт)

Конвертирует 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)

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

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

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