[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