— 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 Brief introduction wxGUI OSGeo Hacking Event, 16-22 June 2008 2 / 23
Outline Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI OSGeo Hacking Event, 16-22 June 2008 3 / 23
Outline Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI OSGeo Hacking Event, 16-22 June 2008 4 / 23
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 OSGeo Hacking Event, 16-22 June 2008 5 / 23
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) OSGeo Hacking Event, 16-22 June 2008 6 / 23
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 OSGeo Hacking Event, 16-22 June 2008 7 / 23
Outline Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI OSGeo Hacking Event, 16-22 June 2008 8 / 23
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 OSGeo Hacking Event, 16-22 June 2008 9 / 23
Outline Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI OSGeo Hacking Event, 16-22 June 2008 10 / 23
Outline Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI OSGeo Hacking Event, 16-22 June 2008 11 / 23
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 OSGeo Hacking Event, 16-22 June 2008 12 / 23
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 OSGeo Hacking Event, 16-22 June 2008 12 / 23
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 ◮ . . . OSGeo Hacking Event, 16-22 June 2008 13 / 23
Outline Overview Project introduction GRASS and OSGeo Development Brief introduction wxGUI OSGeo Hacking Event, 16-22 June 2008 14 / 23
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 OSGeo Hacking Event, 16-22 June 2008 15 / 23
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 OSGeo Hacking Event, 16-22 June 2008 15 / 23
GRASS GUI Evolution Story Old-fashioned Tcl/Tk-based GUI in GRASS 6.2 OSGeo Hacking Event, 16-22 June 2008 15 / 23
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. OSGeo Hacking Event, 16-22 June 2008 16 / 23
wxGUI Development wxWidgets ◮ Powerful Python binding (know as wxPython ) ◮ Uses native platform SDK (native look and feel) ◮ OpenGL widget (for NVIZ replacement) OSGeo Hacking Event, 16-22 June 2008 17 / 23
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 on the development. OSGeo Hacking Event, 16-22 June 2008 17 / 23
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: OSGeo Hacking Event, 16-22 June 2008 18 / 23
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 OSGeo Hacking Event, 16-22 June 2008 18 / 23
wxGUI Development Layer Manager – layer management tab OSGeo Hacking Event, 16-22 June 2008 18 / 23
wxGUI Development Layer Manager – command log area tab OSGeo Hacking Event, 16-22 June 2008 18 / 23
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.) OSGeo Hacking Event, 16-22 June 2008 18 / 23
wxGUI Development Map Display Window OSGeo Hacking Event, 16-22 June 2008 18 / 23
wxGUI status wxGUI components ◮ Implemented: ◮ Core (Layer Manager, Map Display Window) ◮ Vector digitizer ◮ Attribute Table Manager OSGeo Hacking Event, 16-22 June 2008 19 / 23
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 OSGeo Hacking Event, 16-22 June 2008 19 / 23
wxGUI status wxGUI components ◮ Under development: ◮ Cartographic tools ◮ 2.5/3D visualization (NVIZ replacement) OSGeo Hacking Event, 16-22 June 2008 20 / 23
wxGUI status wxGUI components ◮ Under development: ◮ Cartographic tools ◮ 2.5/3D visualization (NVIZ replacement) ◮ To be developed: ◮ Raster digitizer ◮ SDI/MDI layout ◮ Graphical modeler ◮ . . . OSGeo Hacking Event, 16-22 June 2008 20 / 23
GRASS – multiplatform desktop GIS GNU/Linux (wxGUI, 2008/02) OSGeo Hacking Event, 16-22 June 2008 21 / 23
Recommend
More recommend