Scientific data comes in many shapes and sizes, but often when we talk about scientific data, we’re talking about data that represents geophysical, environmental, climatological, or atmospheric phenomena that occurs over space (two dimensional), time (another dimension), and/or height or depth (two more dimensions). Because of the multi-dimensional aspect of the data, you may have heard this described as a data cube, image cube, or multidimensional raster.
In ArcGIS Pro, you can work with scientific data in multiple formats: netCDF, GRIB or HDF layers, space-time cubes, mosaic datasets, or, with the release of ArcGIS Pro 2.4, you can use multidimensional raster datasets in Cloud Raster Format (CRF). In this post we will highlight all the new multidimensional functionality that is available in ArcGIS Pro 2.4:
- The optimized Cloud Raster Format
- New analysis and management tools
- Extended raster functions and map algebra
- New functionality in the ArcPy API
The Cloud Raster Format is an Esri-created raster format that is optimized for writing and reading large files in a distributed processing and storage environment. And what’s larger than a massive stack of raster data? CRF has now been extended to support multidimensional data, which is great since it makes it faster and more efficient to access large chunks of information from a large volume of raster data. You can store a multidimensional data cube that contains multiple dimensions and many variables, all in a single efficient data structure.
You can create a CRF from a netCDF, HDF, or GRIB layer, or from a time series mosaic dataset (e.g., satellite imagery stacked over time) by using the Copy Raster tool. Just be sure to select CRF as your output format and check the box to Process as Multidimensional. And don’t let the name fool you – Cloud Raster Format files (.crf) can be stored on the Cloud or on your local machine, just like a good old TIFF file.
New analysis and management tools
We added some new geoprocessing tools too, so you can manage your multidimensional raster data or perform analysis to get new information:
- Do you already have a time series mosaic dataset and you want to make sure you can see all the multidimensional information in the layer properties?
Use the Build Multidimensional Info tool, which comes with ArcGIS Pro Standard or Advanced. Once you run this tool, the multidimensional info tab shows up in the layer properties, and other multidimensional tools will recognize the mosaic dataset as a valid multidimensional dataset.
- Do you have a multidimensional raster or mosaic dataset and want to make temporal profiling even faster?
Use the Build Multidimensional Transpose tool, which comes with ArcGIS Pro Basic, Standard or Advanced. This tool transposes or re-indexes your data to optimize performance when accessing data along dimensions.
- Do you want to combine your multidimensional data into larger chunks of time, depth or height? Use the Aggregate Multidimensional Raster tool, available with ArcGIS Image Analyst or ArcGIS Spatial Analyst. This tool will turn your daily data into average monthly or yearly data, or you can combine your salinity data, measured at each meter below the ocean surface, into 10-meter averages.
- Do you want to find spatial anomalies in your data, like where the warmest ocean temperatures were each year?
Use the Generate Multidimensional Anomalies tool, available with ArcGIS Image Analyst or ArcGIS Spatial Analyst. With this tool, you will create a multidimensional raster where each slice shows the deviations from the global average
Extended raster functions
Remember raster functions? Those nifty operations that perform on-the-fly processing to make for fast and efficient raster exploration? Well, in ArcGIS Pro 2.4 we made sure all the local raster functions (those are not global, that is) support multidimensional raster data.
So. You want to run NDVI on every Landsat image in your time series? Just use the NDVI raster function. You want to combine your relative humidity CRF with your temperature CRF to make a multidimensional heat index layer? Just use the heat index function. Make sure to check the raster function General tab and use the two new multidimensional rules!
New properties, methods and functions in the Arcpy API
If you are a Python user, you’ll be happy to know that the arcpy.Raster class now supports multidimensional raster data. You can set the is_multidimensional parameter to True to flag your raster object as a multidimensional raster. New properties and methods such as mdinfo, getDimensionAttributes, getDimensionNames and getDimensionValues can be used to return all the interesting details of your multidimensional raster data. There are also new functions available with the arcpy Image Analyst module, which allow you to work with and analyze multidimensional raster data.
This code sample creates a Raster object from a multidimensional raster dataset, then gets multidimensional information including variables and dimension values:
Overall, we’re making big leaps towards helping our fellow scientists do some amazing things with multidimensional data in ArcGIS.
Ready to try it out for yourself? Do some science with this tutorial!
You can also watch this four minute video to see multidimensional analysis in action: