1 of 55

State of Growing

Corey White, Huidae Cho, Alen Mangafić, Vaclav (Vashek) Petras

FOSS4G NA– Nov 5, 2025 – Reston Virginia

2 of 55

Corey T. White

Applied Research Scientist @ Center for Geospatial Analytics

Founder & CEO @ OpenPlains Inc.

Newest GRASS Maintainer

3 of 55

    • Advanced geospatial modeling and analysis
    • Fast, trusted, science-based tools
      • 400+ core tools
            • 400+ contributor addons
  • Modern Tooling
        • Jupyter Notebooks
        • R Studio
        • Python and C API
        • GUI

4 of 55

5 of 55

6 of 55

Releases

            • 8.4.1, February 2025 Current version for everyday user
            • 8.5.0 Preview, Daily Latest reviewed functional code
            • 7.8.8 Legacy, August 2023
              • Maintained legacy version for some production systems

7 of 55

Thanks to all those involved!

Contributors 138

+ 99 contributors

Community

8 of 55

Community

Average 32 commits per week over the past year

49 active contributors over the past year

9 of 55

For the long-term…

Career and Mental Health Investment

  • Invest your time into technologies that stay and don't disappear in couple years.
  • Shell scripting, Python, GRASS.
  • Longevity, open-source, platform-independent.
  • Things develop, versions update, features are added...

10 of 55

  • Invest your time into technologies that stay and don't disappear in couple years.
  • Shell scripting, Python, GRASS.
  • Longevity, open-source, platform-independent.
  • Things develop, versions update, features are added...

...but general ideas stay the same.

Code from 2002 running in 2019?

version 5.0 code works as is in 7.6:

although there is a better way to write it:

r.mapcalc depr.bin="if((elev - fill)< 0., 1, 0)"

r.mapcalc "depr_bin = if((elev - fill) < 0., 1, 0)"

Career and Mental Health Investment

11 of 55

New in 8.4 comparing to 8.3

12 of 55

Supervised classification with Support Vector Machines

  • i.svm.train: train with Support Vector Machine
  • i.svm.predict: predict with Support Vector Machine

by Maris Nartiss (Nartiss & Melniks 2023)

Tools: More Machine Learning

13 of 55

v.fill.holes: fill holes in areas by keeping only outer boundaries

by Vaclav Petras

Tools: More Topology Handling

14 of 55

r.horizon: output for multiple points, distances, and many other improvements

by Anna Petrasova, funded by NSF Award #2322073, granted to Natrx, Inc.

Tools: Better Horizon Identification

15 of 55

JSON output format support (format="json") in multiple tools (v.db.select, t.rast.list, …)

With better integration in Python:

More coming in 8.5 (r.report, r.info, …)

by Anna Petrasova, Vaclav Petras, Huidae Cho, Kriti Birda, Corey White, and others

v.db.select roadsmajor format=json

import json

import grass.script as gs

data = gs.parse_command("v.db.select", map="roadsmajor", format="json") for row in data["records"]:

print(row["ROAD_NAME"])

Interfaces: JSON for Text Outputs

https://github.com/orgs/OSGeo/projects/10

16 of 55

The Python API, command line, and GUI are now using project instead of location for the main component of the data hierarchy.

  • .../data/missouri (location → project)
  • interstate_44 (mapset aka sub-project)

Locations are now Projects

17 of 55

  • Projects keep the data consistent.
    • Same format for all data.
    • Same CRS for all data.
    • Separates data preprocessing from analysis.
  • Mapsets keep the data organized.
    • One default mapset or multiple mapsets.
    • Work is happening in one mapset, but data from any mapset can be used.
  • .../data/missouri (project)
  • interstate_44 (mapset)

import grass.script as gs

gs.create_project("/path/to/project", epsg="3358")

Projects

18 of 55

grass.script Python package:

Greatly simplified the creation of new projects in Python without a running session (no more chicken and egg problems)

by Vaclav Petras, funded by NSF Award #2322073, granted to Natrx, Inc.

import grass.script as gs

gs.create_project("cordoba_utm21s", epsg="32721")

gs.setup.init("cordoba_utm21s")

Python API: Simpler Creation of Projects

19 of 55

--tmp-location is now --tmp-project

--tmp-location continues to work

grass --tmp-project EPSG:3358 --exec \ r.viewshed input=elevation \ output=viewshed coordinates=642964,222890

CLI: temporary project with --exec

20 of 55

grass.jupyter Python package:

  • New grass.jupyter.SeriesMap class for animating series of vectors or rasters (temporal animations already available)
  • New option to create a maps with ipyleaflet

(will bring interactivity in 8.5)

by Caitlin Haedrich, Riya Saxena, Anna Petrasova

s = gj.SeriesMap(height = 500) s.add_rasters(["elevation_shade", "geology", "soils"]) s.add_vectors(["streams", "streets", "viewpoints"]) s.d_barscale()

s.show()

m = InteractiveMap(map_backend="ipyleaflet") m.add_vector("streams") m.add_raster("elevation")

m.show()

Python API: Animations and ipyleaflet

21 of 55

by Linda Karlovska with a GRASS Student Grant

GUI: new History Browser panel

22 of 55

model new landforms using cut and fill operations to add and remove earth from an elevation raster

using r.earthworks

by Brendan Harmon

Addon Tools: model new landforms

23 of 55

i.eodag: download, import, preprocessing, cloud detection, and masking of remote sensing data with EODAG (Earth Observation Data Access Gateway)

