Publishing ECW Imagery with ArcGIS for Server

Being in Australia one of our most popular image formats is ECW. In other countries ECW is not as prevalent. This is geographic anomaly as the ECW format came from ER Mapper, developed out of Perth. ER Mapper was a cost effect Image processing product which provided very good image processing capabilities at a good price point. This led to wide market penetration in Australia but not other parts of the world. One of the by products of this legacy is the ECW image format. Based on the wavelet compression technology it provides for very good image compression and provides good speed to display. Hence it’s wide use here in Australia..

In other parts of the world the same compression is achieved using either the MrSID format or JPEG 2000. Both are wavelet compression technologies and both also provide good speed to display. The fundamental difference between all three formats is that MrSID and ECW are licensed formats while JPEG 2000 is an open format.

What does this mean to ArcGIS users?

Let’s start with JPEG 2000.
It is an open standard. This means that an end user can both read and write a JPEG 2000 image from ArcGIS as well as serve a JPEG2000 through ArcGIS as web service. It is portable and user friendly, the imagery can be manipulated and dissected any way a user needs.
Next is MrSID.
ArcGIS can read the MrSID format images and display them. However, if you need to resize, clip or mosaic you will need to save the image in a different format as ArcGIS is not licensed to write the MrSID format. Generally writing out to JPEG2000 achieves the desired compression results. To make the image into a service ArcGIS can serve the MrSID format as a web service.
Finally there is ECW.
ArcGIS does read and display ECW format images. As with MrSID and JPEG2000 the end user can stretch, reorientate and clip the imagery but when it comes to saving the imagery the ECW license prevents writing of the ECW format so once again it is recommended to save into either JPEG2000 to achieve the same compression or another format supported by ArcGIS. If you want to publish the image to an ArcGIS service this is a different story. The ECW license does not permit serving the ECW format image over the Internet unless you have a licensed product.

The question I get asked a lot is, I don’t have one image but many images that cover my area of interest. They have been tiled so that when I display them they are seamless. How can I make them available to every one as a single image? And I almost ways answer with a Geodatabase Mosaic Dataset then serve this as an image service from ArcGIS for Server.

This answer is quite ok for MrSID and JPEG2000 formats but not ECW. In fact if you want to keep inside the ArcGIS ecoculture then you have to convert the imagery to some other format. From reading above you might say this would be JPEG2000, however, people want to get at their imagery fast and in terms of web services JPEG2000 is not the fastest format to render. Almost in all these situations we recommend that an image cache is created. It is the number one fastest format to display imagery. Your end users will not be waiting for the imagery to display. It’s what all the main players in the consumer mapping market use to display their base layers.

To create an image cache is a relatively easy exercise.
1. Create a Geodatabase Mosaic Dataset and then add all your imagery to the dataset. This gives us a seamless mosaic of the imagery.
2. Make sure the boundary of both the images and the entire boundary of the mosaic have been clipped to remove all the padding (no data regions)
3. Decide on the scales you would like to build a cache to. Generally speaking a 50cm image is cached to 1:512. The smallest scales that consumer mapping applications go to is 1:1128 which is roughly 1 m resolution
4. Create a tiling scheme file that reflects the scales you decided upon.
5. Using the tiling scheme file as a template export the Mosaic dataset as a Managed Tile Cache. When caches for imagery are created in ArcGIS they work from the largest scale first and progressively get smaller.

Now here comes the smart bit. We need to trick ArcGIS into serving a cache of imagery but only publish a vector layer.
1. In ArcGIS for Desktop add a vector layer which is equivalent to the minimum bounding area of the imagery
2. Share this as a map service to ArcGIS for server.
3. In the configuration options enable a cache but do not create a cache. Include the tiling scheme file from point 4. above. This ensures the correct scales and image formats are used.
4. Once the service is up an running, simply copy the cache you created in step five above into the service. Now the service will ignore the vector layer and only show the cache when requests are made against it.

You can now access this imagery from any web application, desktop tool or mobile tool with ease.

Enjoy the freedom of imagery on the web

One thought on “Publishing ECW Imagery with ArcGIS for Server

  1. Mark Chilcott

    Great article and good advice. Skeleton map services with map caches work well – and is exactly what we use.
    There are also a few caveats and catches to this.
    ArcMap (at 10.3.1) has a bug where it does not display ECW images correctly when you zoom right in. This can be fixed by downloading an updated ecw extension for ArcMap from ER Mapper. The problem with this though – is the new ECW reader for ArcMap breaks the mosaic datasets. Therefore, one is forced into conversion of ECW to JP2 format. We also found we had to use ER Mapper or FME to do the conversion.


Got something to say?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s