Project presentation GRASS GIS OSGeo Hacking Event, Bolsena, - - PowerPoint PPT Presentation

project presentation grass gis osgeo hacking event
SMART_READER_LITE
LIVE PREVIEW

Project presentation GRASS GIS OSGeo Hacking Event, Bolsena, - - PowerPoint PPT Presentation

Project presentation GRASS GIS OSGeo Hacking Event, Bolsena, Italy Martin Landa landa.martin@gmail.com June 19, 2008 OSGeo Hacking Event, 16-22 June 2008 1 / 23 Outline Overview Project introduction GRASS and OSGeo Development


slide-1
SLIDE 1

OSGeo Hacking Event, 16-22 June 2008

— Project presentation GRASS GIS OSGeo Hacking Event, Bolsena, Italy —

Martin Landa

landa.martin@gmail.com

June 19, 2008

1 / 23

slide-2
SLIDE 2

OSGeo Hacking Event, 16-22 June 2008

Outline

Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI

2 / 23

slide-3
SLIDE 3

OSGeo Hacking Event, 16-22 June 2008

Outline

Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI

3 / 23

slide-4
SLIDE 4

OSGeo Hacking Event, 16-22 June 2008

Outline

Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI

4 / 23

slide-5
SLIDE 5

OSGeo Hacking Event, 16-22 June 2008

Basic description

GRASS (Geographic Resources Analysis Support System)

◮ Free Software for performing spatial analysis ◮ More than 350 modules for processing vector (2D/3D), raster

and voxel data

◮ Interfaces to other programs in related domains like

geostatistics, databases, mapserver and even other GIS software exist

◮ Can be served as a Desktop GIS and as the backbone of a

complete GIS infrastructure

5 / 23

slide-6
SLIDE 6

OSGeo Hacking Event, 16-22 June 2008

History

GRASS History

◮ Originally developed in the beginning of the 1980s by the US

Army Construction Engineering Research Laboratories (USA-CERL) and was published as a public domain software

◮ In 1995 the USA-CERL withdrew from the GRASS

development

◮ Since 1999 GRASS is a free software licensed under GNU

General Public Licence

◮ International development team formed (2001)

6 / 23

slide-7
SLIDE 7

OSGeo Hacking Event, 16-22 June 2008

Features

GRASS features

◮ 2D raster analysis and 3D voxel management (volumes) ◮ 2D/3D vector engine with SQL based DBMS support ◮ Image processing modules ◮ Vector network analysis, Linear Referencing System ◮ Visualization of 2D, 3D data layers and volumes ◮ Interoperable with standard raster and vector formats

(GDAL/OGR)

◮ Works on GNU/Linux, Mac OS X, MS-Windows and other

POSIX compliant platforms

◮ Modular architecture and scripting capabilities for batch

processing

7 / 23

slide-8
SLIDE 8

OSGeo Hacking Event, 16-22 June 2008

Outline

Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI

8 / 23

slide-9
SLIDE 9

OSGeo Hacking Event, 16-22 June 2008

GRASS & OSGeo

◮ GRASS project is a founding member of OSGeo ◮ 2007/12 GRASS migrated to OSGeo infrastructure

◮ Source code repository, http://svn.osgeo.org/grass ◮ Bug tracker, http://trac.osgeo.org/grass ◮ Website, http://grass.osgeo.org ◮ Mailing lists, http://lists.osgeo.org/mailman/listinfo ◮ Wiki, http://grass.osgeo.org/wiki

◮ 2008/02 GRASS project has all graduated from the incubation

process and is now a full fledged OSGeo project

9 / 23

slide-10
SLIDE 10

OSGeo Hacking Event, 16-22 June 2008

Outline

Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI

10 / 23

slide-11
SLIDE 11

OSGeo Hacking Event, 16-22 June 2008

Outline

Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI

11 / 23

slide-12
SLIDE 12

OSGeo Hacking Event, 16-22 June 2008

Devel’s point of view

◮ International development team, 46 people with write access ◮ Very large code-base (approx. 500,000 lines, 800,000 lines

with comments)

◮ Mostly written in C (78%), Tcl/Tk (7%), shell script (5%)

and Python (4%)

◮ Portable code, ANSI-C

12 / 23

