GRASS GSoC 2012 WxGUI front end for vector analysis modules

From GRASS-Wiki
Revision as of 22:10, 8 June 2012 by ⚠️Turek (talk | contribs)
Jump to navigation Jump to search

(See also other GRASS GSoC 2012 projects)

Student Name: Stepan Turek, Czech University in Prague
Organization: OSGeo - Open Source Geospatial Foundation
Mentor Name: Martin Landa Backup mentor: Markus Metz
Title: WxGUI front end for vector network analysis modules
Abstract
@TODO

Application

Introduction

GRASS GIS provides various modules for vector network analysis. It is difficult to use these powerful modules for beginners in GRASS because these modules can be used only in command line. Main goal of the project is to make user-friendly WxGUI front end for vector network analysis tools. Additional goal is to improve functionality of Attribute Table Manager.

Background

Purpose of network analysis is finding optimal solution of the problem on graph. All GRASS vector network analysis modules have prefix v.net plus interactive module d.path. The modules use Directed Graph Library as engine for network analysis. Currently, module d.path does not work in GRASS 7 because of X monitors dependency which GRASS 7 does not support.

The idea

Vector network analysis WxGUI front end will use v.net.* + d.path modules for computations.

The WxGUI front end will work that way: User will just choose type of analysis from menu, set parameters for analysis (vector map, layers, costs...), insert some points into map by mouse or by their coordinates, then will run the analysis and see the result. Then user will be able to easily change configuration of points and run analysis again. Results of analyses will be implicitly saved as temporary maps and user will have option to save it permanently. There will be undo redo features for history browsing therefore maps created few steps in history will be temporary saved. Before running of analysis points will be inserted as nodes into vector layer, because v.net module will be automatically called.

Second part of the project will deal with improving of Attribute Table Manager, because important part of vector network analysis includes work with the attribute table. Important feature related to vector network analysis, which Attribute Table Manager misses, is a field calculator. The field calculator would be very useful for calculating cost values for network segments. It will be front end of v.db.update module. During development I will make effort to re-use already written code in GRASS or modify the code in order to make it re-usable. Interactive input of points is already implemented in WxGUI, it will be used for vector analysis front end.

Project plan

Period Task Status / Notes
April 23 - May 20 Bonding period
May 21 design of front end, studying code
May 28 design of front end, studying code
June 4 dialog for front end
June 11 v.net.path implementation to front end, dialog
June 18 v.net.path + other v.net* modules implementation to front end
June 25 other v.net* modules implementation to front end
July 2 adaptation of front end behavior for different v.net modules
July 9 continue with adaptation, bug fixing
July 13 Mid-term evaluations deadline
July 16 undo/redo functionality
July 23 undo/redo functionality
July 30 Attribute Table Manager
August 6 Attribute Table Manager
August 13 Attribute Table Manager
August 20 testing, documentation
August 24 Final evaluation

Testing

Code is available from GRASS AddOns SVN repository

svn co http://svn.osgeo.org/grass/grass-addons/grass7/gui/wxpython/wx.vnet
How to install & test
g.extension ext=wx.vnet

Roadmap

Week 1 (May 21)

Week 2 (May 28)

  • implemented interactive inserting of coordinates from map window to module parameter field

Week 3 (June 4)

  • created first version of dialog for vector network analysis
  • separation of points list code from GCP Manager to new class which is shared with the dialog and the manager
Dialog - Points list tab (2012-6-08)
Dialog - Settings tab (2012-6-08)

Weekly Reports