diff --git a/R/mdim.R b/R/mdim.R index 544e1bed..a1073f8d 100644 --- a/R/mdim.R +++ b/R/mdim.R @@ -98,6 +98,14 @@ mdim_use_bounds = function(dims, x, bnds, center = TRUE) { dims } +match_raster_dims = function(nms) { + m = tolower(nms) %in% c("lon", "long", "longitude", "lat", "latitude") + if (sum(m) == 2) + which(m) + else + 1:2 +} + #' Read or write data using GDAL's multidimensional array API #' @@ -190,7 +198,7 @@ read_mdim = function(filename, variable = character(0), ..., options = character raster = if (sf) get_raster(dimensions = rep(NA_character_,2)) else - get_raster(dimensions = names(d)[1:2]) + get_raster(dimensions = names(d)[match_raster_dims(names(d))]) } else raster = get_raster(dimensions = raster) dimensions = create_dimensions(d, raster = raster) diff --git a/R/ncdf.R b/R/ncdf.R index 7a977a56..ed4829bc 100644 --- a/R/ncdf.R +++ b/R/ncdf.R @@ -708,10 +708,10 @@ read_ncdf = function(.x, ..., var = NULL, ncsub = NULL, curvilinear = character( coords[[lon_coord]] <- ((coords[[lon_coord]] + 180) %% 360) - 180 } else if(!is.null(lons) && .is_degrees(atts, lon_coord) && max(lons) > 180) { - message(paste0("0-360 longitude crossing the international date", + message(paste("0-360 longitude crossing the international date", "line encountered.\nLongitude coordinates will be", "0-360 in output.")) - + } } coords