Status of GRASS GIS project
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 156 | |
Author | ||
Contributors | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/68549 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
FOSS4G Europe 2024 Tartu128 / 156
6
33
35
53
55
59
61
67
70
87
97
99
102
103
104
105
107
111
121
122
123
124
125
126
127
128
134
144
150
151
155
00:00
Streaming mediaState of matterGrass (card game)InformationSource codeComputer-generated imageryProcess (computing)Vector spaceMaxima and minimaState of matterGrass (card game)Goodness of fitGraphical user interfaceOpen sourceBitLaptopDifferent (Kate Ryan album)Front and back endsProjective planeData analysisPosterior probabilitySoftware developerCodePlug-in (computing)Process (computing)MereologyComputer programmingVisualization (computer graphics)Scripting languageGeometrySpacetimeAnalytic setSource codeLecture/ConferenceComputer animation
02:52
Convex hullGame theoryIntegrated development environmentSupercomputerGrass (card game)Computing platformEndliche ModelltheorieGamma functionMaxima and minimaIntegrated development environmentComputing platformFunctional (mathematics)Library (computing)AlgorithmEndliche ModelltheoriePoint cloudComputer animation
03:14
Physical systemDatabasePoint cloudFront and back endsGrass (card game)Stability theoryElectric currentRevision controlCodeSystem programmingSupport vector machineWave packetPredictionVector spaceOpcodeVirtual machineBoundary value problemDistanceHorizonFunction (mathematics)Point (geometry)Uniqueness quantificationVector graphicsDisintegrationSeries (mathematics)Library (computing)Web browserGraphical user interfaceHierarchyEuclidean vectorParalleler AlgorithmusDistribution (mathematics)Type theoryDataflowPrinciple of maximum entropyExtension (kinesiology)File formatInformation securityStudent's t-testComputer programSystem on a chipSystem callControl flowINTEGRALRevision controlCodeElectronic mailing listModule (mathematics)Grass (card game)LaptopProjective planeFront and back endsPhysical systemSocial classEndliche ModelltheorieSeries (mathematics)Moment (mathematics)Query languagePoint cloudFile formatUniform resource locatorVirtual machineBitVector spaceLine (geometry)Vulnerability (computing)Group actionCompilation albumShape (magazine)Different (Kate Ryan album)HierarchyInternet service providerType theoryStandard deviationInformation securityStudent's t-testConnected spaceSoftwareMathematicsDistribution (mathematics)NeuroinformatikExtension (kinesiology)Wave packetAlgorithmParalleler AlgorithmusNetwork topologyDataflowFile systemLibrary (computing)SpeciesStreaming mediaGoodness of fitObservational studySlide ruleLink (knot theory)Order (biology)Term (mathematics)CASE <Informatik>Computer programmingModulare ProgrammierungHorizonMachine learningFunction (mathematics)Musical ensembleProduct (business)Graphical user interfaceMappingWeb browserData fusionParameter (computer programming)PolygonInteractive televisionOvalVideo gameRaster graphicsSupervised learningSupport vector machinePrinciple of maximum entropyPredictabilityComputer animationLecture/ConferenceXML
12:38
Grass (card game)HorizonParallel computingTexture mappingDisintegrationData conversionWeb pageDistribution (mathematics)Plug-in (computing)Grass (card game)ImplementationProjective planeSoftware maintenanceSoftware developerExtension (kinesiology)Online helpSoftware testingOpen setCodeLevel (video gaming)DatabaseTemplate (C++)Plug-in (computing)Data conversionLattice (order)Point (geometry)System callPattern recognitionDigitizingParallel portModule (mathematics)HTTP cookieEmailProcedural programmingDifferent (Kate Ryan album)Group actionDistribution (mathematics)Electronic program guideTranslation (relic)Revision controlBuildingComputer programmingStudent's t-testIntrusion detection systemCASE <Informatik>Web 2.0Software bugStack (abstract data type)Computer animationLecture/Conference
17:03
Function (mathematics)Grass (card game)WritingPersonal digital assistantAdventure gameInterface (computing)TrailSample (statistics)Installation artProduct (business)Coding theoryComputer programStudent's t-testCASE <Informatik>Touch typingGrass (card game)Computer animation
17:31
Grass (card game)BitCondition numberSoftwareProduct (business)Revision controlWindowCompilation albumRight angleFeedbackIntegrated development environmentComputing platformLecture/Conference
20:28
Least squaresComputer-assisted translationComputer animation
Transcript: English(auto-generated)
00:00
Good morning everyone, welcome to the State of GRASS.js talk. I'm Veronica Andrea and I'm here on behalf of the whole GRASS community to show you the latest updates within the GRASS.js project.
00:22
A little bit about me, I'm temporarily working as a visiting scholar at the Center for Geospatial Analytics at the in the North Carolina State University. My background is in biology and then I studied a bit of remote sensing and GIS
00:41
and went into some programming very basic. I work in Argentina as a researcher and a lecturer in the space agency. I'm part of the GRASS development team and now for the last three years I'm serving as a PSC chair and I'm also
01:01
a charter member, a posterior charter member. Well a little overview of what the talk will be today. We will cover different aspects of the whole project not only code and new features. So you know that GRASS has been around for
01:22
something like 41 years but we still get the question like what is that or are you still alive guys? Well yes here we are and you will see that we
01:40
can use GRASS in different ways or the answer to this question can be very different according to how you use GRASS. So you can see that it is a geek open source command line GIS if you want but it can also be an open
02:01
source desktop GIS. By the way the graphical user interface has been really improved in the last years let's say five years so if you haven't opened GRASS lately this is how it looks now. It can also be used as a processing
02:23
backend in QGIS. So many people said ah you are the QGIS plugin. No guys. You can use GRASS within QGIS but it is still GRASS. You can also use it
02:41
within R notebooks or Python notebooks for your workflows for your scripts as a geo visualization and data analytics tool. It's a geoprocessing engine running in HPC environments as well. A geospatial platform for
03:02
developing models because there are a lot of functionality so it can also be used as a library for new algorithms and new models and it is also a cloud geoprocessing backend in Actinia, another OSGEO community project. So yes
03:24
we are all of that and your answer or the answer will depend on how you use it. So it's as versatile as many people using it. So in the last year
03:41
regarding releases we just released the first release candidate for 8.4 during the Prague community meeting a couple of weeks ago and we released 8.3.2 in March and we did a last legacy release for the seven
04:01
series just to support some production systems and anyway daily there are builds for the preview version that will be 8.5. So what are the new features in GRASS 8? There is more machine learning in GRASS GIS thanks to
04:25
Maris there. So there are new modules for supervised classification with support vector machines training and predicting. More topology in GRASS GIS you know the vector format within GRASS GIS is topological and there are more new
04:44
tools for topology for filling holes in this case. A lot of C tools are getting JSON output format in order to streamline the connection with the connection of GRASS and other other software tools within data
05:05
science workflows and there will be more coming in the upcoming months with Google Summer of Code student working on it. Some tools, some very unique tools got revamped like they got a lot of attention lately like
05:25
R Horizon for example and this was funded by a NSF award granted to a company in the US that they use this module a lot. Then there were
05:41
different API and library changes in the two GRASS Python packages so we greatly simplified the creation of new projects in Python without a running session so we removed this chicken and egg problem so you just
06:00
start a Jupyter notebook, create a GRASS project and start the session there and there are also improvements within the GRASS Jupyter Python packages, new classes for creating animations of lists of rasters and vector maps and
06:20
the integration of IPY life as well and there's another student I will tell you later within Google Summer of Code that will do more improvements in this package. Within the graphical user interface we have a new history
06:42
browser panel that shows you all the commands that you have run from the from the graphical user interface and the status so if they were successful or if they fail and so on and double-clicking there you can just run it again or change the the options and so on. You can also have a look at the
07:04
computational region that was set at that moment of running the command and so you can set it again like that. This was done by Linda Karlovska with the GRASS GIS student grant. I will tell you a bit more about
07:23
that later. And finally, this might seem trivial but for us it took a while, locations became projects so we know we will no longer speak about locations
07:40
which was a term that didn't make much sense but to be in line with other software packages we are now calling locations projects so everything facing the user now instead of using this location parameter or option will
08:00
show project. There are also like different new extensions contributed by the community so a new parallel algorithm for flow accumulation, new algorithms for data fusion, new modules for training and predicting
08:24
species distribution modeling like MaxEnt and many different plotting tools and tools to streamline access to different types of data. I will also show you a bit more in the next slides. We have been investing a lot of efforts
08:45
in code quality and security to assure that our code base is in good shape in the different API's let's say so for C and C++ but also for
09:03
Python which is formatted with black flake 8 and we have more or less fixed three-quarters of the detected issues. Pylint is also partially enabled and for code security we have integrated banded for Python vulnerabilities
09:26
code QL for C and C++ and QWERTY. This was also funded by NSF regarding distribution we are we are also working on that so we are working a lot
09:43
on sustainability of grass JS so we wanted to keep it alive for at least 41 years more so we are getting ready to the transition to C make base compilation and we have done advancements toward compliance with the
10:02
file system hierarchy standard and there's a grass JS conda package on the way hopefully by the end of this year. Regarding mentoring grass JS runs student grant program to contribute to the software and last year there has
10:26
been one student so she implemented this history browser panel as I showed you before and the call is open it's like an open window but if you have an
10:40
idea that you want to develop we will start like on the fall this year but the call is open if you have ideas just talk to me after on the coffee break or whenever you see me and we are also running a mentoring program to help people that want to integrate grass within their workflows
11:03
and so far there has been 11 people working on different topics there is also like it is the call is open so just talk to me and I can share the link to subscribe. We also this year have originally four students but then
11:26
there was one with a visa US visa issue problems so we ended up with three there's a student working on adding EODAC support to grass JS so EODAC is a library to download Earth observation data from different providers
11:47
and there's now like a first version of the a new tool in grass called i.eodac to download this type of data from different providers. Another student is
12:01
working on improving grass user experience in Jupyter notebooks so to show the computational region in the interactive maps, draw polygons and set a new region from their query and so on and last but not least there's another student adding JSON output to different grass tools in C in
12:26
line with what I was telling you before to streamline the connection or the usage of grass together with other software packages in different workflows. Well community, there you are everyone. Community growth, we have two
12:48
new contributors with great access, Edward and Linda. Edward immediately became a maintainer so if you are subscribed to grass comments you get
13:03
tons of emails from him and last but not least there are three new grass babies that were born in the last six months so that's a way of growing the community too. And we had our community meeting a couple of weeks ago
13:22
in Prague so we are really thankful and grateful to our sponsors and individuals and anonymous contributors that made this meeting possible. We worked a lot during that week so we released the first release candidate,
13:41
there were more tools getting parallelization with OpenMP, new like extensive improvements and testing for upcoming modules like support for stack within grass and point pattern analysis tools. We did a call with Niall Dawson
14:02
from QGIS project and we were doing like bug fixing online during the call so it was really productive, it was really good. We also integrated the grass, digital grass plugging in the R grass package to read directly from
14:20
your grass database so it's much much faster. We worked on the conversion of manual pages to markdown, a lot of CI improvements, we also got nix distribution merged, new tutorials so you can have a look, it was really
14:41
productive meeting and really fun also of course. We will have elections, PSC elections by mid-October so get your IDs ready to vote. We also worked on formalizing our project mission and roadmap and different other procedures.
15:05
As I mentioned earlier we have this since last September, North Carolina State Group got an NSF grant but this grant is only to work on sustainability of the
15:23
project so to enhance the infrastructure to revise contribution guidelines, support community building but it does not fund implementation of new features, development or daily maintenance. So for that things of
15:44
course we also need your help like everyone's help and we have set different funding options in Open Collective so donations it's like a one-time donation and you can donate whatever you want and there are
16:02
supporter levels starting at $10 per month or something. Importantly this just helps us to keep going, our student grant program, the mentoring program and that kind of things and of course meeting in person.
16:23
So get involved, all contributions are welcome, code and documentation of course through GitHub we have a new template if you want to transform your workflow into a grass module there's a new cookie cutter template that it makes
16:44
it super easy and we also have like a new style guide that you can follow. If you don't feel comfortable with code you can also do translations, we are in web blade, it's super easy and we directly get pull
17:01
requests from web blade. You can also contribute your use cases and tutorials if you have a nice use case you want to show off please talk to me after the talk and I can help you. We are very interesting in hearing how
17:21
you use grass and of course sponsoring as I mentioned before. Get in touch with us please. So in the end I made it in 15 minutes. Thank you. I do not have the stickers
17:47
because Lufthansa lost my luggage but still please ask questions. Thanks Veronica that was amazing and I really see that grass community and the product is very alive
18:02
so that question has been answered so for the audience any questions here and I'll ask a first question. I've seen the Jupyter support is improving and also that grass will be available
18:27
in conda so this opens a lot of opportunities of further integrating grass and linking it to other software so can you give a bit more what's coming up there.
18:42
Yeah so within this NSF grant we are doing all this sustainability activities let's say and the conda package and the CMake compilation are within those activities so Michael Barton is from US is in charge of this conda package
19:11
and hopefully it will be there for the by the end of the year and as you said yes it will open like a lot of possibilities because we get this feedback that grass is like super heavy
19:25
to install and so on or sometimes in windows it's difficult but a conda package would make it so much easier to install everything from the same site and get like the right Python version and all that so yeah that's our idea somehow to facilitate the
19:47
installation and then the usage with other software of course that's really really great and that also QGIS is also available in conda if we run it now in a conda environment grass
20:00
is not there yes so with this we would also have access on all the platforms yeah so we are trying to catch up great any more questions from the audience please the stickers will come because Lufthansa found my luggage if not then we'll close for this speaker thank you very much