增强压缩小波(.ECW)

司机简称

ECW

生成依赖项

ECW软件开发包

GDAL支持使用Hexagon Geospatial(以前是integraph、ERDAS、ERMapper)开发的ERDAS ECW/JP2 SDK读写ECW文件。支持是可选的,需要在ECW/JP2 SDK下载页面提供的库中进行链接。

驱动程序功能

Supports CreateCopy()

This driver supports the GDALDriver::CreateCopy() operation

Supports Create()

This driver supports the GDALDriver::Create() operation

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

许可

ERDAS ECW/JP2 SDK v5.x在多种许可类型下可用。对于桌面使用,解码任何大小的ECW/JP2图像都是免费的。要在服务器平台上压缩、部署或解码移动平台上大小不受限制的文件,必须从Hexagon Geospatial购买许可证。

历史

  • v3.x-最新版本,2006

  • v4.x-最新版本,2012

  • v5.x-主动开发,2013-当前

创建选项

ERDAS ECW/JP2 v4.x和v5.x SDK只对图像解压免费。要压缩图像,必须使用读/写SDK构建,并在运行时提供一个可以从ERDAS购买的OEM许可密钥。

对于那些仍然使用ECW3.3sdk的用户,小于500MB的图像可以免费压缩,而较大的图像需要获得ERDAS的许可。请参阅许可协议和大的“确定”选项。

要压缩为ECW格式的文件也必须至少为128x128。对于ECW版本2文件,ECW当前仅支持每个通道8位。ECW版本3文件支持每个通道16位(作为Uint16数据类型)。请参阅创建选项以启用ECWv3文件写入

将坐标系信息写入ECW文件时,许多不太常见的坐标系未正确映射。如果知道坐标系的ECW名称,则可以使用“项目”和“基准创建”选项强制在创建时对其进行设置。

ECW格式不支持创建概述,因为ECW格式已经被认为是为“任意概述”而优化的。

创建选项:

  • LARGE_OK=YES(仅限v3.x SDK) 允许根据EULA条款压缩大于500MB的文件。自v4.x以来已弃用,取而代之的是ECW_ENCODE_KEY&ECW_ENCODE_COMPANY。

  • ECW_ENCODE_KEY=key(v4.x SDK或更高版本) 提供原始设备制造商编码密钥,以解锁编码能力,最高可达许可的千兆像素限制。密钥大约有129个十六进制数字长。公司和密钥必须匹配,并且必须在每个次要版本的SDK中重新生成。它也可以作为配置选项全局提供。

  • ECW_ENCODE_COMPANY=name(v4.x SDK或更高版本) 在发出的OEM密钥中提供公司名称(请参阅ECW_ENCODE_密钥)。公司和密钥必须匹配,并且必须在每个次要版本的SDK中重新生成。它也可以作为配置选项全局提供。

  • TARGET=percent :将目标大小缩减设置为原始大小的百分比。如果未提供,则灰度图像的默认值为90%,RGB图像的默认值为95%。

  • PROJ=name :要使用的ECW投影字符串的名称。常见的例子是NUTM11或大地测量。

  • DATUM=name :要使用的ECW基准字符串的名称。常见的例子是WGS84或NAD83。

  • UNITS=name :要使用的ECW投影单位的名称:米(默认)或英尺(美制英尺)。

  • ECW_FORMAT_VERSION=2/3 :使用ECW 5.x SDK生成时,可以将此选项设置为允许创建ECW版本3文件。默认值为2,以保持最广泛的兼容性。

配置选项