slide-13
SLIDE 13

OSGeo Hacking Event, 16-22 June 2008

Devel’s point of view

◮ International development team, 46 people with write access ◮ Very large code-base (approx. 500,000 lines, 800,000 lines

with comments)

◮ Mostly written in C (78%), Tcl/Tk (7%), shell script (5%)

and Python (4%)

◮ Portable code, ANSI-C

+ Many algorithms implemented + Project with history, large community

  • Old fashioned API, sometimes incompletely documented, not

so attractive for newcomers

12 / 23

slide-14
SLIDE 14

OSGeo Hacking Event, 16-22 June 2008

Devel’s point of view

◮ Devel branch for 6.x

◮ 23th April 2008 released 6.3.0 ◮ Main stable release of 2008, 6.4.0 (August?)

◮ SVN trunk used for GRASS 7 development

◮ Code reorganization ◮ Raster library replacement (2D/3D) ◮ Live links to external raster/vector data sources (GDAL/OGR) ◮ Better metadata support ◮ Display architecture reimplentation (floating-point coordinates,

map symbols, styles support, etc.)

◮ GUI-oriented improvements ◮ . . . 13 / 23

slide-15
SLIDE 15

OSGeo Hacking Event, 16-22 June 2008

Outline

Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI

14 / 23

slide-16
SLIDE 16

OSGeo Hacking Event, 16-22 June 2008

GRASS GUI Evolution Story

Motto

While the early decision to first develop GRASS as a command-line system remained good, the need to provide users with a GUI was increasingly difficult to ignore. + GRASS shows high capability to analyze and manipulate data − Incomplete and scarcely intuitive GUI

15 / 23

slide-17
SLIDE 17

OSGeo Hacking Event, 16-22 June 2008

GRASS GUI Evolution Story

Motto

While the early decision to first develop GRASS as a command-line system remained good, the need to provide users with a GUI was increasingly difficult to ignore. + GRASS shows high capability to analyze and manipulate data − Incomplete and scarcely intuitive GUI

◮ All native GUIs written in Tcl/Tk (from “TCLTKGRASS” in

1999 to “GIS Manager” 2006)

◮ Limitations of Tcl/Tk toolkit appeared to be fundamental for

the GUI future development

15 / 23

slide-18
SLIDE 18

OSGeo Hacking Event, 16-22 June 2008

GRASS GUI Evolution Story

Old-fashioned Tcl/Tk-based GUI in GRASS 6.2

15 / 23

slide-19
SLIDE 19

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

Goals

◮ Portability, fully functional on the GNU/Linux, Unix,

Mac-OS and MS Windows operating systems

◮ Ease of Use, providing all the features common to state of

the art GIS applications

◮ Extensibility, all tools integrated into GUI, including

digitization, georectification, image classification, etc.

16 / 23

slide-20
SLIDE 20

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

wxWidgets

◮ Powerful Python binding (know as wxPython) ◮ Uses native platform SDK (native look and feel) ◮ OpenGL widget (for NVIZ replacement)

17 / 23

slide-21
SLIDE 21

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

wxWidgets

◮ Powerful Python binding (know as wxPython) ◮ Uses native platform SDK (native look and feel) ◮ OpenGL widget (for NVIZ replacement)

Python

Python as “easy-to-learn”, object oriented, currently “very popular” language should enable more people actively contribute

  • n the development.

17 / 23

slide-22
SLIDE 22

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

◮ Project started in the beginning of 2007 ◮ About 35,000 lines of code (Python/C++) ◮ Experimental GUI prototype included in the last release 6.3.0 ◮ Experimental GUI option for GRASS 6.4 (the main release of

2008) and default for planned GRASS 7 releases

◮ The GUI is composed by two components:

18 / 23

slide-23
SLIDE 23

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

◮ Project started in the beginning of 2007 ◮ About 35,000 lines of code (Python/C++) ◮ Experimental GUI prototype included in the last release 6.3.0 ◮ Experimental GUI option for GRASS 6.4 (the main release of

2008) and default for planned GRASS 7 releases

◮ The GUI is composed by two components:

◮ Layer Manager allows to run different GRASS modules from

menu, includes map layer management, integrated command-line prompt, and command output window

18 / 23

