Open in playproj

playproj

GuidePerspectiveCones and cylindersSight and shadeSpilhausGlobals and interruptedsPeeling the orangeDistortionEllipsoidGeoidOrthorectifications2 cellsH3 hexagonsL3 binsModel gridsIndex spaceMGRS and Sentinel-2AAT gridTiles and overviewsRectilinear chunksIcechunk and ZarrRasterizeAffineRegular in what?Convex hullCatastrophesTexture mappingPenguin datumFor exampleHomageVicGridNuyinaRhumb linesFrameTime and depthCutawayVoxels

Download it

How it works

RSV Nuyina is Australia's icebreaker. Its underway system logs the ship's position, weather and sea surface every minute, and the Australian Antarctic Data Centre publishes each voyage as a feature service. The page reads the voyage you pick and puts the ship on a map at the time on the slider.

Follow the ship centres an azimuthal projection on the ship (+proj=laea +lat_0 +lon_0 at its position), so the map is rebuilt as the ship moves; with heading up it also turns so the ship's course points up the screen, as a chart plotter does. The Antarctic view is the fixed EPSG:3031 polar stereographic most Antarctic maps use.

Near the ship. A map centred on the ship is a map of what is close to it, and the choice of azimuthal says what "close" keeps: aeqd keeps distance and bearing from the ship true, so the range rings (circles of true distance, drawn as geodesics) are exact circles; laea keeps area, stere keeps shape, and both pull the rings slightly out of round far out. In EPSG:3031 the same rings are ovals. The readout gives the nearest place and the nearest ice edge on the map, as distance and bearing from the ship.

Crow lines run from the ship to a place two ways: the great circle (solid), the shortest way, whose course changes as the ship goes, and the rhumb line (dashed), one course all the way. At these latitudes they part by hundreds of kilometres over a few thousand, and the great circle bends towards the pole and the ice. The readout gives both, and how much farther the ship has run than the great circle from where the voyage began; the Rhumb lines page puts the two on four maps.

Two mosaics that overlap. The seafloor comes from two sources: IBCSO v2 (500 m, in its own polar stereographic, EPSG:9354, south of 50 degrees S) and GEBCO 2026 (15 arc seconds of longitude and latitude, the whole world). Where both cover a pixel, something has to choose which one is read. The choice is a plan, separate from either grid: IBCSO first, a cut at a latitude, either alone, or the difference where both have data. Colour by source paints the plan; IBCSO minus GEBCO measures what the choice changes. GEBCO builds its Southern Ocean with IBCSO's compilation, so the two should mostly agree there; the difference shows where they do not, and the ship's readout gives both depths under the keel.

Cells at the ship draws each source's own cells round the ship: GEBCO's lon/lat cells (narrow in longitude this far south), IBCSO's 500 m squares and the 25 km sea ice cells, in three CRSs. The grids never share an edge, so one place is a different cell, and a different (column, row), in each. Lines are drawn only where the cells are big enough to see.

Sea ice is the NSIDC Sea Ice Index for the day at the slider: concentration on a 25 km polar stereographic grid, white from 15 percent (the usual ice edge, drawn as a line) to full cover. Every source is read in its own CRS and resampled per pixel into the map; the polar stereographic formulas are checked against PROJ for EPSG:3031, 9354, 3412 and 3976 in test/check-nuyina.mjs.

Hash keys: v (voyage code), t (0 to 1 along it), view (ship, polar), proj, up, span (log10 km), plan, cut, src, ice, cells, coast, rings, by, to (where the crow lines go), from (wfs, pq) and pq (the parquet file's address).

  • Voyage data: RSV Nuyina underway data, Australian Antarctic Data Centre (CC BY 4.0), each voyage cited by its record (linked under the voyage list). The parquet copy of the whole record is nuyina-underway, read a few columns and row groups at a time with hyparquet and fzstd. The Now entry reads the last two weeks by time rather than by voyage code, so the page follows the ship between voyages.
  • IBCSO v2: Dorschel, B. et al. (2022) The International Bathymetric Chart of the Southern Ocean Version 2, Scientific Data 9, 275, doi:10.1038/s41597-022-01366-7; read from a COG copy.
  • GEBCO Compilation Group (2026) GEBCO 2026 Grid, from Source Cooperative.
  • Fetterer, F. et al. Sea Ice Index, Version 4 (G02135), NSIDC.
  • Source addresses from the R package sds (its registry and nsidc_seaice()). The overlap and grid distinction follows the wxylib design note m10: overlapping COG mosaics.
  • Map projections with proj4js, checked against PROJ; polar stereographic after Snyder (1987) Map Projections: A Working Manual. COGs read with geotiff.js. NSIDC's server sends no CORS header, so the sea ice GeoTIFF is read through a small relay that forwards Range requests and adds it (nectar, recipes/relay); coastlines from Natural Earth; the globe drawn with d3-geo.
Source and contributing