[GRASS-dev] GSOC project proposal: GUI plugin system for GRASS GIS

Hello.

On Tue, Mar 10, 2015 at 3:46 PM, jyoti misra <jyotimisra.99@gmail.com> wrote:

Dear Sir/Madam,

Myself Jyoti currently working under Dr. KS Rajan as a research student in Spatial Informatics Lab, IIIT hyderabad . I am currently working in Land Use modelling of Barrack valley region. Previously i have worked on Billboard placement optimization problem considering the spatial ,temporal and traffic features.

I am interested in working with grass org under the project “GUI plugin system for GRASS GIS”. The project is interesting and I have some idea of the technologies requires for the project as i have already worked in Python , c/c++.

Good. Now you should find some enhancements or bugs in GRASS GIS bug tracker [1] and implement or fix them before the application evaluation to show level of you proficiency [2, 3].

You can also select from this list:

Enhancement: Let users save/load SQL statements in wxGUI attribute table manager
http://trac.osgeo.org/grass/ticket/1205

Bug: Quotes not preserved in command after pressing enter in GUI command console
http://trac.osgeo.org/grass/ticket/1435
http://trac.osgeo.org/grass/ticket/1437

Enhancement: Store map elements such as legend, text and scale bar in workspace file.
http://trac.osgeo.org/grass/ticket/2484

Enhancement: Possibility to automatically load last used workspace when GRASS GIS GUI starts
http://trac.osgeo.org/grass/ticket/2604

Enhancement: Store recently used workspaces and offer them in the menu
http://trac.osgeo.org/grass/ticket/2604

Enhancement: Implement georeferenced image output for “Save display…” function in GUI and d.out.file module (and its wxGUI implementation)
http://trac.osgeo.org/grass/ticket/977

Bug: Undefined settings variable issue in bivariate scatterplot tool
http://trac.osgeo.org/grass/ticket/2247

Enhancement: Button, documentation and perhaps something more interactive for finding EPSG codes online rather then in GRASS GIS list
http://trac.osgeo.org/grass/ticket/26

However, you can explore the open issues on GRASS GIS bug tracker yourself. Just keep in mind that this GSoC project would be in Python and wxPython. You can attempt to solve more of these tasks, the more the better. In any case, the thing you select and do should be in Python and should sufficiently represent your skills. Draft implementation of non-GUI (model) part of the plugin system would be helpful to understand the issues which you should address in the application.

In any case, start with compiling GRASS GIS from source code (trunk) from
Subversion repository [4], reading tips for students [5] and going through instructions for other students [6, 7] (you can use Nabble [8] for that).

Also read Submitting rules [9] and how-to [10] for wxGUI development. Also learn how to do basic tasks in GRASS GIS graphical user interface (called wxGUI), use e.g. GRASS wiki or the manual as learning resource.

Please, always create a new thread on mailing list for distinct topics.

Best,

Vaclav

[1] https://trac.osgeo.org/grass/query
[2] http://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students
[3] http://lists.osgeo.org/pipermail/soc/2015-March/002908.html
[4] http://trac.osgeo.org/grass/wiki/DownloadSource
[5] http://trac.osgeo.org/grass/wiki/GSoC/2015#Tipsforstudents
[6] http://lists.osgeo.org/pipermail/grass-dev/2015-March/074420.html
[7] http://lists.osgeo.org/pipermail/grass-dev/2015-March/074433.html
[8] http://osgeo-org.1560.x6.nabble.com/Grass-Dev-f3991897.html
[9] http://trac.osgeo.org/grass/wiki/Submitting/wxGUI
[10] http://grasswiki.osgeo.org/wiki/WxGUI_Programming_Howto

Please guide me in the project and provide some docs and links where i can proceed with solving it. Also I want to know whether someone is already committed to this Project or not?

Regards,
Jyoti Misra
Btech and Ms by research in Spatial Informatics
International Institute Of Information Technology ,Hyderabad

Hello,

Sorry for the late reply. I was busy with exams last week.

I compiled the code from source, read a tutorial on grass gis and I am fairly comfortable with grass environment.

I was looking into the Bug: “Quotes not preserved in command after pressing enter in GUI command console” and tried it out on my machine. I was trying to fix it and I think most probably it’s some problem with regex search which is deleting the quotes from the command.

I was looking into the code for fixing the bug but couldn’t find the relevant file to change. Could you please guide me with that.

Also for the enhancement: “Button, documentation and perhaps something more interactive for finding EPSG codes online rather then in GRASS GIS list” I was thinking of more interactive process of using EPSG -

  1. We can merge epsg.io code into our existing structure. http://epsg.io/

  2. We can add a button that will redirect users to epsg.io

I would like to have your suggestions on the same

I know I am running a bit late with the bug fixing but I can assure you I won’t disappoint you during the course of project.

I am very interested in doing GSOC under grass org as it will be an added advantage to my ongoing research in computer science and spatial informatics. I would be thankful if you could help me with submitting GSOC proposal.

Regards

Jyoti

···

On Thu, Mar 12, 2015 at 9:10 AM, Vaclav Petras <wenzeslaus@gmail.com> wrote:

Hello.

On Tue, Mar 10, 2015 at 3:46 PM, jyoti misra <jyotimisra.99@gmail.com> wrote:

Dear Sir/Madam,

Myself Jyoti currently working under Dr. KS Rajan as a research student in Spatial Informatics Lab, IIIT hyderabad . I am currently working in Land Use modelling of Barrack valley region. Previously i have worked on Billboard placement optimization problem considering the spatial ,temporal and traffic features.

I am interested in working with grass org under the project “GUI plugin system for GRASS GIS”. The project is interesting and I have some idea of the technologies requires for the project as i have already worked in Python , c/c++.

Good. Now you should find some enhancements or bugs in GRASS GIS bug tracker [1] and implement or fix them before the application evaluation to show level of you proficiency [2, 3].

You can also select from this list:

Enhancement: Let users save/load SQL statements in wxGUI attribute table manager
http://trac.osgeo.org/grass/ticket/1205

Bug: Quotes not preserved in command after pressing enter in GUI command console
http://trac.osgeo.org/grass/ticket/1435
http://trac.osgeo.org/grass/ticket/1437

Enhancement: Store map elements such as legend, text and scale bar in workspace file.
http://trac.osgeo.org/grass/ticket/2484

Enhancement: Possibility to automatically load last used workspace when GRASS GIS GUI starts
http://trac.osgeo.org/grass/ticket/2604

Enhancement: Store recently used workspaces and offer them in the menu
http://trac.osgeo.org/grass/ticket/2604

Enhancement: Implement georeferenced image output for “Save display…” function in GUI and d.out.file module (and its wxGUI implementation)
http://trac.osgeo.org/grass/ticket/977

Bug: Undefined settings variable issue in bivariate scatterplot tool
http://trac.osgeo.org/grass/ticket/2247

Enhancement: Button, documentation and perhaps something more interactive for finding EPSG codes online rather then in GRASS GIS list
http://trac.osgeo.org/grass/ticket/26

However, you can explore the open issues on GRASS GIS bug tracker yourself. Just keep in mind that this GSoC project would be in Python and wxPython. You can attempt to solve more of these tasks, the more the better. In any case, the thing you select and do should be in Python and should sufficiently represent your skills. Draft implementation of non-GUI (model) part of the plugin system would be helpful to understand the issues which you should address in the application.

In any case, start with compiling GRASS GIS from source code (trunk) from
Subversion repository [4], reading tips for students [5] and going through instructions for other students [6, 7] (you can use Nabble [8] for that).

Also read Submitting rules [9] and how-to [10] for wxGUI development. Also learn how to do basic tasks in GRASS GIS graphical user interface (called wxGUI), use e.g. GRASS wiki or the manual as learning resource.

Please, always create a new thread on mailing list for distinct topics.

Best,

Vaclav

[1] https://trac.osgeo.org/grass/query
[2] http://wiki.osgeo.org/wiki/Google_Summer_of_Code_Recommendations_for_Students
[3] http://lists.osgeo.org/pipermail/soc/2015-March/002908.html
[4] http://trac.osgeo.org/grass/wiki/DownloadSource
[5] http://trac.osgeo.org/grass/wiki/GSoC/2015#Tipsforstudents
[6] http://lists.osgeo.org/pipermail/grass-dev/2015-March/074420.html
[7] http://lists.osgeo.org/pipermail/grass-dev/2015-March/074433.html
[8] http://osgeo-org.1560.x6.nabble.com/Grass-Dev-f3991897.html
[9] http://trac.osgeo.org/grass/wiki/Submitting/wxGUI
[10] http://grasswiki.osgeo.org/wiki/WxGUI_Programming_Howto

Please guide me in the project and provide some docs and links where i can proceed with solving it. Also I want to know whether someone is already committed to this Project or not?

Regards,
Jyoti Misra
Btech and Ms by research in Spatial Informatics
International Institute Of Information Technology ,Hyderabad

On Wed, Mar 25, 2015 at 2:20 AM, jyoti misra <jyotimisra.99@gmail.com>
wrote:

I was looking into the Bug: "Quotes not preserved in command after
pressing enter in GUI command console" and tried it out on my machine. I
was trying to fix it and I think most probably it's some problem with regex
search which is deleting the quotes from the command.
I was looking into the code for fixing the bug but couldn't find the
relevant file to change. Could you please guide me with that.

It will be probably one of those:

http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/core/gconsole.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/core/gcmd.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_core/prompt.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_core/pystc.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_core/goutput.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/lmgr/frame.py

Also for the enhancement: "Button, documentation and perhaps something
more interactive for finding EPSG codes online rather then in GRASS GIS
list" I was thinking of more interactive process of using EPSG -
1. We can merge epsg.io code into our existing structure. http://epsg.io/

This is not desirable. Although there might be some places to get inspired
from what the system offers while GRASS system lacks.

2. We can add a button that will redirect users to epsg.io

This is the most simple and straightforward way how to implement this.
Button can just open a web browser. There is a standard way in wxPython to
do this.

