Support Cloud Optimized GeoTIFF (COG) across the ArcGIS platform

3298
5
09-24-2018 08:11 AM
Status: Open
Labels (1)
berniejconnors
Occasional Contributor III

A Cloud Optimized GeoTIFF (COG) is a regular GeoTIFF file, aimed at being hosted on a HTTP file server, with an internal organization that enables more efficient workflows on the cloud. It does this by leveraging the ability of clients issuing HTTP GET range requests to ask for just the parts of a file they need - read more here - Cloud Optimized GeoTIFF 

 

As I understand it, I could simply point an online map viewer at a web folder of COG files and the imagery would be displayed.  Esri should support COG files across their platform.

 

Here is an online demonstration - COG-Explorer 

 

Best regards,

Bernie.

5 Comments
KoryKramer
StephenKnox

Hi Kory Kramer‌ that's great for Pro, although I haven't been able to achieve it in practice or locate any instructions how to do it.

However, I'm mostly interested in this for Portal - are there any plans to add this to Portal?

MattWilkie1

To clarify things a bit: strictly speaking Cloud Optimized Geotiff is a file format, and ArcMap and Pro can both read and use COG files without any special instructions or configuration when they're stored in a local or server share file system. That's what the Supported Raster Formats chart @KoryKramer posted refers to.

However this idea is about being able to read those files from outside the local network, so across HTTP, /vsizip/vsicurl, or whatever. ArcGIS doesn't do that yet, or at least not in the place I've tried.

thare_USGS

There is an interesting trick to get COGs as hosted from https to work in both ArcGIS Pro (2.7.1) and Arcmap (10.8.1). So using a locally installed gdal environment, you can create a GDAL "VRT" (virtual) file pointing at a COG (Tiff) as hosted using a https address. The locally created vrt file can be simply added or even dropped into ArcGIS/ArcMap.

How does this work? Since Arc* uses GDAL under-the-hood for some image I/O, support for GDAL VRTs is fairly robust and apparently allows for the ability to load a https hosted COG.

Steps:

  1. Get yourself a GDAL environment installed (e.g., Anaconda, then "conda install -c conda-forge gdal")
  2. Test the https hosted COG in gdal:
  3. Now create a GDAL VRT:
  4.  Done - drag that new file "theHostedCOG.vrt" in ArcGIS Pro or ArcMap

Not well tested and stumbled across this testing out new STAC services (uses online COGs).

NickMiddleton

Following this with interest.  Anyt further developments?

Cheers,

Nick