ERDAS ECW SDK支持多种 runtime configuration options 控制各种特性。其中大多数是作为GDAL配置选项公开的。有关这些选项含义的完整详细信息,请参阅ECW SDK文档。

  • ECW_CACHE_MAXMEM=bytes :用于内存缓存的最大RAM字节数。如果没有设置,SDK将使用多达四分之一的物理RAM进行内存缓存。

  • ECWP_CACHE_LOCATION=path :用于缓存ECWP结果的目录的路径。如果未设置ECWP,则不会启用缓存。

  • ECWP_CACHE_SIZE_MB=number_of_megabytes :ECWP_CACHE_位置中用于缓存ECWP结果的最大空间字节数。

  • ECWP_BLOCKING_TIME_MS :ecwp://blocking read返回前等待的时间-默认值10000毫秒。

  • ECWP_REFRESH_TIME_MS :块到达和下一次刷新回调之间的时间延迟-默认值10000毫秒。对于GDAL,这是驱动程序等待ecwp连接上更多数据的时间量,该连接的最终结果尚未返回。如果设置得很小,那么RasterIO()请求通常会产生低分辨率的结果。

  • ECW_TEXTURE_DITHER=TRUE/FALSE :在解压缩ECW文件时,这可能设置为FALSE以禁用抖动。默认为TRUE。

  • ECW_FORCE_FILE_REOPEN=TRUE/FALSE :此值可以设置为TRUE,以强制为所建立的每个连接打开每个文件的文件句柄。默认为FALSE。

  • ECW_CACHE_MAXOPEN=number :要为ECW文件句柄缓存保持打开的最大文件数。默认为无限制。

  • ECW_RESILIENT_DECODING=TRUE/FALSE :控制读取器是否应原谅文件中的错误,尝试返回尽可能多的可用数据。默认为TRUE。如果设置为FALSE,则无效文件将导致错误。

GDAL特定选项:

  • ECW_ALWAYS_UPWARD=TRUE/FALSE :如果为真,则驱动程序设置负Y分辨率,并假设图像始终具有“向上”方向(Y坐标向上增加)。这可能被设置为FALSE,以使驱动器依赖于使用图像的Y分辨率值(符号)的实际图像方向,以允许对具有“向下”方向的罕见图像进行正确处理(Y坐标增加“向下”且Y分辨率为正)。默认为TRUE。

ECW版本3文件

ECW 5.x SDK引入了一个新的文件格式版本,

  1. 在文件头中存储数据统计、直方图、元数据、RPC信息

  2. 支持UInt16数据类型

  3. 能够更新现有ECWv3文件中的区域

  4. 引入其他节省空间的优化

注意:此版本不向后兼容,无法在v3.x或v4.x ECW/JP2 SDK中解码。文件版本元数据将公布文件是ECW v2还是ECW v3。

ECWP

除了本地文件外,该驱动程序还支持使用ERDAS APOLLO产品的专有“ECWP”协议访问流式网络图像服务。使用完整的ecwp://prefixed dataset url作为输入。当使用ECW/JP2 SDK v4.1或更新版本构建时,还可以利用 RFC 24:GDAL渐进式数据支持 用于对ECWP服务的异步/渐进流式访问。

元数据/地理参考

在ECW元数据域中报告在ECW标题中找到的项目、数据和单位。也可以使用SetMetadataItem()方法设置它们,以便在不修改图像的情况下更新在更新模式下打开的现有ECW文件的头信息。

geotransform和projection也可以使用SetGeoTransform()和SetProjection()方法进行修改。如果使用SetProjection()设置投影,使用SetMetadataItem()设置PROJ、DATUM或UNITS,则后面的值将覆盖从投影字符串生成的值。

All those can for example be modified with the -a_ullr, -a_srs or -mo switches of the gdal_edit.py utility.

例如:

gdal_edit.py -mo DATUM=WGS84 -mo PROJ=GEODETIC -a_ullr 7 47 8 46 test.ecw

gdal_edit.py -a_srs EPSG:3068 -a_ullr 20800 22000 24000 19600 test.ecw

文件元数据键:

  • FILE_METADATA_ACQUISITION_DATE

  • FILE_METADATA_ACQUISITION_SENSOR_NAME

  • FILE_METADATA_ADDRESS

  • FILE_METADATA_AUTHOR

  • FILE_METADATA_CLASSIFICATION

  • 文件元数据公司-应设置为ECW编码公司

  • 文件元数据压缩软件-在重新压缩期间更新

  • FILE_METADATA_COPYRIGHT

  • FILE_METADATA_EMAIL

  • FILE_METADATA_TELEPHONE

  • CLOCKWISE_ROTATION_DEG

  • COLORSPACE

  • COMPRESSION_DATE

  • COMPRESSION_RATE_ACTUAL

  • 压缩率目标。这是目标压缩文件大小除以未压缩文件大小的百分比。这等于100/(100-TARGET),其中TARGET是文件创建时使用的目标创建选项的值,因此压缩率目标=1等于目标=0(即不压缩),压缩率目标=5等于目标=80(即将未压缩的文件大小除以5),等等。。。

  • VERSION

也见