1

I am trying to use image.getDownloadURL(downloadParam) to get the download link of an area of interest, it works fine with small areas, but when I pick a larger area, I will encounter an error like this: Pixel grid dimensions (48569x17664) must be less than or equal to 10000.

If the 10000 pixel dimension limit is set by GEE on the server side, is there any way to increase this limit?

I am aware of the Export.image.toDrive function, to which you can set the maxPixels, I am using image.getDownloadURL(downloadParam) because I am building an EE app that allows users download raster data for a large area.

My code example is here: https://code.earthengine.google.com/84de75665f99d0cb78136bfe8045bfd2

//import SRTM data
var image = ee.Image("USGS/SRTMGL1_003");

//Define small and large AOI
var Small_AOI = 
    ee.Geometry.Polygon(
        [[[-83.36097825867773, 36.44238302457335],
          [-83.36097825867773, 36.17346476392684],
          [-82.68806566102148, 36.17346476392684],
          [-82.68806566102148, 36.44238302457335]]], null, false);

var Large_AOI = 
    ee.Geometry.Polygon(
        [[[-85.40031541688086, 37.58251126010928],
          [-85.40031541688086, 33.88278318496734],
          [-79.02824510438086, 33.88278318496734],
          [-79.02824510438086, 37.58251126010928]]], null, false);
//print(Map.getBounds())
Map.centerObject(Small_AOI)
Map.addLayer(Small_AOI)

//get download link for Small_AOI and Large_AOI
var url_small = image.getDownloadURL({
  image: image,
  //crs: ee.String(crs_textbox.getValue()),
  scale: image.projection().nominalScale(),
  region: Small_AOI,
  //maxPixels: 2e10,
})
print(url_small)

var url_large = image.getDownloadURL({
  image: image,
  //crs: ee.String(crs_textbox.getValue()),
  scale: image.projection().nominalScale(),
  region: Large_AOI,
  //maxPixels: 2e10,
})
print(url_large)

1 Answer 1

2

getDownloadURL() is a client-side function that is intended for quick, interactive download of a sample region. Say for instance your app includes a very complex algorithm applied to high resolution data and a user requests a global download - this task would not be able to run interactively in the browser, which is why the limitation is in place.

A data service app is best build using a custom app, where a user can log into their Earth Engine account and export data as an asset to their own account or Google Cloud Storage.

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.