Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code review #7

Open
bniebuhr opened this issue Jun 12, 2020 · 3 comments
Open

Code review #7

bniebuhr opened this issue Jun 12, 2020 · 3 comments

Comments

@bniebuhr
Copy link
Contributor

To do list after talk to Miltinho, Mauricio, Kyle and Felipe

2020-06-12

This is a list of to-do things after out talk on June 2020. We will plan the development of LSMetrics based on that.

  • Lansdcape metrics to implement:

    1. function to classify landscape elements (edge, core, matrix, corridor, stepping stone, habitat branch, ...)
      We decided this is not a priority at the moment.
  • Coding:

    1. How does GRASS GIS works? Organize Live at GeoCast about GRASS (Mauricio, Bernardo), in Portuguese. This may also be a good introduction on GRASS GIS to Kyle and Felipe.
      Deadline: agosto 2020?
      There is some material here: https://figshare.com/articles/Geoprocessamento_com_GRASS-GIS/3502184
      And here: https://www.youtube.com/watch?v=VDsVcijsrkg&feature=youtu.be

    2. We decided to completely translate GRASS GIS code to Python 3. Python 3 is used on GRASS GIS 7.8 and later version, and this will be kept in the future. Then, we are not going to update the code with Python 2.7 anymore.
      This is one of the priorities - to guarantee that the functions are working.

    3. We will divide the script into core functions and GUI in separate scripts. This is also a priority. We will also create another script for operations involving vectors (e.g. zonal statistics based on the landscape metrics). However, these operations with vectors will be developed only as code/addon, not incorporated into the GUI.

    4. Transform LSMetrics functions into GRASS addon
      The idea is to have a single script for the core functions, both auxiliary functions and the ones used to calculate the landscape metrics, and then build scripts for each function as addon. We can discuss the format of that later (if we'll have r.patch_size or r.ls.patch_size, for instance).
      Some information here: Links: https://grasswiki.osgeo.org/wiki/AddOns

    5. Along with the development of each function and addon, we will build a unit test.
      Idea: to use the dataset from Rio Claro to calculate all metrics and keep that in the database. Then, each time the functions are built and modified, we can compare the maps pixel by pixel. Kyle suggested developing that in two steps:

      1. first, we can only check if the output is or not equal, which is simpler.
      2. in a second phase, we may start to check where there were differences
    6. Vector landscape metrics statistics: we will keep this only as code/addon, not in the GUI

      1. metrics for a vector
      2. metrics for each feature of a vector (zonal statistics)
    7. The last thing will be to deal with the graphical interface. A promising idea is to abandon wxPython and use PyQt instead.

The idea is to do step 1 first (August), then steps 2-6 until December 2020. We may create an issue for each function to be tested and developed, or each enhancement, and work together on that.

Before that, a first thing would be to have a common Git workflow to use, just to avoid unnecessary conflicts in coding. Something like that: https://github.com/piLaboratory/jaguar-codes/wiki

@FelipeSBarros
Copy link
Collaborator

Great @bniebuhr ...I think taht the process of updating to Python3 woul be a good way to pratice with Grass...
Perhaps we can think about splitting the tasks in this issue to individual issues...

@bniebuhr
Copy link
Contributor Author

bniebuhr commented Jun 15, 2020 via email

@JohnWRRC
Copy link
Contributor

JohnWRRC commented Aug 7, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants