[GRASS-dev] some perspective for r.geomorphon profile data

Denis Ovsienko denis at ovsienko.info
Sun Apr 25 11:52:55 PDT 2021


Hello list.

As some might remember, last year I came to propose a few changes to
r.geomorphon in order to support a student (CCed) PhD research. For me
this project had lasted about 6 months, and for the student it was
much longer. The research has been finally concluded and submitted, so
it is a good time to follow up on the mailing list and to explain the
role of these GRASS changes in the project and some ways of reusing
this work in future.

My contribution was to develop source code and some documentation in
the following three layers:

1. r.geomorphon (C), extended to output profile data in a
   machine-readable format. The profile data feature is very generic
   and should not require major changes (if any) to accommodate similar
   data extraction tasks in future. The JSON/XML/YAML generation code
   is mostly independent from r.geomorphon, with a more sophisticated
   memory management it potentially could serve a better job in GRASS
   library supporting other plugins.

2. Geomorphon Profiler (shell, Python), developed from scratch to
   automate running of the above and several other GRASS plugins. This
   software was written to be generic and parametrizable, so it should
   not be difficult to adjust to other similar projects. That said,
   there are inevitable project-specific design choices (such as at
   most one extra POI in an image), but this should not block
   development if other sound use cases emerge. Examples of Geomorphon
   Profiler output can be seen in its README [a].

3. Place-Name Props (shell, Python), developed from scratch to translate
   between the research space and Geomorphon Profiler space. In other
   words, Geomorphon Profiler can be given a short configuration file
   and a long list of POIs and left unattended to produce thousands of
   standalone geomorphon profiles and images. From that Place-Name Props
   produces combined files for the research study. Clearly, this only
   makes sense in this research, but you might be interested to look at
   a small example output PDF file at [b] to see how geomorphon profile
   data mixes with linguistic data.

In the list above [1] took about 25% in terms of lines of code count and
enabled the other 75% in [2] and [3], which in turn enabled subsequent
phases of the research. I would like to thank GRASS developers that had
the faith to review and to accept the changes to r.geomorphon, or
otherwise to provide constructive feedback. When GRASS 8 comes out, this
new research method should be easier to reproduce for other end users.

Cheers.

a:
https://gitlab.com/geomorphon-hunters/GeomorphonProfiler/-/blob/master/README.md

b:
https://gitlab.com/geomorphon-hunters/place-name-props/-/raw/master/examples/export.pdf

-- 
    Denis Ovsienko


More information about the grass-dev mailing list