Инструменты, использующие параметр среды Сжатие, будут устанавливать тип сжатия при хранении выходных наборов растровых данных.
Главным преимуществом сжатых данных является то, что они занимают меньше места при хранении и время отображения растра уменьшается, поскольку передается меньшее количество информации.
ArcGIS может хранить сжатые данные в следующих форматах: IMG, JPEG, JPEG 2000, TIFF, Esri Grid или в базе геоданных. При хранении данных в базе геоданных, блоки данных сжимаются до сохранения.
Сжатие данных бывает с потерями (JPEG и JPEG 2000) или без потерь (LZ77, PackBits, CCITT). Сжатие без потерь означает, что значения ячеек набора растровых данных не меняются и не теряются. Если значения пикселов должны использоваться для анализа или на их основе будут разрабатываться другие данные, следует выбрать сжатие без потерь.
Величина сжатия зависит от данных и качества сжатия. Чем больше однородных данных, тем выше степень сжатия. Чем ниже качество, тем выше степень сжатия. Сжатие с потерями обычно приводит к более высоким степеням сжатия, чем сжатие без потерь.
Примечания по использованию
- При хранении данных в базе геоданных, сжатие возникает до сохранения в базе геоданных.
- Файловые и многопользовательский базы геоданных поддерживают только типы сжатия LZ77, JPEG, JPEG2000 и NONE.
- Сжатие JPEG работает только с растровыми данными 8 бит без знака и 12 бит без знака (хранятся как 16-разрядные).
- Если выбраны JPEG, JPEG_YCbCr или JPEG2000, вы можете также установить качество сжатия для контроля потерь качества изображения с помощью алгоритма сжатия. Значения пикселов изображения, сжатого с более высоким качеством, будут ближе к исходным. Диапазон допустимых значений качества сжатия – от 1 до 100. Качество сжатия по умолчанию – 75. Если вы не зададите значение вручную, будет использоваться значение по умолчанию.
- Тип сжатия по умолчанию – LZ77, он применяется ко всем типам растровых данных.
- Сжатие LERC – метод сжатия изображений, который может разделять растр на несколько блоков пикселов, в которых для каждого пиксела могут использоваться, на основе статистики блока (в том числе максимально допустимой ошибки), процессы квантизации и битстаффинга. Максимальная ошибка – это допуск для одного пиксела (а не средняя ошибка для всего изображения).
- В следующей таблице суммируются корректные типы сжатия для глубины каждого пиксела:
Допустимое сжатие для глубины каждого пиксела.
Сжатие Глубина пиксела (8 bit) Глубина пиксела (16 bit) Дополнительная информация LZ77
Да
Да
Любая глубина пиксела.
LERC
Да
Да
С увеличением глубины пиксела увеличивается эффективность алгоритма сжатия.
JPEG
Да
Только 12-разрядные данные; хранятся как 16-разрядные
JPEG_YCbCr
Да
Нет
JPEG2000
Да
Да
PackBits
Да
Нет
1-разрядные в 8-разрядные данные.
LZW
Да
Да
Любая глубина пиксела.
RLE
Да
Да
Любая глубина пиксела.
CCITT_G3
Нет
Нет
Только для 1-разрядных данных.
CCITT_G4
Нет
Нет
Только для 1-разрядных данных.
CCITT_1D
Нет
Нет
Только для 1-разрядных данных.
Допустимое сжатие для глубины каждого пиксела. - Эта настройка используется для инструментов, которые создают наборы растровых данных в ArcGIS. Обратитесь к разделу Матрица хранения растров, чтобы увидеть, какие форматы хранения растров могут управляться с помощью этой настройки.
Синтаксис диалога
- Сжатие – выберите, какой метод сжатия будет использоваться при хранении данных.
- LZ77 – сжатие без потерь, сохраняющее все значения ячеек растра. Используется по умолчанию.
- LERC – метод сжатия изображений без потерь или с потерями, который может разделять растр на несколько блоков пикселов, в которых для каждого пиксела могут использоваться, на основе статистики блока (в том числе максимально допустимой ошибки), процессы квантизации и бит-стаффинга.
- JPEG – сжатие с потерями, которое использует общедоступный алгоритм сжатия JPEG. Если вы выбрали JPEG, также можно установить качество сжатия. По умолчанию, допустимое качество сжатия входит в диапазон от 0 до 100, включая 75. Это сжатие может использоваться для файлов JPEG, файлов TIFF и баз геоданных.
- JPEG2000 – использует волновые технологии, поэтому растр отображается практически без потерь качества. Если выбрано JPEG2000, также можно установить качество сжатия. По умолчанию, допустимое качество сжатия входит в диапазон от 0 до 100, включая 75. Это сжатие может использоваться для файлов JPEG 2000 и баз геоданных.
- PackBits – сжатие PackBits для файлов TIFF.
- LZW – сжатие без потерь, сохраняющее все значения ячеек растра.
- RLE – кодирование для всей длины файлов в формате IMG.
- CCITT_G3 – сжатие без потерь, для 1-bit данных
- CCITT_G4 – сжатие без потерь, для 1-bit данных
- CCITT_1D – сжатие без потерь, для 1-bit данных
- JPEG_YCbCr – сжатие без потерь, использующее компоненты пространства цвета – яркость (Y) и цветность (Cb и Cr). Если выбран формат JPEG_YCbCr, также можно установить качество сжатия. По умолчанию допустимое качество сжатия входит в диапазон от 0 до 100, включая 75.
- NONE – Сжатие не возникнет.
- Качество сжатия (1–100) – при выборе сжатия JPEG, JPEG_YCbCr или JPEG2000, необходимо также задать качество сжатия. Допустимое качество сжатия входит в диапазон от 1 до 100, включая 75 (по умолчанию).
- Максимальная ошибка – если выбрано сжатие LERC, необходимо также задать максимальную ошибку, которая выражается в тех же единицах измерения, что и разрешение растра. Максимальная ошибка 0.000000 означает, что будет использовано сжатие без потерь.
Синтаксис скриптов
arcpy.env.compression = "compression_type {value}"
Параметр | Объяснение |
---|---|
compression_type (Обязательное) |
|
value (Необязательное) | При выборе сжатия JPEG или JPEG2000, необходимо определить качество сжатия. Допустимое качество сжатия входит в диапазон от 1 до 100, включая 75 (по умолчанию). Если выбрано сжатие LERC, необходимо также задать максимальную ошибку, которая выражается в тех же единицах измерения, что и разрешение растра. Максимальная ошибка 0.000000 означает, что будет использовано сжатие без потерь. |
Пример скрипта
import arcpy
# Set the compression environment to LZ77
arcpy.env.compression = "LZ77"
# Set the compression environment to JPEG with a quality of 80
arcpy.env.compression = "JPEG 80"