You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Access common web basemap tile services via GDAL. Returns either WMTS connection strings (for ESRI services with WMTS support) or TMS minidriver XML for XYZ tile services.
Caching Range Requests: What GDAL Already Does (and the Hard Part It Doesn't)
The question of how to cache HTTP range requests — particularly for cloud-native geospatial formats like COG, PMTiles, FlatGeobuf, and cloud-optimized GeoParquet — keeps coming up. Brandon Liu's How many ranges can you fit in one request is a good treatment of the multi-range packing problem. But there's a mature, battle-tested system that already handles much of this at the client level, and its design choices are instructive even for people building entirely different stacks: GDAL's /vsicurl/ virtual filesystem.
GDAL's VSI curl layer and caching
When GDAL reads a cloud-optimized file via /vsicurl/ (or its cloud-specific variants /vsis3/, /vsigs/, /vsiaz/), it performs range request management internally. The behaviour is controlled by a set of configuration options that most users never touch, but that encode a lot of hard-won knowledge about how to read efficie
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## generate a tif with a nodata collardsn<-"/vsicurl/https://projects.pawsey.org.au/idea-gebco-tif/GEBCO_2024.tif"
library(terra)
#> terra 1.8.96pr<- rast(ext(c(-1, 1, -1, 1)) *1e7, res=4000, crs="+proj=laea")
pr