2

Esri claim to support Cloud Optimized GeoTIFF (COG) this, but I can't find anything on the Esri site or elsewhere about how you actually do this.

My approach to date in QGIS has been Route 1 - add raster layer, select Protocol as the source type and then plug in the URL. I am using URLs from OpenAerialMap.

This works fine in QGIS.

Trying something similar in Pro:

Add Data -> Add from Path. Trying with and without the /vsicurl/ prefix yields nothing but errors.

4 Answers 4

2

If you have GDAL commandline tools, you can use gdal_translate (can also use gdal.Translate in python which is available in the base arcgispro-py3 env) to create a VRT pointing at the remote COG and ArcGIS Pro will load that.

E.g.

gdal_translate -of vrt https://url/to/some_cog.tif output.vrt

Then you just treat the .vrt as a raster and add it to Pro.

2

COG is not supported across ArcGIS Platforms, kindly follow this idea Support Cloud Optimized GeoTIFF (COG) across the ArcGIS platform

More information regarding Cloud Optimized GeoTiffs can be found Cloud Optimized GeoTIFF. The site contains the following statement referring to ArcGIS:

enter image description here

Feel free to submit a pull request to add any software confirmed to support COG's (links to documentation appreciated!)."

But As per my understanding, a known way is using ArcGIS Connection Files (.acs) to transfer files in Desktop/ArcGIS Pro

Kindly follow Imagery storage in the cloud link for a better understanding.

1
  • Yeah that we me in that idea that you linked! Could you give a little more detail about the acs files? I tried using the Create Cloud Storage Connection File tool to point to the folder on AWS, without success. Also weird that they don't allow plain HTTP connections, especially if they are using GDAL under the hood..
    – Stev_k
    Nov 16, 2020 at 17:24
1

I think I have figured out how to do it. It's a little convoluted. So firstly, you need to download and install the ESRI Optimize Rasters toolkit.

You then need to add the toolbox to ArcPro and open it, following instructions in the "Using OptimizeRasters in ArcGIS Pro" section of the manual.

You then need to open the Optimise Rasters script in the toolbox, and configure as follows (this is to read COGS in Public buckets on AWS).

Configuration File: CreateRasterProxy
Input Source: Amazon S3
Input Profile: Public Bucket
Input Bucket Container: <bucket name> e.g. oin-hotosm (Open Aerial Map)
Input Bucket: <bucket folder path> e.g. 5faff8ddf5b34900056e78a7/0 (note, not full path, which is 5faff8ddf5b34900056e78a7/0/5faff8ddf5b34900056e78a8.tif
Output Destination: Local
Output Path: Your local path

As so often seems to be the case with ESRI products, there are caching issues, so I found I had to restart the software again to create more than one of these, even using different output folders.

This worked for me for Open Aerial map as above, but not at all for Sentinel 2 data, e.g. Input Bucket: sentinel-cogs, Input Bucket Path: sentinel-s2-l2a-cogs/2019/S2B_28RGU_20191209_0_L2A

I suspect this is because it's arranged as a STAC catalogue or something, but QGIS can download (e.g. https://sentinel-cogs.s3-us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2019/S2B_28RGU_20191209_0_L2A/B08.tif as a COG without any issue). There is a ticket for that here.

Another issue that I haven't quite got to the bottom of is what the program is doing with the data. It is creating a PNG file for what looks like an overview image and then creates an MRF file, which references the COG file. So a little bit complicated!

1

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. This is what the COG entry in Esri's Supported Raster Formats chart refers to.

However this question 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.

ArcGIS Pro does ship with though, so the pieces are there to build tools in arcpy, which is essentially what the Optimize Rasters toolkit has done and enables the convoluted-but-works answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.