Spatial Data Sources

Descriptions of spatial data sources that can be read directly with or without download. Most sources are readable by 'GDAL' software. There are functions for imagery, elevation, and a variety of easily accessible data streams including image tile servers, links to online files, and geographic data services.


sds

CRANstatus R-CMD-check

The goal of sds is to provide spatial data sources!!

Installation

You can install the development version of sds from GitHub with:

# install.packages("devtools")
devtools::install_github("hypertidy/sds")

Example

This shows some of the variety of the sources available.

library(sds)

gebco() ## a global seamless topography (bathymetry and elevation)
#> [1] "/vsicurl/https://data.source.coop/ausantarctic/gebco/GEBCO_2026.tif"

CGAZ()  ## a global nations boundaries dataset
#> [1] "/vsicurl/https://github.com/mdsumner/geoboundaries/releases/download/latest/geoBoundariesCGAZ_ADM0.parquet"

CGAZ_sql(c("New Zealand", "Australia")) ## a SQL query for the CGAZ polygons
#> [1] "SELECT shapeGroup FROM geoBoundariesCGAZ_ADM0 WHERE shapeGroup IN ('NZL','AUS')"

cop30()  ## a global 30m elevation data set 
#> [1] "/vsicurl/https://opentopography.s3.sdsc.edu/raster/COP30/COP30_hh.vrt"

mpc()  ## return STAC collections for use with GDAL
#> [1] "STACIT:\"https://planetarycomputer.microsoft.com/api/stac/v1/search?collections=sentinel-2-l2a&bbox=146.5,-43.2,147.5,-42.2&datetime=2026-09-26T00:00:00Z/2026-10-02T00:00:00Z\""

mpc( datetime = as.Date(c("2019-06-01", "2019-08-01")), 
    bbox = c(-148.56, -147.44, 60.80, 61.18), asset = "visual")
#> [1] "STACIT:\"https://planetarycomputer.microsoft.com/api/stac/v1/search?collections=sentinel-2-l2a&bbox=-148.56,60.8,-147.44,61.18&datetime=2019-06-01T00:00:00Z/2019-08-01T00:00:00Z\":asset=visual"

## or return just the string a for jsonlite read
js <- jsonlite::fromJSON(mpc(stacit  = F))
## do it how you like
js$features$assets$visual$href
#> [1] "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/55/G/DP/2026/09/30/S2A_MSIL2A_20260930T001241_N0513_R073_T55GDP_20260930T044108.SAFE/GRANULE/L2A_T55GDP_A058872_20260930T001244/IMG_DATA/R10m/T55GDP_20260930T001241_TCI_10m.tif"
#> [2] "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/55/G/DN/2026/09/30/S2A_MSIL2A_20260930T001241_N0513_R073_T55GDN_20260930T044108.SAFE/GRANULE/L2A_T55GDN_A058872_20260930T001244/IMG_DATA/R10m/T55GDN_20260930T001241_TCI_10m.tif"
#> [3] "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/55/G/EP/2026/09/30/S2B_MSIL2A_20260930T000219_N0513_R030_T55GEP_20260930T024315.SAFE/GRANULE/L2A_T55GEP_A049963_20260930T000221/IMG_DATA/R10m/T55GEP_20260930T000219_TCI_10m.tif"
#> [4] "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/55/G/EN/2026/09/30/S2B_MSIL2A_20260930T000219_N0513_R030_T55GEN_20260930T024315.SAFE/GRANULE/L2A_T55GEN_A049963_20260930T000221/IMG_DATA/R10m/T55GEN_20260930T000219_TCI_10m.tif"
#> [5] "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/55/G/DP/2026/09/30/S2B_MSIL2A_20260930T000219_N0513_R030_T55GDP_20260930T024315.SAFE/GRANULE/L2A_T55GDP_A049963_20260930T000221/IMG_DATA/R10m/T55GDP_20260930T000219_TCI_10m.tif"
#> [6] "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/55/G/DN/2026/09/30/S2B_MSIL2A_20260930T000219_N0513_R030_T55GDN_20260930T024315.SAFE/GRANULE/L2A_T55GDN_A049963_20260930T000221/IMG_DATA/R10m/T55GDN_20260930T000219_TCI_10m.tif"

There are image tile servers:

wms_arcgis_mapserver_ESRI.WorldImagery_tms()
#> [1] "<GDAL_WMS>\n  <Service name=\"TMS\">\n    <ServerUrl>http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/${z}/${y}/${x}</ServerUrl>\n  </Service>\n  <DataWindow>\n    <UpperLeftX>-20037508.34</UpperLeftX>\n    <UpperLeftY>20037508.34</UpperLeftY>\n    <LowerRightX>20037508.34</LowerRightX>\n    <LowerRightY>-20037508.34</LowerRightY>\n    <TileLevel>17</TileLevel>\n    <TileCountX>1</TileCountX>\n    <TileCountY>1</TileCountY>\n    <YOrigin>top</YOrigin>\n  </DataWindow>\n  <Projection>EPSG:900913</Projection>\n  <BlockSizeX>256</BlockSizeX>\n  <BlockSizeY>256</BlockSizeY>\n  <BandsCount>3</BandsCount>\n  <MaxConnections>10</MaxConnections>\n  <Cache/>\n  <ZeroBlockHttpCodes>204,404,403</ZeroBlockHttpCodes>\n</GDAL_WMS>"
wms_openstreetmap_tms()
#> [1] "<GDAL_WMS>\n  <Service name=\"TMS\">\n    <ServerUrl>https://tile.openstreetmap.org/${z}/${x}/${y}.png</ServerUrl>\n  </Service>\n  <DataWindow>\n    <UpperLeftX>-20037508.34</UpperLeftX>\n    <UpperLeftY>20037508.34</UpperLeftY>\n    <LowerRightX>20037508.34</LowerRightX>\n    <LowerRightY>-20037508.34</LowerRightY>\n    <TileLevel>18</TileLevel>\n    <TileCountX>1</TileCountX>\n    <TileCountY>1</TileCountY>\n    <YOrigin>top</YOrigin>\n  </DataWindow>\n  <Projection>EPSG:3857</Projection>\n  <BlockSizeX>256</BlockSizeX>\n  <BlockSizeY>256</BlockSizeY>\n  <BandsCount>3</BandsCount>\n  <!-- Add a specific UserAgent for sustained use, per OSM tile usage policy -->\n  <Cache />\n</GDAL_WMS>"

## not shown else will reveal my INSTANCE_ID
wms <- sentinel2_wms()

And a very specific sea ice source:

nsidc_seaice(hemisphere = "south")
#> [1] "/vsicurl/https://noaadata.apps.nsidc.org/NOAA/G02135/south/daily/geotiff/2026/09_Sep/S_20260924_concentration_v4.0.tif"
nsidc_seaice(hemisphere = "north")
#> [1] "/vsicurl/https://noaadata.apps.nsidc.org/NOAA/G02135/north/daily/geotiff/2026/09_Sep/N_20260924_concentration_v4.0.tif"

Code of Conduct

Please note that the sds project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("sds")

0.3.0 by Michael Sumner, 15 hours ago


https://github.com/hypertidy/sds


Report a bug at https://github.com/hypertidy/sds/issues


Browse source code at https://github.com/cran/sds


Authors: Michael Sumner [aut, cre, cph]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports countrycode, dsn, tibble

Suggests testthat


See at CRAN