Tuesday, September 21, 2010

ECW Support in ArcGIS 10 Desktop

With the release of ArcGIS 10, ESRI’s desktop products support ECW image files natively through GDAL. The GDAL move was part of ESRI's switch from the ERDAS Raster Data Objects (RDO) that ESRI paid ERDAS to use. It was very low cost, as ESRI has historically been a business partner, but ESRI wanted to go in another direction. (The ESRI community can expect a bumpy raster ride for a few releases.)

The GDAL version used in ArcGIS 10 uses an older version of the ERDAS ECW JPEG2000 SDK (ECW SDK), so opacity is not supported and the speed is a little slower than what will be available using the latest version of the ECW SDK, v4.1.

ERDAS is working with GDAL to upgrade GDAL to the latest version of the ECW SDK, scheduled to be complete before Feb 1, 2011. Once the GDAL work is complete, software companies using GDAL (such as ESRI) need only download the Read Only ECW SDK and build in their desktop application as defined by GDAL and according to the ECW SDK EULA for free ECW, ECWP and JPEG2000 desktop read capability.

GDAL is a SDK and the ECW SDK EULA states a SDK cannot deliver the ECW SDK with their SDK. The solution is for GDAL to build against the ECW SDK, but not deliver the ECW SDK. Then the companies using GDAL can simply download the Read Only ECW SDK from ERDAS and put GDAL and the ECW SDK in their desktop software application.

The beauty of the way the Read Only and Full ECW SDKs were put together, once the developer has done the work for ECW, the work to implement ECWP and JPEG2000 may take as few as 30 more minutes’ development time.

If a company wishes their software application to write ECW and JPEG2000 data, they can use the same GDAL approach noted above; and with a purchase of the Full ECW SDK from ERDAS, they add writing ECW and JPEG2000 data.

For ECW support in ArcGIS Server see: http://field-guide.blogspot.com/2011/04/news-release-erdas-releases-new-product.html

For streaming ECW and JP2 data via ECWP in ArcGIS desktop see: http://field-guide.blogspot.com/2011/05/esri-adding-for-ecwp-in-arcgis.html

Why ECW?
Many in the geospatial community correctly think of ECW (Enhanced Compression Wavelet) as a data format that saves disk space. A more powerful aspect of ECW, because of its fundamental mathematical breakthrough enabling fast compression, the same breakthrough provides very fast decompression as well; while only using a small amount of RAM. Whether accessing ECW on a desktop, over a LAN, or over the internet, ECW is very fast. In many cases, ECW is much faster than accessing the imagery in an uncompressed format.

What is ECWP?
Geospatial images can be hundreds or thousands of gigabytes in size. Traditional mechanisms for serving image data over the internet are inadequate when high-speed performance is required. ECWP (Enhanced Compression Wavelet Protocol) leverages the benefits of a the mathematically efficient ECW format and allows the server to stream these large geospatial images to a user's application, rather than sending a regular image ver HTTP, while only using a tiny amount of RAM. JPEG2000 can be streamed with ECWP as well, with higher performance than JPIP.

Why JPEG2000?
JPEG2000 is an ISO-certified wavelet compression image format that is commonly used for geospatial imagery. The format is defined by the Joint Photographic Experts Group. Because JPEG2000 was designed by a committee to do a great many things, it will never be as fast as ECW. Because JPEG2000 compression and decompression technology is similar to ECW, it was simple to add this capability to the ERDAS ECW JPEG2000 SDK, even supporting JPEG2000 streaming within ECWP. But, because JPEG2000 was created by a committee to a great many things, JPEG2000 is unlikely to ever be as fast as ECW.

ECW on Wikipedia


Jarlath O'Neil-Dunne said...

Unfortunately when ESRI moved to GDAL in ArcGIS 10 it introduced at least one error is the display of large floating point rasters. The details are on my blog.

Paul said...

The move from the ERDAS developed RDO to GDAL is likely to be a somewhat bumpy road. One point, the GeoTIFF generating OVR files rather than RRDs will likely throw people problems when they want to sent the file to a user who has versions before ArcGIS 10. I guess they will just have to re-generate the RRDs.

hobu said...

Why not make the ECW read-only SDK redistributable in the same way that the MrSID read-only SDK is redistributable? Your simple "solution" is not a solution for users at all. It means enabling the registration of GDAL plugins at the very least -- which can be quite troublesome. If I have to link against your stuff but I can't provide hassle-free support for it, I won't link your stuff.

Paul said...

It seems ESRI is having problems with the removal of the ERDAS raster data objects in v10. Jarlath documents this issue here: http://letters-sal.blogspot.com/2010/12/esri-hiring-senior-raster-product.html

DMS2 said...

I still can't see how to add ECWP services to ArcGis 10 Desktop. Is there any documentation about how to do this?

Paul said...

I have never found it either.... have you asked ESRI via the ESRI Support Center? I believe the reason it is not supported by ESRI very well is customers do not ask it of them (actually all commercial companies respond when the demand becomes painful).