MCDA in GRASS

From GRASS-Wiki
Revision as of 02:05, 31 March 2010 by ⚠️Jdenisgiguere (talk | contribs) (Initial page setup including Google Soc application form)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About

This page contains various information about Multicriteria Decision Analysis (MCDA) support in GRASS. It has been creating during the 2010 Google Summer of Code application period.

Existing MCDA support

There is a MCDA add-on . This add-on contain 4 rasters modules :

  • r.mcda.electre
  • r.mcda.fuzzy
  • r.mcda.regime
  • r.mcda.roughset

Improvement proposal

Jean-Denis Giguere Summer of code proposal

Contact Information

   * Name: Jean-Denis Giguère
   * Country: Canada
   * School and degree: Université de Sherbrooke, Master in geographic sciences
   * Email: jdenisgiguere at gmail dot com
   * Phone: (available upon private request :-) )
   * OSGeo project(s):GRASS


Title

Improvement of multicriteria analysis tools in GRASS.

Introduction

Last decade show us a rapidly growing geospatial awareness in our society. Everyday, more people use more intensively geospatial information to make decision. Using Geospatial information to solve relatively simple day to day tasks is always more common. Open source software, improved access to geospatial data, mobile technology allowed this explosion of geospatial awareness. The increase of geospatial information usage make general population and manager offer today great opportunity to improve Geographic information systems (GIS) role in decision making. It is not a new idea that GIS could play important role in decision making. But open source geospatial software community could benefit of this trend by making tools even more attractive for decision analysis.

A good way to improve GIS software contribution to decision making activities is to incorporate in them tools specifically developed for decision analysis. A large family of them are known as Multicriteria Decision Analysis (MCDA) tools. MCDA and GIS are coupled in scientific litterature since early nineties. Inclusion of some of those tools in an open source gis software like GRASS could be a interesting way to make them more available.

GRASS add-ons repository already offer some MCDA support. The aim of this project is to improve this support by adding new combination rules (algorithms) and support more data models (add vector support to existing raster support).

MCDA litterature presents situations where a limited and known alternatives are evaluated to find the best (or a good). Those situations are known as Multiattribute decision analysis (MADA). Alternatively, evaluation could be evaluated over a specified domain, but not a specified set of alternatives. This is Multiobjective decision analysis (MODA). This SoC project porpose to implement both MADA and MODA combination rules.

MCDA is used in many application domains. Selection of combination rules will be based on relevance and frequence of use in a selected subset of application domains provided in litterature review. Priority will be given to environmental and planning application.

Background

I will finish in early May my master thesis in Geographic Sciences. While finishing my thesis, I'm teaching an introductory course in GIS at Université de Sherbrooke. I give my course using several open source software. Open source geospatial softwares play a major role in that course. We use GRASS, Quantum GIS, Geoserver, Geonetwork, R for covering differents important questions in GIS. GRASS is the main Geographical information system software used for spatial analysis and decision making.

Google Summer of Code offer me a very interesting opportunity to contribute back to the GRASS community, and more broadly to the Osgeo community. I have basic skills in programming. Although I'm more a GIS analyst than a programmer, I already succeed to produce substantial codes for production use for another open source project. My master thesis is about evaluation of an atmospheric simulation model related to light pollution. I'm really interested by software development processes from initial specification phase to deployment, including continuous QA activities, documentation, etc.

Maybe because I study and teach in a "Applied Geomatic" department, decision making is a critical concern for me. GRASS offers a wonderful toolbox for many geospatial analysis. I think improvement of decision making tools will make GRASS even more powerful for many users.

There is already a GRASS add-on for multicriteria decision analysis [1]. This add-on is a very interesting start, but I think we should offer more options. Firstly, I think MCDA tools are as important for vector analysis than for raster. The mcda plugin works only with raster data. Also, there are many interesting combination rules. I think we could add at least one other combination rule that would be useful for scenario evaluation.


The idea

Describe your detail in as much detail as you can. Explain what algorithms you intend to use/study (if any). Also describe the business benefit, that is how your idea improves the program it is intended for. Who is your intended target audience (end users?, administrators?, developers?)


Project plan

I think that an iterative software development methology like Agile Programming could be adequate for this project. Short release cycle will allow fast feedback for the community. It will ensure that every components will be made on time. Specifications will be documented using story card-like documents on wiki. Each iteration will include new tests, new code, new dev documentation, new end-user documentation (generic grass doc and tutorial).


March 29

Initial application submission.

April 5

Application update.

April 12

Litterature review. Writing first stories:

   * Point (vector) site selection using outranking method.
   * End-user demo for available raster MCDA function
   * Polygon (vector) site slection considering uncertainty


April 19

Warm up. Reading Grass dev guideline, and v.example http://trac.osgeo.org/grass/wiki/HowToProgram

April 26

SoC participants announced Improve acceptance test.

May 3

Bonding period

May 10

Bonding period

May 24

Code

May 31

June 4. Iteration deadline

Code

June7

June 18. Iteration deadline

Code

June 14

Code

June 21

Code

June 28

July 2. Iteration deadline

Code

July 5

Code


July 12

Mid-term evaluation

July 16. Iteration deadline

July 19

More code

July 26

Rethink

August 2'

code

August 9

Pencil down (last iteration deadline)


August 16

Final evaluation


Future ideas / How can your idea be expanded?

Describe how your idea can be improved and extended, and what the benefits of this extension would be. Perhaps your idea can be used in some other project, or for something else?


Answer the following questions briefly (about 300 words max)

Osgeo questions

How does your SoC task would benefit the OSGeo member project, and more generally the OSGeo Foundation as a whole?


Please provide details of previous GIS experience

Do you have any previous GIS programming and other software programming experience?

If you do explain what and when.


Please provide details of general computing experience


We are looking for things like operating systems you use on a day-to-day basis, programming languages you could write a program in, hardware, networking experience, etc.


Please tell us why you are interested in GIS and open source software

Please tell us why you are interested in your specific coding project

Please tell us why you are interested in working for OSGeo and the software project(s) you have selected

Do you understand this is a serious commitment, equivalent to a full-time paid summer internship or summer job?