Support Cloud Optimized GeoTIFF (COG) across the ArcGIS platform

6576
8
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.

8 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

ErikMartin

I am likewise following this with interest. 

Specifically, I would like to be able to bring in and work with COGs in an ArcGIS JS API map.  So far as I have been able to tell, this is not currently possible.  Are there plans to implement this functionality?

Thanks, 

Erik

MatejVrtich

Hi,

with the recent release of JS API 4.25, there is a beta support for COGs.

https://developers.arcgis.com/javascript/latest/sample-code/layers-imagerytilelayer-cog/

PS: it would be great if Pro supports searching raster data using STAC and Image Server supports STAC spec on its image services build on top of mosaic datasets.

Matej

nadja_swiss_parks

I agree, the COG need to be supporte accross the ArcGIS platform. As far as I see, it is not yet supported in ArcGIS Online: https://doc.arcgis.com/en/arcgis-online/reference/supported-items.htm

(same goes for vrt)