I would like to have your suggestions on the same

Alternative is to somehow use their URLs (or API if there is some) to do
some search or show additional information about the projection. This needs
a more detailed analysis of the problem. The button mentioned before would
be a good start. Even with a simple button, the opened URL could also
include something like currently searched URL.

Vaclav

I was looking into the files you sent and I think I am going in the right direction. I will try to complete the task as soon as possible.

As for the enhancement I was thinking of creating a search box in our current structure that takes the users query and redirects it to the result page of espg.io with the query. For e.g. if I search India redirect URL will be http://epsg.io/?q=india.

But where exactly do I need to make the changes? Please help me with that.

Regards

Jyoti

···

On Wed, Mar 25, 2015 at 6:59 PM, Vaclav Petras <wenzeslaus@gmail.com> wrote:

On Wed, Mar 25, 2015 at 2:20 AM, jyoti misra <jyotimisra.99@gmail.com> wrote:

I was looking into the Bug: “Quotes not preserved in command after pressing enter in GUI command console” and tried it out on my machine. I was trying to fix it and I think most probably it’s some problem with regex search which is deleting the quotes from the command.

I was looking into the code for fixing the bug but couldn’t find the relevant file to change. Could you please guide me with that.

It will be probably one of those:

http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/core/gconsole.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/core/gcmd.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_core/prompt.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_core/pystc.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_core/goutput.py
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/lmgr/frame.py

Also for the enhancement: “Button, documentation and perhaps something more interactive for finding EPSG codes online rather then in GRASS GIS list” I was thinking of more interactive process of using EPSG -

  1. We can merge epsg.io code into our existing structure. http://epsg.io/

This is not desirable. Although there might be some places to get inspired from what the system offers while GRASS system lacks.

  1. We can add a button that will redirect users to epsg.io

This is the most simple and straightforward way how to implement this. Button can just open a web browser. There is a standard way in wxPython to do this.

I would like to have your suggestions on the same

Alternative is to somehow use their URLs (or API if there is some) to do some search or show additional information about the projection. This needs a more detailed analysis of the problem. The button mentioned before would be a good start. Even with a simple button, the opened URL could also include something like currently searched URL.

Vaclav

On Wed, Mar 25, 2015 at 10:51 AM, jyoti misra <jyotimisra.99@gmail.com>
wrote:

As for the enhancement I was thinking of creating a search box in our
current structure that takes the users query and redirects it to the result
page of espg.io with the query. For e.g. if I search India redirect URL
will be http://epsg.io/?q=india.

There is no user location information available in GRASS GIS, wxPython or
standard Python packages as far as I know. So this seems quite challenging.

But where exactly do I need to make the changes? Please help me with that.

http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/location_wizard

On Wed, Mar 25, 2015 at 4:13 PM, jyoti misra <jyotimisra.99@gmail.com>
wrote:

Hello,

Hi,

please keep conversation on the mailing list, so other people can follow or
participate.

Regarding Bug : Quotes not preserved in command after pressing enter in
GUI command console
My idea:

   - Find the code which is taking command as input and passing it to
   RunCommand function.
   - Most probably error is in reading the input from stdin and storing
   it in variable.
   - Code might be running some regex search(or something similar) to
   remove everything expect alphanumeric characters from the command string.
   - My approach to fix this bug is to find that point and study for the
   cause of error and fix it.

Regarding enhancements to add epsg code :
My idea as described earlier :

   - Add a button and a text box to the current implementation of
   wizard.py which will take location as an input and redirect the user to
   epsg.io with the url "epsg.io/?q=location" .
   - This is will require to read the input from the user and appending
   it to epsg.io URL.
   - User can then select among the different search results on the
   espg.io page he is redirected to.

But with both tasks I am getting same problem, the code is very big and
there are many files to look into, and I'm not able to find the exact place
to do the corrections/enhancements. I know what to do in both situations
but lack the complete and exact knowledge of GRASS code structure. Can you
please guide me to the exact line of code where the changes have to be made.

Sorry, I cannot do that. If I would know where (and how) to fix it I would
already do that. You must understand that although now this serves as an
exercise for GSoC, it is a real issue which is in GRASS. Also, for the GSoC
you will need to understand the existing code to certain extended to be
able to incorporate your code and to fix the bugs which can emerge in both
new and existing code.

Vaclav

Regards,

Jyoti
On Wed, Mar 25, 2015 at 8:40 PM, Vaclav Petras <wenzeslaus@gmail.com>
wrote:

On Wed, Mar 25, 2015 at 10:51 AM, jyoti misra <jyotimisra.99@gmail.com>
wrote:

As for the enhancement I was thinking of creating a search box in our
current structure that takes the users query and redirects it to the result
page of espg.io with the query. For e.g. if I search India redirect URL
will be http://epsg.io/?q=india.

There is no user location information available in GRASS GIS, wxPython or
standard Python packages as far as I know. So this seems quite challenging.

But where exactly do I need to make the changes? Please help me with
that.

http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/location_wizard