google / earthenterprise

Google Earth Enterprise - Open Source
Apache License 2.0
2.67k stars 890 forks source link

Implement zoom-dependent imagery rendering in 2D maps #277

Open avnishb opened 7 years ago

avnishb commented 7 years ago

Users would like to control the source/resolution of GEE 2D map tiles, based on the current zoom level of the user:

"I would like to be able to detect what the current zoom level is so we can make a decision on what imagery database (database published to a virtual server) we would request tiles from. Especially on the terrain we would like to be able to say for the first 4 zoom levels use the low res terrain data, then once the user is zoomed in to zoom level 5 start pulling tiles from another virtual server with higher res terrain data."

"Working in our Google Earth Enterprise Server, we are looking forward to provide a new service combining more than one raster map in a globe. What we'd like to achieve is to provide a map 1:1000000 for early zooms and 1:50000 and 1:5000 as long as user approaches to the map. We have all these three maps in raster (Mrsid files). We assume that GEE allows to serve one base rather than the other depending on the size of the boundarybox request. But, how can we manage to serve more than one raster in a globe? "

"All of the image resources in my image project are set to draw at all display levels. I would like to have our higher resolution image resources to only display when zoomed into a specific display level, or a specific scale. The section on "Display Order of Imagery and Terrain Resources" in the Fusion Reference manual discusses rearranging display orders, but not at what scale they'll display at."

avnishb commented 7 years ago

Comments from (former) GEE engineer:

It might take time to support in imagery project; but on the other hand, it might be simple to check in one place where insets are enumerated for blending.

Fusion builds from the highest resolution level (base resolution for imagery asset), so the user will need to set only lowest desirable level for corresponding asset in imagery project. Based on this setting, walking from higher to lower resolutions levels, we skip blending with higher-resolution inset (cached high-resolution tile) at corresponding level.

Maybe consider skipping blending with high resolution insets at low resolution levels even if it costs nothing.