Veronica Andreo and the GRASS GIS community
NCSU GeoForAll Lab
at the
Center for Geospatial Analytics
NC State University
FOSS4G Europe, Tartu, July 1-7, 2024
Geek open-source command line GIS
Open-source desktop GIS
Processing backend in QGIS
Geovisualization and data analytics tool in R or quarto notebooks
Geovisualization and data analytics tool in Python notebooks
Geoprocessing engine running in an HPC environment
Geospatial platform for developing custom models
Cloud geoprocessing backend
Supervised classification with Support Vector Machines
v.fill.holes: Fill holes in areas by keeping only outer boundaries
r.info elevation format=json
{
"north": 228500,
"south": 215000,
"nsres": 10,
"east": 645000,
"west": 630000,
"ewres": 10,
"rows": 1350,
"cols": 1500,
"cells": 2025000,
"datatype": "FCELL",
"ncats": 255,
"min": 55.578792572021484,
"max": 156.32986450195312,
"map": "elevation",
...
}
JSON output format support (format="json")
in multiple tools
(e.g., r.report, r.info, v.db.select, t.rast.list, etc.)
r.horizon: Output for multiple points, distances, and many other improvements
grass.script
Python package:
Greatly simplified the creation of new projects in Python without a running session (no more chicken and egg problems)
import grass.script as gs
import grass.jupyter as gj
gs.create_location("cordoba_utm21s", epsg="32721")
gj.init("cordoba_utm21s")
See create_project doc.
grass.jupyter
Python package:
grass.jupyter.SeriesMap
class for animating series of vectors or rasters. See grass.jupyter.SeriesMap doc.ipyleaflet
integration to create a map in ipyleaflet and add GRASS data in a single line
series = gj.SeriesMap(height = 500)
series.add_rasters(["elevation_shade", "geology", "soils"])
series.add_vectors(["streams", "streets", "viewpoints"])
series.d_barscale()
series.show()
The Python API, command line, and GUI are now using project instead of location for the main component of the data hiearchy.
i.eodag: Downloads imagery datasets from various providers through the EODAG library.
v.extract input=urbanarea where="NAME = 'Durham'" output=durham
i.eodag -l start=2022-05-25 end=2022-06-01 clouds=30 \
map=durham dataset=S2_MSI_L2A provider=cop_dataspace
Enable users to query attribute values and draw geometries, display and change the computational region, support for custom CRS
r.what map=MOD11B3.A2015001.h11v05.single_LST_Day_6km points=firestations format=json
[
{
"easting": 620856.95858763403,
"northing": 230066.38313210499,
"MOD11B3.A2015001.h11v05.single_LST_Day_6km": {
"value": 14045
}
},
{
"easting": 625331.91859749099,
"northing": 229990.82160762601,
"MOD11B3.A2015001.h11v05.single_LST_Day_6km": {
"value": 14099
}
},
{
"easting": 615797.66547487001,
"northing": 213363.99261982701,
"MOD11B3.A2015001.h11v05.single_LST_Day_6km": {
"value": 14031
}
}
]
Note: The NSF program is aiming at sustainability, not adding features, fixing bugs, or ongoing maintenance.
Ask a question, get a special sticker
veroandreo@gmail.com
veroandreo.github.io/grass-gis-talks
Funded by NSF award 2303651