Package: ocean3d 0.1.1.9008

Jay Matsushiba

ocean3d: Three-Dimensional Marine Spatial Analysis

Facilitates the analysis of marine habitat in 3D, enabling descriptions of habitat by depth and area. Provides tools for volume calculation, environmental extraction, and spatial overlap analysis between species ranges, fisheries, and depth-stratified environmental data.

Authors:Jay Matsushiba [aut, cre], David Ruiz-García [aut]

ocean3d_0.1.1.9008.tar.gz
ocean3d_0.1.1.9008.zip(r-4.7-any)ocean3d_0.1.1.9008.zip(r-4.6-any)ocean3d_0.1.1.9008.zip(r-4.5-any)
ocean3d_0.1.1.9008.tgz(r-4.6-any)ocean3d_0.1.1.9008.tgz(r-4.5-any)
ocean3d_0.1.1.9008.tar.gz(r-4.7-any)ocean3d_0.1.1.9008.tar.gz(r-4.6-any)
ocean3d_0.1.1.9008.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
ocean3d/json (API)

# Install 'ocean3d' in R:
install.packages('ocean3d', repos = c('https://ropensci-staging.r-universe.dev', 'https://cloud.r-project.org'))

Reviews:rOpenSci Software Review #()

Bug tracker:https://github.com/marine-biodiversity-conservation-lab/ocean3d/issues

Pkgdown/docs site:https://marine-biodiversity-conservation-lab.github.io

On CRAN:

Conda:

5.77 score 11 stars 10 scripts 31 exports 39 dependencies

Last updated from:681fd10ed4. Checks:7 NOTE, 3 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-develNOTE314
pkgdown docsOK243
source / vignettesOK215
linux-releaseNOTE219
macos-releaseNOTE221
macos-oldrelNOTE242
windows-develNOTE216
windows-releaseNOTE270
windows-oldrelNOTE268
wasm-releaseOK152

Exports:as_envelopeas_voxelcalc_volume_overlapcreate_study_rasterdepthsenvelope_to_voxelextract_to_areaextract_to_pointextract2dextract3d_allextract3d_bottomextract3d_nearestextract3d_surfacefetch_species_assessmentsfill_missing_depthsgfw_effort_to_rasterintersectintersect_3dintersects_3dload_gebco_bathymetrymaskoccupiedprofile_equalprofile_flatvect_to_envelopevolumevoxel_to_envelopewoa_cache_clearwoa_cache_dirwoa_downloadwoa_load_nc

Dependencies:classclassIntclicrulcurlDBIdplyre1071genericsgfwrgluehttpcodejsonliteKernSmoothlifecyclemagrittrmimencdf4pillarpkgconfigproxyR6Rcpprlangrredlists2sfstringistringrterratibbletidyselecttriebeardunitsurltoolsutf8vctrswithrwk

Getting started with ocean3d
Our research question | How does ocean3d represent three-dimensional space? | Getting started: preparing our data | Installing ocean3d | Step 1: Creating our study area and bathymetry | 1.1. Defining our study area | 1.2. Representing the seafloor | Step 2: Creating our environmental data | 2.1. Defining our depth levels | 2.2. Generating synthetic temperature data | 2.3. Creating our SpatVoxel | 2.4. Visualising our 3D environmental data | Step 3: Creating our species' three-dimensional distribution | 3.1. Defining our species' geographical distribution | 3.2. Combining the polygon, depth limits and bathymetry | Step 4: Converting our species' distribution into a SpatVoxel | 4.1. Converting our SpatEnvelope | 4.2. Visualising our species' potential occupancy | Step 5: Exploring environmental conditions within our species' potential distribution | 5.1. Extracting temperature within our species' distribution | 5.2. Exploring temperature at a specific depth | 5.3. Exploring the vertical temperature profile | Step 6 (EXTRA - come back and check it out): Converting our results back into a SpatEnvelope | 6.1. Identifying suitable temperature ranges | 6.2. Understanding the limitations of this conversion | Summary | Next steps: What else can you do with ocean3d? | Apply the workflow to real-world datasets | Explore the full package documentation | Feedback and contributing | Contact us

Last update: 2026-10-07
Started: 2026-10-01

Depth levels and the slabs they stand for
A depth level stands for a slab, not a knife edge | Touching is not overlapping | Where the slab edges fall: bounds

