Основной эффект сжатия данных – уменьшение размера файла, что позволяет экономить место на жестком диске. Дополнительным преимуществом является значительно улучшенная производительность по сети, потому что вы передаете уменьшенное количество данных, которые считываются с диска и передаются на сервер или напрямую в приложение для чтения. Тем не менее, поскольку сжатые данные необходимо распаковать перед выводом на экран, этот процесс может занять некоторое время и может увеличить требования CPU на сервере или в приложении. Большинство wavelet- сжатий более тяжелые для CPU, чем JPEG, LZW или LZ77. При использовании сжатия JPEG 2000 затрачиваемое на сжатие время часто связано с долей сжатия. Чем сильнее сжаты данные, тем больше времени требуется на их распаковку.
Сжатие также можно применять к сервисам изображений при переносе пикселов из сервера в клиентские приложения. Это сжатие передачи, которое не зависит от сжатия хранения. Сжатие передачи может значительно повысить производительность за счёт снижения требований к ширине канала. (Сжатие передачи для кэша карты такое же, как сжатие хранения).
ArcGIS может хранить сжатые данные в следующих форматах: IMG, JPEG, JPEG 2000, TIFF, Esri Grid или в базе геоданных. При хранении данных в базе геоданных, блоки данных сжимаются до сохранения.
Сжатие данных бывает с потерями (JPEG и JPEG 2000) или без потерь (LZ77, PackBits, CCITT). Сжатие без потерь означает, что значения ячеек набора растровых данных не меняются и не теряются. Если значения пикселов должны использоваться для анализа или на их основе будут разрабатываться другие данные, следует выбрать сжатие без потерь.
Типы сжатия растров, поддерживаемые в ArcGIS
Сжатие | С потерями или без потерь | Примечания |
---|---|---|
LZ77 | Без потерь | |
JPEG | С потерями | Может определить качество сжатия |
JPEG 2000 | С потерями или без потерь | Может определить качество сжатия |
PackBits | Без потерь | Применяет только к TIFF |
LZW | Без потерь | |
RLE | Без потерь | |
CCITT GROUP 3 | Без потерь | Применяет только к TIFF |
CCITT GROUP 4 | Без потерь | Применяет только к TIFF |
CCITT (1D) | Без потерь | Применяет только к TIFF |
Нет | Нет сжатия данных |
Сжатие LZ77 (по умолчанию) является сжатием без потерь, т.е. значения ячеек сохраняются. Этот тип сжатия использует тот же алгоритм, что и формат изображений PNG, и напоминает сжатие ZIP. Поскольку при сжатии без потерь сохраняются все значения пикселов, степень сжатия в этом случае невелика (обычно 2:1 или 3:1, в зависимости от данных). Сжатие с потерями, с другой стороны, может в значительно большей степени уменьшить размер набора растровых данных (до 20:1); однако, при этом не сохраняются точные значения каждого пиксела. Сжатие с потерями подходит для тех ГИС проектов, в которых набор растровых данных используется только в качестве фона, и обычно не годится для анализа растра.
Для сжатия JPEG и JPEG 2000, степень сжатия зависит от используемых данных, но ею также можно управлять, изменяя значение качества, которое можно выбрать в диапазоне от 1 до 100. Чем выше значение, тем ниже степень сжатия, но выше качество изображения. Если вы выбираете низкое значение, степень сжатия повысится, но качество изображения станет ниже. Степень сжатия JPEG может достигать 10:1, а JPEG 2000 – 20:1. Чем больше однородных данных, тем выше степень сжатия. Чем ниже качество, тем выше степень сжатия. Алгоритм сжатия JPEG (JFIF) может использоваться только с 8-битными растровыми данными без знака (один или несколько каналов) и может применяться к первым 12 битам 16-битных данных. JPEG 2000 использует технологию сжатия методом wavelet -преобразования, при котором растр выглядит как сжатый без потерь, однако значения ячеек все же изменены. Часто нелегко увидеть различия между оригинальным и сжатым растрами.
При сохранении растра в файл на диске или в персональную базу геоданных с использованием сжатия JPEG 2000 вы можете сохранить растровые данные без потерь, если зададите качество сжатия 100. вы не получите сжатие без потерь при помощи этих методов с файловой или многопользовательской базой геоданных. Для файловой и многопользовательской базы геоданных используйте LZ77.
Сжатие с потерями следует выбрать
- Если растры используются только в качестве фона и вы не предполагаете выполнять их анализ
- Для быстрой загрузки и извлечения данных
- Если нужно меньше пространства хранения, т.к. доли сжатия могут быть в диапазоне от 1:1 до 20:1.
Сжатие без потерь следует выбрать
- Если наборы растровых данных должны использоваться для получения других данных или для визуального анализа
- При использовании дискретных данных
- Если вы не планируете сохранять оригинальные данные
- Если данные уже сжаты с потерями
Опции сжатия растров базы геоданных, которые используются для анализа
Битовая глубина | Нет сжатия | Сжатие LZ77 |
---|---|---|
1 bit | OK | Рекомендуется |
8 bit | OK | OK |
16 bit | OK | OK |
32 bit | OK | OK |
64 bit | OK | Рекомендуется |
Опции сжатия растров базы геоданных, которые используются в качестве изображений
Битовая глубина | Сжатие JPEG | Сжатие JPEG 2000 |
---|---|---|
1 bit | No | No |
8 bit | Рекомендуется | Рекомендуется |
16 bit | OK (только первые 12 битов) | Рекомендуется |
32 bit | No | No |
64 bit | No | No |
В некоторых случаях вы можете сохранить растровые данные без сжатия, однако, чаще всего рекомендуется использовать сжатие. Если вы не уверены, какой способ сжатия следует выбрать, используйте предлагаемый по умолчанию LZ77 (без потерь).