by Hamed A. Elgizery, Veronica Andreo, Stefan Blumentrath

Addon Tools: Digest data with EODAG

24 of 55

t.stac toolset allows the user to explore metadata and ingest SpatioTemporal Asset Catalog (STAC) items, collections, and catalogs

  • Based on the PySTAC library

by Corey T. White,

OpenPlains Inc. and

Center for Geospatial Analytics NCSU

Addon Tools: working with STAC

25 of 55

i.sam2 allows users to segment orthoimagery using text based prompts with SamGeo.

by Corey T. White,

OpenPlains Inc. and

Center for Geospatial Analytics NCSU

Addon Tools: Deep Learning

26 of 55

R: rgrass

Maintained GRASS under OSGeo – Steven Pawley

27 of 55

by Adam B. Smith.

R: fasterRaster

28 of 55

Guess what’s next?

29 of 55

More Features

30 of 55

D = if(start_date(A) < "2005-01-01", A + B)

Sum maps from A with maps with equal time stamps from B

which occurred before Jan 1, 2005

by Thomas Leppelt and Soeren Gebbert

Tools: Temporal Algebra

31 of 55

Tools: Skyview

r.skyview – non-directional alternative to shaded relief

by Anna Petrasova

32 of 55

r.accumulate – fast weighted flow accumulation, watersheds, stream networks, and longest flow paths using a flow direction, r.flowaccumulation – parallel flow accumulation, r.hydrobasin – parallel watershed delineation, r.lfp – parallel longest flow path (next talk in this room)

by Huidae Cho

Tools: Fast Hydrology Algorithms

r.hydrobasin

33 of 55

r.hand Performs Height above Nearest Drainage (HAND) Analysis and flood inundation mapping.

by Corey White

Tools: Height Above Nearest Drainage (HAND)

34 of 55

r.runoff Computes event-based runoff using the SCS Curve Number (SCS-CN) method.

r.curvenumber – Generates the Curve Number raster from the landcover and hydraulic soils group.

r.timeofconcentration – Computes per-cell time of concentration (Tc) using the Kirpich equation from longest upstream flow-path length and path-average slope

by Abdullah Azzam

Tools: More hydrology tool

35 of 55

v.clean – automated topology with outputs for additional checks

by Markus Metz, Radim Blazek, and others

Tools: Vector Topology Cleaning

36 of 55

Community and Project

Maintenance

37 of 55

Since GRASS is doing more in geospatial than just GIS,

we are re-adopting GRASS instead of GRASS GIS.

Re-adopting the Classic Name & New Logo

Lead by the NC State Center for Geospatial Analytics �& Approved by the Project Steering Committee in February

38 of 55

Redesigned Website

39 of 55

lead by the NC State Center for Geospatial Analytics

New Tutorial Site

40 of 55

lead by the NC State Center for Geospatial Analytics

New Documentation

41 of 55

Project Road Map

42 of 55

Elections: October 2024, Positions Filled: 4

Project Steering Committee Elections

Total Members: 9

Term Length: 6 years

43 of 55

NSF Grant Lead by NC State

44 of 55

NSF grant awarded to NC State, ASU, NMSU, Yale

    • To enhance infrastructure
    • To revise contributing guidelines
    • To support community building

The NSF program is not funding new features, bug fixes, or ongoing maintenance.

45 of 55

  • Contributions through NumFOCUS partially support face-to-face meetings and student grants.
  • We would like to finance ongoing maintenance.

https://numfocus.org/project/grass

Financial Contributions

46 of 55

Support GRASS

47 of 55

Commercial Support

48 of 55

redbubble.com/people/grassgis

or search for "grass project shop" on Redbubble

lead by the NC State Center for Geospatial Analytics

Swag Shop

49 of 55

Student grants to contribute to GRASS (call open for 2025)

Student Grants Program

50 of 55

51 of 55

grass.osgeo.org > Latest news > Report from the GRASS Community Meeting

Funding: US NSF (Award 2303651), Bohannan Huston, Inc., and the Center for Geospatial Analytics at NC State

GRASS Developer Summit 2025

52 of 55

grass.osgeo.org > Latest news > Report from the GRASS Community Meeting

Funding: US NSF (Award 2303651), Bohannan Huston, Inc., and the Center for Geospatial Analytics at NC State

GRASS Developer Summit 2025

  • Over 30 GRASS contributors from around the world gathered for six days of focused development, collaboration, and community building at the 2025 GRASS Developer Summit in Raleigh, NC.
  • The summit combined coding sprints, roadmap planning, and thematic sessions, covering topics from Jupyter integration, hyperspectral support, and xarray backend development, to documentation, tutorials, translation, and parallelization - culminating in a broad set of contributions. And beer.
  • Lightning talks showcased GRASS applications across trench planning for optical cables, hydrology, erosion, urban modeling, and more, engaging local geospatial professionals and researchers.

53 of 55

grass.osgeo.org > Latest news > Report from the GRASS Community Meeting

Funding: US NSF (Award 2303651), Bohannan Huston, Inc., and the Center for Geospatial Analytics at NC State

Lighting talks

54 of 55

    • CMake for Linux, Mac and Windows (Native Windows build)

    • Conda for Linux and Mac
    • Python
      • grass.tools
      • Improved NumPy integration
  • Integrated Jupyter Notebooks

Coming in GRASS 8.5

(Probably Spring)

55 of 55