slide-24
SLIDE 24

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

Layer Manager – layer management tab

18 / 23

slide-25
SLIDE 25

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

Layer Manager – command log area tab

18 / 23

slide-26
SLIDE 26

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

◮ Project started in the beginning of 2007 ◮ About 35,000 lines of code (Python/C++) ◮ Experimental GUI prototype included in the last release 6.3.0 ◮ Experimental GUI option for GRASS 6.4 (the main release of

2008) and default for planned GRASS 7 releases

◮ The GUI is composed by two components:

◮ Layer Manager allows to run different GRASS modules from

menu, includes map layer management, integrated command-line prompt, and command output window

◮ Map Display Window(s) integrates basic tools for zooming,

panning, data querying, decorations (north arrows, barscale, etc.)

18 / 23

slide-27
SLIDE 27

OSGeo Hacking Event, 16-22 June 2008

wxGUI Development

Map Display Window

18 / 23

slide-28
SLIDE 28

OSGeo Hacking Event, 16-22 June 2008

wxGUI status

wxGUI components

◮ Implemented:

◮ Core (Layer Manager, Map Display Window) ◮ Vector digitizer ◮ Attribute Table Manager 19 / 23

slide-29
SLIDE 29

OSGeo Hacking Event, 16-22 June 2008

wxGUI status

wxGUI components

◮ Implemented:

◮ Core (Layer Manager, Map Display Window) ◮ Vector digitizer ◮ Attribute Table Manager ◮ Workspace management (gxw – XML file) ◮ User GUI settings ◮ Georecifier ◮ Profile analysis tool ◮ Histogramming raster maps and images ◮ Location wizard ◮ Raster mapcalculator 19 / 23

slide-30
SLIDE 30

OSGeo Hacking Event, 16-22 June 2008

wxGUI status

wxGUI components

◮ Under development:

◮ Cartographic tools ◮ 2.5/3D visualization (NVIZ replacement) 20 / 23

slide-31
SLIDE 31

OSGeo Hacking Event, 16-22 June 2008

wxGUI status

wxGUI components

◮ Under development:

◮ Cartographic tools ◮ 2.5/3D visualization (NVIZ replacement)

◮ To be developed:

◮ Raster digitizer ◮ SDI/MDI layout ◮ Graphical modeler ◮ . . . 20 / 23

slide-32
SLIDE 32

OSGeo Hacking Event, 16-22 June 2008

GRASS – multiplatform desktop GIS

GNU/Linux (wxGUI, 2008/02)

21 / 23

slide-33
SLIDE 33

OSGeo Hacking Event, 16-22 June 2008

GRASS – multiplatform desktop GIS

Mac OS (wxGUI, 2007 by Michael Barton)

21 / 23

slide-34
SLIDE 34

OSGeo Hacking Event, 16-22 June 2008

GRASS – multiplatform desktop GIS

MS Windows (wxGUI, 2008/03)

21 / 23

slide-35
SLIDE 35

OSGeo Hacking Event, 16-22 June 2008

wxGUI screenshots

Vector digitizer – checking for duplicates enabled

22 / 23

slide-36
SLIDE 36

OSGeo Hacking Event, 16-22 June 2008

wxGUI screenshots

Vector digitizer

22 / 23

slide-37
SLIDE 37

OSGeo Hacking Event, 16-22 June 2008

wxGUI screenshots

Georectification of unreferenced images

22 / 23

slide-38
SLIDE 38

OSGeo Hacking Event, 16-22 June 2008

wxGUI screenshots

Profile analysis tool

22 / 23

slide-39
SLIDE 39

OSGeo Hacking Event, 16-22 June 2008

wxGUI screenshots

Location wizard

22 / 23

slide-40
SLIDE 40

OSGeo Hacking Event, 16-22 June 2008

wxGUI screenshots

Attribute Table Manager

22 / 23

slide-41
SLIDE 41

OSGeo Hacking Event, 16-22 June 2008

EOF

Grazie per l’attenzione!

This work is licensed under a Creative Commons Licence, Attribution-Share Alike 3.0 http://creativecommons.org/licenses/by-sa/3.0/deed.en http://gama.fsv.cvut.cz/~landa/publications/2008/osgeo-bolsena-08

23 / 23