Geospatial

Geospatial processing,at the size it really is

GRASS GIS, on an Ubuntu desktop of your own.A location on the volume, and a module library to work it with.

GRASS GIS 8.4.24 cores · 8 GBOpens in a browser tab
hub://grass

$ dxflow workflow create --identity grass hub://grass --start --link

01Pick a machinecores, memory and a rate per hour
02Create the workflowpulled from the hub, once
03Run it, then stopstopped when the work is done
The application

A database,not a folder of files

GRASS keeps a location and its mapsets, so a raster is indexed, not reopened.

Raster, vector, temporal

Hundreds of modules for terrain, hydrology, imagery and time series.

Scripted from Python

The same modules called from grass.script, so an analysis is a file, not clicks.

Big rasters behave

Region-based processing over a dataset larger than memory, on rented cores.

How you run it

Every defaultis one override away

The session reads its settings from the environment, so you set them on the start line.

VNC_PASSWORDWhat the tab asks for. It ships as dxflow, and everyone reading this knows that.
PANEL and TASKBARBoth hidden, so the wxGUI has the whole screen. Show either one when the map display opens beside the layer manager.
AUDIOOff here. Turn it on and the desktop sound is streamed beside the picture.
start it your way

$ dxflow workflow start grass --override env.app.VNC_PASSWORD=something-long

$ dxflow workflow start grass --override env.app.PANEL=show --link

The session

The wxGUIfills the screen

Streamed to your browser, with GRASS already maximized.

6082Browserin the tab, at /vnc.html
5901VNCin a native client
/volumeStorageyour files, kept between runs
Open it from anywhereStart with --link and the session comes back on an HTTPS address.
Set a password firstVNC_PASSWORD defaults to dxflow, and everyone can read this page.
Good to know

It asks for a databasebefore it draws anything

GRASS wants a directory, a location and a mapset first. The map display is not useful until it has them.

Put the database on /volume

That is the screen it opens on. Point it at a directory under the volume and the whole database survives a restart.

Modules, not menus

Everything in the GUI is a module with a name. Once you know them, the same analysis runs from a script over a hundred mapsets.

Built on Ubuntu

Void's GRASS is orphaned at 8.3.0 and amd64 only. Ubuntu carries 8.4.2 for both architectures, so this one sits there.

The image

Pulled once,then it stays

GRASS GIS arrives as one image. This is what comes down the first time, and what the disk should have free for it.

602Mamd64compressed, the way the registry counts it
587Marm64compressed, the way the registry counts it
20GOn diskunpacked, with room to work beside it
ghcr.io/dxflow-ai/grass:latestPublished from the hub, pulled on the first start and kept for the ones after it.
Either architectureamd64 and arm64 are both published, and the machine pulls the one it runs.
What it asks for

What it wants,and what it needs

The definition asks for 4 cores and 8 GB. The image comes up on less than that, and a start given --fit trims the ask to whatever the machine actually has.

4 cores · 8 GBAsks forwhat the definition writes down
2 cores · 4 GBRuns onthe least the image comes up on
Not neededGPUit works on the cores alone
The ask is not the floorThe definition writes down what suits the work. The image itself starts on less, which is what the second figure is.
--fit caps it to the hostA start given --fit trims each step to what the machine actually has, for that start alone. The definition is never rewritten.

Machines that fit it

GRASS GIS asks for 4 cores and 8 GB. Cheapest first.

E2 Standard-4
$0.168/ hour4 cores · 16 GBStart this machine
T4g XLarge
$0.168/ hour4 cores · 16 GBStart this machine
C7g XLarge
$0.181/ hour4 cores · 8 GBStart this machine
Run GRASS GIS on your own machinePick a machine that meets it, and it opens about a minute after you ask.