Last update: 2026-10-01
Started: 2026-10-01

Readme and manuals

Help Manual

Help pageTopics
Coerce a 2D footprint to a 2.5D min-max envelopeas_envelope
Create a voxel objectas_voxel
Per-cell 3D volume overlap between two rasterized domainscalc_volume_overlap calc_volume_overlap,SpatEnvelope,SpatEnvelope-method calc_volume_overlap,SpatEnvelope,SpatVoxel-method calc_volume_overlap,SpatRaster,SpatRaster-method calc_volume_overlap,SpatVoxel,SpatEnvelope-method calc_volume_overlap,SpatVoxel,SpatVoxel-method
Create a study area raster gridcreate_study_raster
Depths of a voxel's layersdepths
Convert Envelope 2.5D -> Voxel 3Denvelope_to_voxel
Extract a 3D raster to an area and a depth bandextract_to_area
Extract values from netCDFs to one or more point observationsextract_to_point
Extract values from a 2D netCDF variableextract2d
Extract nearest, surface and bottom values from a 3D netCDF variableextract3d_all
Extract the bottom available layer from a 3D netCDF variableextract3d_bottom
Extract the nearest valid depth layer from a 3D netCDF variableextract3d_nearest
Extract the surface layer from a 3D netCDF variableextract3d_surface
Fetch species assessment data from IUCN Red List APIfetch_species_assessments
Fill missing depth valuesfill_missing_depths
Rasterise a GFW effort tibble onto a target gridgfw_effort_to_raster
The 3D space two objects shareintersect,SpatEnvelope,SpatEnvelope-method intersect,SpatEnvelope,SpatRaster-method intersect,SpatEnvelope,SpatVoxel-method intersect,SpatRaster,SpatEnvelope-method intersect,SpatRaster,SpatVoxel-method intersect,SpatVoxel,SpatEnvelope-method intersect,SpatVoxel,SpatRaster-method intersect,SpatVoxel,SpatVoxel-method intersect-guard intersect_3d intersect_3d,ANY,ANY-method intersect_3d,ANY,SpatEnvelope-method intersect_3d,ANY,SpatVoxel-method intersect_3d,SpatEnvelope,ANY-method intersect_3d,SpatEnvelope,SpatEnvelope-method intersect_3d,SpatEnvelope,SpatVoxel-method intersect_3d,SpatVoxel,ANY-method intersect_3d,SpatVoxel,SpatEnvelope-method intersect_3d,SpatVoxel,SpatVoxel-method
Do two objects share any 3D space?intersects_3d intersects_3d,ANY,ANY-method intersects_3d,ANY,SpatEnvelope-method intersects_3d,ANY,SpatVoxel-method intersects_3d,SpatEnvelope,ANY-method intersects_3d,SpatEnvelope,SpatEnvelope-method intersects_3d,SpatEnvelope,SpatVoxel-method intersects_3d,SpatVoxel,ANY-method intersects_3d,SpatVoxel,SpatEnvelope-method intersects_3d,SpatVoxel,SpatVoxel-method
Load GEBCO bathymetry rasterload_gebco_bathymetry
Keep a raster's values inside a 3D domainmask,SpatEnvelope,SpatEnvelope-method mask,SpatEnvelope,SpatVoxel-method mask,SpatRaster,SpatEnvelope-method mask,SpatRaster,SpatVoxel-method mask,SpatVoxel,SpatEnvelope-method mask,SpatVoxel,SpatVoxel-method mask-3d
Reduce a variable voxel to a presence voxeloccupied
2.5D min-max envelope: exactly depth_min, depth_maxSpatEnvelope-class
Union of the package's 3D domain representationsSpatVolume-class
3D voxel model: one layer per standard depth levelSpatVoxel-class
Convert SpatVector or sf to SpatEnvelopevect_to_envelope
Total 3D volume of a rasterized domainvolume volume,SpatEnvelope-method volume,SpatRaster-method volume,SpatVoxel-method
Vertical profiles for voxel buildingprofile_equal profile_flat voxel_profiles
Collapse Voxel 3D -> Envelope 2.5Dvoxel_to_envelope
Clear the WOA cachewoa_cache_clear
WOA cache directorywoa_cache_dir
Download a WOA NetCDF file (with caching)woa_download
Load a WOA NetCDF filewoa_load_nc