<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FRashadkm</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FRashadkm"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/%E2%9A%A0%EF%B8%8FRashadkm"/>
	<updated>2026-05-26T04:14:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Support&amp;diff=17241</id>
		<title>Support</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Support&amp;diff=17241"/>
		<updated>2012-12-19T19:11:36Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Commercial support: Companies and Institutions which offer GRASS Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GRASS Community  ==&lt;br /&gt;
&lt;br /&gt;
To reach the community, see [[GRASS Community]].&lt;br /&gt;
&lt;br /&gt;
== Commercial support: Freelancers who offer GRASS Support  ==&lt;br /&gt;
&lt;br /&gt;
You need a person with programming skills? Check out this list:&lt;br /&gt;
&lt;br /&gt;
* Seth Price &amp;lt;seth@pricepages.org&amp;gt; - low-level raster processing, code optimization, OpenCL&lt;br /&gt;
* Mohammed Rashad &amp;lt;rashadkm [at] gmail.com&amp;gt; - Add/Maintain modules(Python and C), UI development&lt;br /&gt;
* you&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Commercial support: Companies and Institutions which offer GRASS Support  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- please sort by country name, then outfit name --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Country&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Competences&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Site&lt;br /&gt;
|-&lt;br /&gt;
| Germany&lt;br /&gt;
| GDF&amp;amp;nbsp;Hannover&lt;br /&gt;
| Project management, Data analysis&lt;br /&gt;
| http://www.gdf-hannover.de&lt;br /&gt;
|-&lt;br /&gt;
| Germany&lt;br /&gt;
| Geoinformatik Büro Dassau&lt;br /&gt;
| Project management, Training, Data analysis, Programming&lt;br /&gt;
| http://www.gbd-consult.de&lt;br /&gt;
|-&lt;br /&gt;
| Italy&lt;br /&gt;
| Fondazione Edmund Mach&lt;br /&gt;
| Project management, Data analysis, Programming&lt;br /&gt;
| http://gis.cri.fmach.it&lt;br /&gt;
|-&lt;br /&gt;
| India&lt;br /&gt;
| Lab for Spatial Informatics&lt;br /&gt;
| Project management, Data analysis, Programming, Training&lt;br /&gt;
| http://lsi.iiit.ac.in&lt;br /&gt;
|-&lt;br /&gt;
| your country&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* See also the [http://www.osgeo.org/search_profile OSGeo Commercial Service Providers Index] (and those which are [http://www.osgeo.org/search_profile?SET=1&amp;amp;MUL_TECH%5B%5D=00015 GRASS-specific])&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Support&amp;diff=17240</id>
		<title>Support</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Support&amp;diff=17240"/>
		<updated>2012-12-19T19:10:32Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Commercial support: Freelancers who offer GRASS Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GRASS Community  ==&lt;br /&gt;
&lt;br /&gt;
To reach the community, see [[GRASS Community]].&lt;br /&gt;
&lt;br /&gt;
== Commercial support: Freelancers who offer GRASS Support  ==&lt;br /&gt;
&lt;br /&gt;
You need a person with programming skills? Check out this list:&lt;br /&gt;
&lt;br /&gt;
* Seth Price &amp;lt;seth@pricepages.org&amp;gt; - low-level raster processing, code optimization, OpenCL&lt;br /&gt;
* Mohammed Rashad &amp;lt;rashadkm [at] gmail.com&amp;gt; - Add/Maintain modules(Python and C), UI development&lt;br /&gt;
* you&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Commercial support: Companies and Institutions which offer GRASS Support  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- please sort by country name, then outfit name --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Country&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Competences&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Site&lt;br /&gt;
|-&lt;br /&gt;
| Germany&lt;br /&gt;
| GDF&amp;amp;nbsp;Hannover&lt;br /&gt;
| Project management, Data analysis&lt;br /&gt;
| http://www.gdf-hannover.de&lt;br /&gt;
|-&lt;br /&gt;
| Germany&lt;br /&gt;
| Geoinformatik Büro Dassau&lt;br /&gt;
| Project management, Training, Data analysis, Programming&lt;br /&gt;
| http://www.gbd-consult.de&lt;br /&gt;
|-&lt;br /&gt;
| Italy&lt;br /&gt;
| Fondazione Edmund Mach&lt;br /&gt;
| Project management, Data analysis, Programming&lt;br /&gt;
| http://gis.cri.fmach.it&lt;br /&gt;
|-&lt;br /&gt;
| your country&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* See also the [http://www.osgeo.org/search_profile OSGeo Commercial Service Providers Index] (and those which are [http://www.osgeo.org/search_profile?SET=1&amp;amp;MUL_TECH%5B%5D=00015 GRASS-specific])&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Project_jobs&amp;diff=17148</id>
		<title>Project jobs</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Project_jobs&amp;diff=17148"/>
		<updated>2012-12-03T05:10:29Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Interested people */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Open jobs in the GRASS project ==&lt;br /&gt;
&lt;br /&gt;
The growing infrastructure and extended user support requires more efforts to integrate user contributions and to keep things running. This page contains a list of jobs for which we seek volunteers. These jobs descriptions may appear a bit formal, but shall illustrate the needs.&lt;br /&gt;
&lt;br /&gt;
=== Documentation manager ===&lt;br /&gt;
&lt;br /&gt;
GRASS documentation (HTML/MAN pages) need to be frequently revisited and updated. Some pages are still lacking examples or clarity.&lt;br /&gt;
&lt;br /&gt;
Skills: &lt;br /&gt;
* knowledge of standard HTML (ASCII editor is preferred over HTML editor)&lt;br /&gt;
* willingness to use plain text editors to write pages (to avoid that HTML cruft creeps in)&lt;br /&gt;
* familiarity (or willingness to learn use) with GRASS Web site SVN (see [[Working with SVN|instructions]])&lt;br /&gt;
* no programming skills required&lt;br /&gt;
* excellent knowledge of English language (native speaker preferred)&lt;br /&gt;
Tasks:&lt;br /&gt;
* update outdated manual pages&lt;br /&gt;
* homogenize style and layout&lt;br /&gt;
* add relevant graphics/screenshots with credits/CC license into page&lt;br /&gt;
* receive and merge contributions from external contributors; remove offensive HTML tags not understood by g.html2man (say: reduce to simple HTML - see [http://svn.osgeo.org/grass/grass/branches/releasebranch_6_4/SUBMITTING_DOCS instructions])&lt;br /&gt;
Estimated workload:&lt;br /&gt;
* in average: 1-x h per week&lt;br /&gt;
&lt;br /&gt;
=== Web site contributors (open) ===&lt;br /&gt;
&lt;br /&gt;
Several [[Web site]] contributors are desired to update pages and to improve the current structure. A future goal may be the move to a CMS system such as Drupal which would be a major effort.&lt;br /&gt;
&lt;br /&gt;
Skills: &lt;br /&gt;
* knowledge of standard HTML (a single PHP function is used to construct menus)&lt;br /&gt;
* willingness to use plain text editors to write pages (to avoid that HTML cruft creeps in)&lt;br /&gt;
* familiarity (or willingness to learn use) with GRASS Web site SVN (see [[Working with SVN|instructions]])&lt;br /&gt;
* no programming skills required&lt;br /&gt;
Tasks:&lt;br /&gt;
* update outdated pages&lt;br /&gt;
* think about and implement '''&amp;quot;user stories&amp;quot;''' to make site more attractive&lt;br /&gt;
* think about and implement translation of important pages&lt;br /&gt;
* simplify structure&lt;br /&gt;
* add new screenshots with credits/CC license)&lt;br /&gt;
* regularly check if mirror sites work&lt;br /&gt;
Estimated workload:&lt;br /&gt;
* in average: 1-x h per week&lt;br /&gt;
Contact: Markus Neteler&lt;br /&gt;
&lt;br /&gt;
=== Wiki manager (open) ===&lt;br /&gt;
&lt;br /&gt;
The GRASS wiki (you are using it at the moment) requires continuous monitoring.&lt;br /&gt;
&lt;br /&gt;
Skills: &lt;br /&gt;
* basic knowledge of mediawiki usage&lt;br /&gt;
* no programming skills required&lt;br /&gt;
Tasks:&lt;br /&gt;
* update outdated pages&lt;br /&gt;
* simplify structure where needed (merge pages)&lt;br /&gt;
* clean up [[:Special:Lonelypages|Orphaned pages]] (link, merge or remove)&lt;br /&gt;
* keep [[:Special:Categories|Categories]] up to date (add at bottom of pages where needed)&lt;br /&gt;
* keep an eye on spammers&lt;br /&gt;
Estimated workload:&lt;br /&gt;
* in average: 1h per week&lt;br /&gt;
Contact: Markus Neteler, [[User:Landa|Martin Landa]]&lt;br /&gt;
&lt;br /&gt;
=== Graphic design lead (open) ===&lt;br /&gt;
&lt;br /&gt;
We need someone with good graphic design skills to maintain the artwork used in the various GUIs and the web site. The initial priority is to rework the icons used in the various GUIs and clean up the screenshot gallery.&lt;br /&gt;
&lt;br /&gt;
Skills:&lt;br /&gt;
* Graphic design, graphic design software&lt;br /&gt;
* Artistic&lt;br /&gt;
* A sufficient level of familiarity with the GIS in order to capture the precise meaning of a button's task in a simple picture.&lt;br /&gt;
* No programming experience needed, but it would be helpful if willing to (wx)Python in the long term.&lt;br /&gt;
* Manage binary files in SVN (fairly simple to learn)&lt;br /&gt;
Tasks:&lt;br /&gt;
* Create new icons for the various GUIs&lt;br /&gt;
* Work with website manager to create, solicit, and maintain screenshot gallery&lt;br /&gt;
* Work with the GUI team to perfect GUI layout and menu presentation.&lt;br /&gt;
* Help promotion and newsletter teams in preparing logo banners, layout ideas, etc.&lt;br /&gt;
Estimated workload:&lt;br /&gt;
* After initial work on icons: 1hr per week&lt;br /&gt;
&lt;br /&gt;
=== Public relations manager ===&lt;br /&gt;
&lt;br /&gt;
Despite the continuous growth of the user community, we seek &amp;quot;GRASS GIS awareness&amp;quot; especially for public administration and companies. A multi-language brochure is needed to promote GRASS in a more effective way. Funding for a high quality print is to be defined.&lt;br /&gt;
&lt;br /&gt;
Skills:&lt;br /&gt;
* communication and design skills&lt;br /&gt;
Tasks:&lt;br /&gt;
* find like-minded people to form a GRASS promotion group&lt;br /&gt;
* communicate the existence of the GRASS project&lt;br /&gt;
* design of a multi-language brochure (both PDF and printed) in collaboration with the [http://wiki.osgeo.org/index.php?title=VisCom OSGeo-VisCom team]&lt;br /&gt;
* create material to illustrate the GRASS functionality&lt;br /&gt;
* contact public administration and professionals in a non-spammy way&lt;br /&gt;
* collect success stories and render them usable for the Web site&lt;br /&gt;
&lt;br /&gt;
== Accepted positions (which were advertised here) ==&lt;br /&gt;
&lt;br /&gt;
=== Translations manager ===&lt;br /&gt;
&lt;br /&gt;
'''''NEWS: Kindly accepted by Jan '''''&lt;br /&gt;
&lt;br /&gt;
The translations manager is responsible for maintaining the translation of GRASS messages&lt;br /&gt;
([http://grass.osgeo.org/devel/i18n.php translation page; [http://lists.osgeo.org/mailman/listinfo/grass-translations/ mailing list])&lt;br /&gt;
&lt;br /&gt;
Skills: &lt;br /&gt;
* knowledge (or willingness to learn use) of translation tools (kbabel, poEDIT)&lt;br /&gt;
* familiarity (or willingness to learn use) with SVN (see [[Working with SVN|instructions]])&lt;br /&gt;
* no programming skills required&lt;br /&gt;
Tasks:&lt;br /&gt;
* work with GRASS branches and SVN-Head (latest GRASS)&lt;br /&gt;
* merging translation contributions (with 'msgmerge' of .po files or simply use [http://mpa.itc.it/markus/useful/po_merge.sh po_merge.sh])&lt;br /&gt;
* invite translators to contribute (ask regularly, find new), make them use recent GRASS&lt;br /&gt;
* create template files for new languages ('make pot')&lt;br /&gt;
* update existing translations '''after''' having received latest submissions from translators ('make update-po')&lt;br /&gt;
* keep headers of .po files intact and up-to-date&lt;br /&gt;
* add new translators to AUTHORS file in source code&lt;br /&gt;
Estimated workload:&lt;br /&gt;
* in average: 1-2h per week or less&lt;br /&gt;
&lt;br /&gt;
== Interested people ==&lt;br /&gt;
&lt;br /&gt;
While we have to figure out the process, here a list of interested people. Please add yourself:&lt;br /&gt;
&lt;br /&gt;
* Dylan Beaudette: Web site contributor (familiar with Drupal CMS)&lt;br /&gt;
* Scott Mitchell: Web site contributor, could possibly do the translation job, if nobody with translation tool experience volunteers&lt;br /&gt;
* Brad Douglas: Public Relations contributor (co-maintainer)&lt;br /&gt;
* Mohammed Rashad: Documentation Manager( willing to accept)&lt;br /&gt;
&lt;br /&gt;
== Existing jobs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
;Documentation Manager&lt;br /&gt;
:Eric Patton&lt;br /&gt;
* Bug trackers&lt;br /&gt;
** Old GForge bug tracker maintainer: Maciej Sieczka&lt;br /&gt;
*** Jachym Chepicky - code patches&lt;br /&gt;
*** Scott Mitchell - website patches&lt;br /&gt;
*** Martin Landa - doc patches&lt;br /&gt;
;Newsletter editor-in-chief&lt;br /&gt;
:Martin Wegmann (+ Paul Kelly and MN) - for OSGeo: Tyler Mitchell&lt;br /&gt;
;Public relations manager&lt;br /&gt;
:Malte Halbey-Martin&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;OSGeo Trac maintainers&lt;br /&gt;
:Markus Neteler, Martin Landa&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Code repository&lt;br /&gt;
** For old CVS maintainer was: Bernhard Reiter&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;OSGeo SVN code repository&lt;br /&gt;
:Markus Neteler, Martin Landa, Howard Butler&lt;br /&gt;
;Main Web site/[http://svn.osgeo.org/grass/grass/trunk/doc/infrastructure.txt Infrastructure] manager&lt;br /&gt;
:Markus Neteler&lt;br /&gt;
;Mailing list manager&lt;br /&gt;
:Markus Neteler&lt;br /&gt;
;Translations manager&lt;br /&gt;
:Jan T...&lt;br /&gt;
;Wiki manager&lt;br /&gt;
:Markus Neteler, Martin Landa (see above for open position)&lt;br /&gt;
;Binaries packager&lt;br /&gt;
* Fedora RPMs: ?&lt;br /&gt;
* Mandriva RPMs: Buchan Milne&lt;br /&gt;
* OpenSUSE RPMs: Otto Dassau&lt;br /&gt;
* Debian: Francesco Lovergine and the [http://pkg-grass.alioth.debian.org/cgi-bin/wiki.pl Debian GIS Project]&lt;br /&gt;
* Ubuntu: ...?&lt;br /&gt;
* winGRASS native: Helmut Kudrnovsky, Moritz Lennert, Benjamin Ducke, Huidae Cho, Paul Kelly, Tim Sutton (QGIS/GRASS bundle)&lt;br /&gt;
* MacOSX: William Kyngesburye&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=14938</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=14938"/>
		<updated>2012-02-25T10:52:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* GRASS Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Browse also wxGUI related [[:Category:WxGUI|articles or screenshots]].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS GUI]], and [[GRASS and Python]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
See example of wxGUI module in trunk: {{src|doc/gui/wxpython/example/}}&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:WxGUI|Screenshots from GRASSWiki]]&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxnviz-volumes.png|300px|thumb|center|wxGUI: Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:wxgui-spatial-query.png|300px|thumb|center|wxGUI: Spatial query]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video tutorials ==&lt;br /&gt;
&lt;br /&gt;
=== Import vector data ===&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
{{YouTube|eD2B1i9YxxQ|desc=Importing single shapefile}}&lt;br /&gt;
{{YouTube|ohbV_MR530Q|desc=Importing multiple shapefiles}}&lt;br /&gt;
{{YouTube|lJVBw78zYY0|desc=Importing SpatiaLite layers}}&lt;br /&gt;
{{YouTube|JoqIkL2VRVc|desc=Importing PostGIS layers into GRASS}}&lt;br /&gt;
&lt;br /&gt;
=== Import raster data ===&lt;br /&gt;
&lt;br /&gt;
Importing multiple GeoTIFF files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:WxGUI bulk raster import1.png|300px|thumb|Bulk import of GeoTIFF via menu]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:WxGUI bulk raster import2.png|320px|thumb|Bulk import of GeoTIFF via menu (files are auto-selected)]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link vector data (GRASS 7) ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|eB3_SmE3E9Q|desc=Link PostGIS layers as GRASS vector maps}}&lt;br /&gt;
&lt;br /&gt;
=== Map display ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|PY8aytvfQqA|desc=Define legend and export to image}}&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
* Manual page of {{cmd|wxGUI.GCP_Manager|desc=GCP Manager}}&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeler ===&lt;br /&gt;
&lt;br /&gt;
''Note:'' GRASS 6.4.2+ required.&lt;br /&gt;
&lt;br /&gt;
See wxGUI [[WxGUI Modeler#Video Tutorials|Modeler]] page.&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager: Searching GRASS module ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|Z9STgChNWcM|desc=Search for GRASS module (GRASS 6.4.2 required)}}&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|yMpVVRaVYeA|desc=Calculating NDVI}}&lt;br /&gt;
&lt;br /&gt;
=== wxGUI 3D view mode (wxNviz) ===&lt;br /&gt;
&lt;br /&gt;
See [[WxNviz#Video tutorials|wxNviz]] page.&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Core components ===&lt;br /&gt;
&lt;br /&gt;
==== Layer Manager ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:wxgrass-gis-manager-layer.png|2007/12&lt;br /&gt;
Image:wxgrass-gis-manager-output.png|2007/12&lt;br /&gt;
Image:Wxgrass rgb.png|2008/02&lt;br /&gt;
Image:wxgui-layer-manager-70.png|2010/08&lt;br /&gt;
Image:wxgui-pyshell.png|2011/06 - Embedded interactive Python Shell&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Map display window ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:Wxgrass-mapdisplay-0.png&lt;br /&gt;
Image:Wxgui-mapdisplay-1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GUI dialogs ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Startup GUI (welcome screen) ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Location wizard ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Digitizer ===&lt;br /&gt;
&lt;br /&gt;
==== Vector digitizer ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Manual page - {{cmd|wxGUI.Vector_Digitizer}}&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]] and [[wxGUI Vector Digitizer]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated into Map display window ([http://svn.osgeo.org/grass/grass-promo/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:WxDigit200804.png|Vector digitizer (2008/04)&lt;br /&gt;
Image:Digit-01.png|Vector digitizer (2007/11)&lt;br /&gt;
Image:WxGUI-vdigit-fill-area.png|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)&lt;br /&gt;
Image:WxGUI-vdigit-bg.png|Vector digitizer - background raster maps with different opacity level (2008/07)&lt;br /&gt;
Image:WxGUI-vdigit-win0.png|Vector digitizer on MS Windows (2011/01)&lt;br /&gt;
Image:Wxgui-vdigit-dupl.png|Vector digitizer - checking for duplicates (2011/02)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Raster digitizer ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.digit}} (merge with {{cmd|v.digit}}?)&lt;br /&gt;
: Probably write a front end for {{cmd|r.in.poly}}, that's all the old {{cmd|r.digit}} is.&lt;br /&gt;
* {{cmd|d.rast.edit}}&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through {{cmd|r.in.xyz}}, and {{cmd|r.patch}} the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new {{cmd|r.category}} import tool&lt;br /&gt;
** ''Back-end component complete: {{cmd|r.category}} module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of {{cmd|r.category}}, {{cmd|r.describe}}, {{cmd|r.report}}, {{cmd|r.stats}}, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
==== GUI for {{Cmd|ps.map}} ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development (Anna Kratochvilova).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CartographicComposer.png|350px|thumb|Cartographic Composer: draft mode]]&lt;br /&gt;
| [[Image:CCPreview.png|350px|thumb|Cartographic Composer: preview]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;More info at '''[[WxGUI Cartographic Composer]]'''.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[Georeferencing]].&lt;br /&gt;
&lt;br /&gt;
; Tutorials&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html Georectifing raster data]&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Grass-atm-example.png|center|thumb|640px|Attributes queries in wxGUI]]&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== 3D view mode ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development (Google Summer of Code 2008/2010).&lt;br /&gt;
&lt;br /&gt;
See detailed information at [[wxNVIZ]] page and classic Tcl/Tk [[NVIZ]] pages.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxnviz-volumes.png|640px|thumb|center|Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space.]]&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
==== Ortho photos ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace {{cmd|i.ortho.photo}} and friends&lt;br /&gt;
&lt;br /&gt;
==== wx.iclass ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
===== First prototype (AddOns) =====&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/wx.class wx.class]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:wx.class1.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class2.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class3.png|350px|thumb|center|wx.class]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current Features:&lt;br /&gt;
&lt;br /&gt;
* Does not require xterm&lt;br /&gt;
* works on windows which is not currently available&lt;br /&gt;
&lt;br /&gt;
To be implemented:&lt;br /&gt;
&lt;br /&gt;
* Proper view of histogram using python-matplotlib&lt;br /&gt;
* To work on other datset (currently works for nc_spm_08)&lt;br /&gt;
* Needs a code cleanup&lt;br /&gt;
&lt;br /&gt;
===== Second prototype (trunk) =====&lt;br /&gt;
&lt;br /&gt;
* [[wxIClass]]&lt;br /&gt;
&lt;br /&gt;
=== Graphical Modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
[[File:WxGUI-modeler-if-else-0.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
See [[wxGUI Modeler]] page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extension Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/install-addons.html wxGUI Extension Manager]&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-em.png|center|thumb|500px|wxGUI Extension Manager]]&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-mapcalc.png|center|thumb|500px|wxGUI Map Calculator]]&lt;br /&gt;
&lt;br /&gt;
=== GRASS Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://lsi.iiit.ac.in/grass_addons/ GRASS Catalog files]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:GRASS Catalog1.png|350px|thumb|center|GRASS Catalog ]]&lt;br /&gt;
| [[Image:GRASS Catalog2.png|350px|thumb|center|GRASS Catalog]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
* Can connect with OssimPlanet using PlanetSasha&lt;br /&gt;
* Add and Remove maps from GRASS GIS to OssimPlanet(Send to OssimPlanet/Remove from OssimPlanet)&lt;br /&gt;
 &lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Create a properties window to display Coordinate system &amp;amp; projection for each map&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Alternative: http://code.google.com/p/wxgis/&lt;br /&gt;
&lt;br /&gt;
=== r.li.setup GUI ===&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
Porting of {{cmd|r.li.setup}} in wxPython. &lt;br /&gt;
Some screenshots of developing version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:Rlisetup_first_frame.png | The first windows where you can select existing configuration file or create new one&lt;br /&gt;
Image:Rlisetup wizard first page.png | First window of wizard&lt;br /&gt;
Image:Rlisetup wizard keybord sampling frame.png | Choose the sampling frame&lt;br /&gt;
Image:Rlisetup_wizard_sampling_areas.png ‎| Choose the type of sampling area&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' layout similar to QGIS (with a legend attached to each display) or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of the layer manager and display windows to keep the windows closer&lt;br /&gt;
* do not allow module windows to stay open. That is, get rid of the apply button and force each window to close when OK is pressed (QGIS/ArcGIS approach). This leaves only the display(s) and single legend/layer manager on desktop.&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''New solution: see [[WxGUI#Data_Catalog]] above.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====What others do====&lt;br /&gt;
&lt;br /&gt;
'''SDI: (each document opened in application occupies a window on the desktop)'''&lt;br /&gt;
* GRASS: display window for each document (i.e., set of maps displayed) opened on desktop; one legend/layer manager window for all display windows; ; each module/function opens a separate window on the desktop&lt;br /&gt;
* QGIS: display window for each document (i.e., set of maps displayed) opened on the desktop; legend/layer manager window attached to each display window; each module/function opens a separate window on the desktop (e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png)&lt;br /&gt;
* ArcGIS: similar to QGIS with combined legend/display for each document (set of maps displayed); each module/function opens a separate window on the desktop (e.g. http://upload.wikimedia.org/wikipedia/en/9/92/ArcMap.jpg)&lt;br /&gt;
* MapInfo (pre Pitney Bowes): each document opens a map display window on the desktop; single legend/toolbox opened on the desktop controls all visible documents (i.e., map displays); each module/function opens a separate window on the desktop (similar to current GRASS layout)&lt;br /&gt;
&lt;br /&gt;
'''MDI: (a single frame is opened for the application on the desktop; all documents opened inside the application frame)'''&lt;br /&gt;
* SAGA: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455)&lt;br /&gt;
* Ossim: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.ossim.org/OSSIM/Albums/Pages/ImageLinker.html)&lt;br /&gt;
* Idrisi: similar to SAGA and Ossim (http://www.clarklabs.org/products/idrisi-taiga.cfm)&lt;br /&gt;
* MapInfo (Pitney Bowes): Seems to be like Saga (http://www.pbinsight.com/support/training/video-tutorials/)&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
{{wxGUI}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=14937</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=14937"/>
		<updated>2012-02-25T10:21:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* GRASS Catalog added patch link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Browse also wxGUI related [[:Category:WxGUI|articles or screenshots]].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS GUI]], and [[GRASS and Python]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
See example of wxGUI module in trunk: {{src|doc/gui/wxpython/example/}}&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:WxGUI|Screenshots from GRASSWiki]]&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxnviz-volumes.png|300px|thumb|center|wxGUI: Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:wxgui-spatial-query.png|300px|thumb|center|wxGUI: Spatial query]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video tutorials ==&lt;br /&gt;
&lt;br /&gt;
=== Import vector data ===&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
{{YouTube|eD2B1i9YxxQ|desc=Importing single shapefile}}&lt;br /&gt;
{{YouTube|ohbV_MR530Q|desc=Importing multiple shapefiles}}&lt;br /&gt;
{{YouTube|lJVBw78zYY0|desc=Importing SpatiaLite layers}}&lt;br /&gt;
{{YouTube|JoqIkL2VRVc|desc=Importing PostGIS layers into GRASS}}&lt;br /&gt;
&lt;br /&gt;
=== Import raster data ===&lt;br /&gt;
&lt;br /&gt;
Importing multiple GeoTIFF files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:WxGUI bulk raster import1.png|300px|thumb|Bulk import of GeoTIFF via menu]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:WxGUI bulk raster import2.png|320px|thumb|Bulk import of GeoTIFF via menu (files are auto-selected)]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link vector data (GRASS 7) ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|eB3_SmE3E9Q|desc=Link PostGIS layers as GRASS vector maps}}&lt;br /&gt;
&lt;br /&gt;
=== Map display ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|PY8aytvfQqA|desc=Define legend and export to image}}&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
* Manual page of {{cmd|wxGUI.GCP_Manager|desc=GCP Manager}}&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeler ===&lt;br /&gt;
&lt;br /&gt;
''Note:'' GRASS 6.4.2+ required.&lt;br /&gt;
&lt;br /&gt;
See wxGUI [[WxGUI Modeler#Video Tutorials|Modeler]] page.&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager: Searching GRASS module ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|Z9STgChNWcM|desc=Search for GRASS module (GRASS 6.4.2 required)}}&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|yMpVVRaVYeA|desc=Calculating NDVI}}&lt;br /&gt;
&lt;br /&gt;
=== wxGUI 3D view mode (wxNviz) ===&lt;br /&gt;
&lt;br /&gt;
See [[WxNviz#Video tutorials|wxNviz]] page.&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Core components ===&lt;br /&gt;
&lt;br /&gt;
==== Layer Manager ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:wxgrass-gis-manager-layer.png|2007/12&lt;br /&gt;
Image:wxgrass-gis-manager-output.png|2007/12&lt;br /&gt;
Image:Wxgrass rgb.png|2008/02&lt;br /&gt;
Image:wxgui-layer-manager-70.png|2010/08&lt;br /&gt;
Image:wxgui-pyshell.png|2011/06 - Embedded interactive Python Shell&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Map display window ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:Wxgrass-mapdisplay-0.png&lt;br /&gt;
Image:Wxgui-mapdisplay-1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GUI dialogs ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Startup GUI (welcome screen) ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Location wizard ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Digitizer ===&lt;br /&gt;
&lt;br /&gt;
==== Vector digitizer ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Manual page - {{cmd|wxGUI.Vector_Digitizer}}&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]] and [[wxGUI Vector Digitizer]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated into Map display window ([http://svn.osgeo.org/grass/grass-promo/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:WxDigit200804.png|Vector digitizer (2008/04)&lt;br /&gt;
Image:Digit-01.png|Vector digitizer (2007/11)&lt;br /&gt;
Image:WxGUI-vdigit-fill-area.png|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)&lt;br /&gt;
Image:WxGUI-vdigit-bg.png|Vector digitizer - background raster maps with different opacity level (2008/07)&lt;br /&gt;
Image:WxGUI-vdigit-win0.png|Vector digitizer on MS Windows (2011/01)&lt;br /&gt;
Image:Wxgui-vdigit-dupl.png|Vector digitizer - checking for duplicates (2011/02)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Raster digitizer ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.digit}} (merge with {{cmd|v.digit}}?)&lt;br /&gt;
: Probably write a front end for {{cmd|r.in.poly}}, that's all the old {{cmd|r.digit}} is.&lt;br /&gt;
* {{cmd|d.rast.edit}}&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through {{cmd|r.in.xyz}}, and {{cmd|r.patch}} the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new {{cmd|r.category}} import tool&lt;br /&gt;
** ''Back-end component complete: {{cmd|r.category}} module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of {{cmd|r.category}}, {{cmd|r.describe}}, {{cmd|r.report}}, {{cmd|r.stats}}, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
==== GUI for {{Cmd|ps.map}} ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development (Anna Kratochvilova).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CartographicComposer.png|350px|thumb|Cartographic Composer: draft mode]]&lt;br /&gt;
| [[Image:CCPreview.png|350px|thumb|Cartographic Composer: preview]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;More info at '''[[WxGUI Cartographic Composer]]'''.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[Georeferencing]].&lt;br /&gt;
&lt;br /&gt;
; Tutorials&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html Georectifing raster data]&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Grass-atm-example.png|center|thumb|640px|Attributes queries in wxGUI]]&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== 3D view mode ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development (Google Summer of Code 2008/2010).&lt;br /&gt;
&lt;br /&gt;
See detailed information at [[wxNVIZ]] page and classic Tcl/Tk [[NVIZ]] pages.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxnviz-volumes.png|640px|thumb|center|Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space.]]&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
==== Ortho photos ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace {{cmd|i.ortho.photo}} and friends&lt;br /&gt;
&lt;br /&gt;
==== wx.iclass ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
===== First prototype (AddOns) =====&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/wx.class wx.class]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:wx.class1.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class2.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class3.png|350px|thumb|center|wx.class]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current Features:&lt;br /&gt;
&lt;br /&gt;
* Does not require xterm&lt;br /&gt;
* works on windows which is not currently available&lt;br /&gt;
&lt;br /&gt;
To be implemented:&lt;br /&gt;
&lt;br /&gt;
* Proper view of histogram using python-matplotlib&lt;br /&gt;
* To work on other datset (currently works for nc_spm_08)&lt;br /&gt;
* Needs a code cleanup&lt;br /&gt;
&lt;br /&gt;
===== Second prototype (trunk) =====&lt;br /&gt;
&lt;br /&gt;
* [[wxIClass]]&lt;br /&gt;
&lt;br /&gt;
=== Graphical Modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
[[File:WxGUI-modeler-if-else-0.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
See [[wxGUI Modeler]] page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extension Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/install-addons.html wxGUI Extension Manager]&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-em.png|center|thumb|500px|wxGUI Extension Manager]]&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-mapcalc.png|center|thumb|500px|wxGUI Map Calculator]]&lt;br /&gt;
&lt;br /&gt;
=== GRASS Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://lsi.iiit.ac.in/grass_addons/GRASSCatalog.tar.gz GRASS Catalog patch]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:GRASS Catalog1.png|350px|thumb|center|GRASS Catalog ]]&lt;br /&gt;
| [[Image:GRASS Catalog2.png|350px|thumb|center|GRASS Catalog]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
* Can connect with OssimPlanet using PlanetSasha&lt;br /&gt;
* Add and Remove maps from GRASS GIS to OssimPlanet(Send to OssimPlanet/Remove from OssimPlanet)&lt;br /&gt;
 &lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Create a properties window to display Coordinate system &amp;amp; projection for each map&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Alternative: http://code.google.com/p/wxgis/&lt;br /&gt;
&lt;br /&gt;
=== r.li.setup GUI ===&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
Porting of {{cmd|r.li.setup}} in wxPython. &lt;br /&gt;
Some screenshots of developing version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:Rlisetup_first_frame.png | The first windows where you can select existing configuration file or create new one&lt;br /&gt;
Image:Rlisetup wizard first page.png | First window of wizard&lt;br /&gt;
Image:Rlisetup wizard keybord sampling frame.png | Choose the sampling frame&lt;br /&gt;
Image:Rlisetup_wizard_sampling_areas.png ‎| Choose the type of sampling area&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' layout similar to QGIS (with a legend attached to each display) or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of the layer manager and display windows to keep the windows closer&lt;br /&gt;
* do not allow module windows to stay open. That is, get rid of the apply button and force each window to close when OK is pressed (QGIS/ArcGIS approach). This leaves only the display(s) and single legend/layer manager on desktop.&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''New solution: see [[WxGUI#Data_Catalog]] above.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====What others do====&lt;br /&gt;
&lt;br /&gt;
'''SDI: (each document opened in application occupies a window on the desktop)'''&lt;br /&gt;
* GRASS: display window for each document (i.e., set of maps displayed) opened on desktop; one legend/layer manager window for all display windows; ; each module/function opens a separate window on the desktop&lt;br /&gt;
* QGIS: display window for each document (i.e., set of maps displayed) opened on the desktop; legend/layer manager window attached to each display window; each module/function opens a separate window on the desktop (e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png)&lt;br /&gt;
* ArcGIS: similar to QGIS with combined legend/display for each document (set of maps displayed); each module/function opens a separate window on the desktop (e.g. http://upload.wikimedia.org/wikipedia/en/9/92/ArcMap.jpg)&lt;br /&gt;
* MapInfo (pre Pitney Bowes): each document opens a map display window on the desktop; single legend/toolbox opened on the desktop controls all visible documents (i.e., map displays); each module/function opens a separate window on the desktop (similar to current GRASS layout)&lt;br /&gt;
&lt;br /&gt;
'''MDI: (a single frame is opened for the application on the desktop; all documents opened inside the application frame)'''&lt;br /&gt;
* SAGA: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455)&lt;br /&gt;
* Ossim: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.ossim.org/OSSIM/Albums/Pages/ImageLinker.html)&lt;br /&gt;
* Idrisi: similar to SAGA and Ossim (http://www.clarklabs.org/products/idrisi-taiga.cfm)&lt;br /&gt;
* MapInfo (Pitney Bowes): Seems to be like Saga (http://www.pbinsight.com/support/training/video-tutorials/)&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
{{wxGUI}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=14936</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=14936"/>
		<updated>2012-02-25T10:17:42Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* GRASS Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Browse also wxGUI related [[:Category:WxGUI|articles or screenshots]].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS GUI]], and [[GRASS and Python]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
See example of wxGUI module in trunk: {{src|doc/gui/wxpython/example/}}&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:WxGUI|Screenshots from GRASSWiki]]&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxnviz-volumes.png|300px|thumb|center|wxGUI: Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:wxgui-spatial-query.png|300px|thumb|center|wxGUI: Spatial query]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video tutorials ==&lt;br /&gt;
&lt;br /&gt;
=== Import vector data ===&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
{{YouTube|eD2B1i9YxxQ|desc=Importing single shapefile}}&lt;br /&gt;
{{YouTube|ohbV_MR530Q|desc=Importing multiple shapefiles}}&lt;br /&gt;
{{YouTube|lJVBw78zYY0|desc=Importing SpatiaLite layers}}&lt;br /&gt;
{{YouTube|JoqIkL2VRVc|desc=Importing PostGIS layers into GRASS}}&lt;br /&gt;
&lt;br /&gt;
=== Import raster data ===&lt;br /&gt;
&lt;br /&gt;
Importing multiple GeoTIFF files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:WxGUI bulk raster import1.png|300px|thumb|Bulk import of GeoTIFF via menu]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:WxGUI bulk raster import2.png|320px|thumb|Bulk import of GeoTIFF via menu (files are auto-selected)]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link vector data (GRASS 7) ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|eB3_SmE3E9Q|desc=Link PostGIS layers as GRASS vector maps}}&lt;br /&gt;
&lt;br /&gt;
=== Map display ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|PY8aytvfQqA|desc=Define legend and export to image}}&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
* Manual page of {{cmd|wxGUI.GCP_Manager|desc=GCP Manager}}&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeler ===&lt;br /&gt;
&lt;br /&gt;
''Note:'' GRASS 6.4.2+ required.&lt;br /&gt;
&lt;br /&gt;
See wxGUI [[WxGUI Modeler#Video Tutorials|Modeler]] page.&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager: Searching GRASS module ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|Z9STgChNWcM|desc=Search for GRASS module (GRASS 6.4.2 required)}}&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
{{YouTube|yMpVVRaVYeA|desc=Calculating NDVI}}&lt;br /&gt;
&lt;br /&gt;
=== wxGUI 3D view mode (wxNviz) ===&lt;br /&gt;
&lt;br /&gt;
See [[WxNviz#Video tutorials|wxNviz]] page.&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Core components ===&lt;br /&gt;
&lt;br /&gt;
==== Layer Manager ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:wxgrass-gis-manager-layer.png|2007/12&lt;br /&gt;
Image:wxgrass-gis-manager-output.png|2007/12&lt;br /&gt;
Image:Wxgrass rgb.png|2008/02&lt;br /&gt;
Image:wxgui-layer-manager-70.png|2010/08&lt;br /&gt;
Image:wxgui-pyshell.png|2011/06 - Embedded interactive Python Shell&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Map display window ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:Wxgrass-mapdisplay-0.png&lt;br /&gt;
Image:Wxgui-mapdisplay-1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GUI dialogs ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
==== Startup GUI (welcome screen) ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Location wizard ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Digitizer ===&lt;br /&gt;
&lt;br /&gt;
==== Vector digitizer ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Manual page - {{cmd|wxGUI.Vector_Digitizer}}&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]] and [[wxGUI Vector Digitizer]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated into Map display window ([http://svn.osgeo.org/grass/grass-promo/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:WxDigit200804.png|Vector digitizer (2008/04)&lt;br /&gt;
Image:Digit-01.png|Vector digitizer (2007/11)&lt;br /&gt;
Image:WxGUI-vdigit-fill-area.png|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)&lt;br /&gt;
Image:WxGUI-vdigit-bg.png|Vector digitizer - background raster maps with different opacity level (2008/07)&lt;br /&gt;
Image:WxGUI-vdigit-win0.png|Vector digitizer on MS Windows (2011/01)&lt;br /&gt;
Image:Wxgui-vdigit-dupl.png|Vector digitizer - checking for duplicates (2011/02)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Raster digitizer ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.digit}} (merge with {{cmd|v.digit}}?)&lt;br /&gt;
: Probably write a front end for {{cmd|r.in.poly}}, that's all the old {{cmd|r.digit}} is.&lt;br /&gt;
* {{cmd|d.rast.edit}}&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through {{cmd|r.in.xyz}}, and {{cmd|r.patch}} the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new {{cmd|r.category}} import tool&lt;br /&gt;
** ''Back-end component complete: {{cmd|r.category}} module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of {{cmd|r.category}}, {{cmd|r.describe}}, {{cmd|r.report}}, {{cmd|r.stats}}, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
==== GUI for {{Cmd|ps.map}} ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development (Anna Kratochvilova).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:CartographicComposer.png|350px|thumb|Cartographic Composer: draft mode]]&lt;br /&gt;
| [[Image:CCPreview.png|350px|thumb|Cartographic Composer: preview]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;More info at '''[[WxGUI Cartographic Composer]]'''.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[Georeferencing]].&lt;br /&gt;
&lt;br /&gt;
; Tutorials&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html Georectifing raster data]&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Grass-atm-example.png|center|thumb|640px|Attributes queries in wxGUI]]&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== 3D view mode ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development (Google Summer of Code 2008/2010).&lt;br /&gt;
&lt;br /&gt;
See detailed information at [[wxNVIZ]] page and classic Tcl/Tk [[NVIZ]] pages.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxnviz-volumes.png|640px|thumb|center|Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space.]]&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
==== Ortho photos ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace {{cmd|i.ortho.photo}} and friends&lt;br /&gt;
&lt;br /&gt;
==== wx.iclass ====&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
===== First prototype (AddOns) =====&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/wx.class wx.class]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:wx.class1.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class2.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class3.png|350px|thumb|center|wx.class]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current Features:&lt;br /&gt;
&lt;br /&gt;
* Does not require xterm&lt;br /&gt;
* works on windows which is not currently available&lt;br /&gt;
&lt;br /&gt;
To be implemented:&lt;br /&gt;
&lt;br /&gt;
* Proper view of histogram using python-matplotlib&lt;br /&gt;
* To work on other datset (currently works for nc_spm_08)&lt;br /&gt;
* Needs a code cleanup&lt;br /&gt;
&lt;br /&gt;
===== Second prototype (trunk) =====&lt;br /&gt;
&lt;br /&gt;
* [[wxIClass]]&lt;br /&gt;
&lt;br /&gt;
=== Graphical Modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
[[File:WxGUI-modeler-if-else-0.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
See [[wxGUI Modeler]] page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extension Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/install-addons.html wxGUI Extension Manager]&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-em.png|center|thumb|500px|wxGUI Extension Manager]]&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-mapcalc.png|center|thumb|500px|wxGUI Map Calculator]]&lt;br /&gt;
&lt;br /&gt;
=== GRASS Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:GRASS Catalog1.png|350px|thumb|center|GRASS Catalog ]]&lt;br /&gt;
| [[Image:GRASS Catalog2.png|350px|thumb|center|GRASS Catalog]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
* Can connect with OssimPlanet using PlanetSasha&lt;br /&gt;
* Add and Remove maps from GRASS GIS to OssimPlanet(Send to OssimPlanet/Remove from OssimPlanet)&lt;br /&gt;
 &lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Create a properties window to display Coordinate system &amp;amp; projection for each map&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Alternative: http://code.google.com/p/wxgis/&lt;br /&gt;
&lt;br /&gt;
=== r.li.setup GUI ===&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
Porting of {{cmd|r.li.setup}} in wxPython. &lt;br /&gt;
Some screenshots of developing version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery perrow=2 widths=300 heights=200&amp;gt;&lt;br /&gt;
Image:Rlisetup_first_frame.png | The first windows where you can select existing configuration file or create new one&lt;br /&gt;
Image:Rlisetup wizard first page.png | First window of wizard&lt;br /&gt;
Image:Rlisetup wizard keybord sampling frame.png | Choose the sampling frame&lt;br /&gt;
Image:Rlisetup_wizard_sampling_areas.png ‎| Choose the type of sampling area&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' layout similar to QGIS (with a legend attached to each display) or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of the layer manager and display windows to keep the windows closer&lt;br /&gt;
* do not allow module windows to stay open. That is, get rid of the apply button and force each window to close when OK is pressed (QGIS/ArcGIS approach). This leaves only the display(s) and single legend/layer manager on desktop.&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''New solution: see [[WxGUI#Data_Catalog]] above.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====What others do====&lt;br /&gt;
&lt;br /&gt;
'''SDI: (each document opened in application occupies a window on the desktop)'''&lt;br /&gt;
* GRASS: display window for each document (i.e., set of maps displayed) opened on desktop; one legend/layer manager window for all display windows; ; each module/function opens a separate window on the desktop&lt;br /&gt;
* QGIS: display window for each document (i.e., set of maps displayed) opened on the desktop; legend/layer manager window attached to each display window; each module/function opens a separate window on the desktop (e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png)&lt;br /&gt;
* ArcGIS: similar to QGIS with combined legend/display for each document (set of maps displayed); each module/function opens a separate window on the desktop (e.g. http://upload.wikimedia.org/wikipedia/en/9/92/ArcMap.jpg)&lt;br /&gt;
* MapInfo (pre Pitney Bowes): each document opens a map display window on the desktop; single legend/toolbox opened on the desktop controls all visible documents (i.e., map displays); each module/function opens a separate window on the desktop (similar to current GRASS layout)&lt;br /&gt;
&lt;br /&gt;
'''MDI: (a single frame is opened for the application on the desktop; all documents opened inside the application frame)'''&lt;br /&gt;
* SAGA: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455)&lt;br /&gt;
* Ossim: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.ossim.org/OSSIM/Albums/Pages/ImageLinker.html)&lt;br /&gt;
* Idrisi: similar to SAGA and Ossim (http://www.clarklabs.org/products/idrisi-taiga.cfm)&lt;br /&gt;
* MapInfo (Pitney Bowes): Seems to be like Saga (http://www.pbinsight.com/support/training/video-tutorials/)&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
{{wxGUI}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:GRASS_Catalog2.png&amp;diff=14935</id>
		<title>File:GRASS Catalog2.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:GRASS_Catalog2.png&amp;diff=14935"/>
		<updated>2012-02-25T10:15:06Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: grass catalog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;grass catalog&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:GRASS_Catalog1.png&amp;diff=14934</id>
		<title>File:GRASS Catalog1.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:GRASS_Catalog1.png&amp;diff=14934"/>
		<updated>2012-02-25T10:13:52Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: new grass catalog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;new grass catalog&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14804</id>
		<title>WebGRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14804"/>
		<updated>2012-01-26T08:00:46Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ToModify}}&lt;br /&gt;
&lt;br /&gt;
webGRASS currently allows to:&lt;br /&gt;
* upload a mapset/location&lt;br /&gt;
* select existing mapset and location&lt;br /&gt;
* load a vector map&lt;br /&gt;
* display vector/raster data&lt;br /&gt;
* do basic commands such as v.buffer&lt;br /&gt;
&lt;br /&gt;
Need to be done&lt;br /&gt;
* link webGRASS with grass libraries and avoid process communication. If a  process got break at some point its a mess&lt;br /&gt;
* imporve the command view interface&lt;br /&gt;
* allow user to import their own raster data(atleast any gdal supported)&lt;br /&gt;
* add suggestion popup for input map(raster and vector)&lt;br /&gt;
* read GRASS GIS data from a user through HTML5 File API&lt;br /&gt;
* allow user to download data in GRASS Format&lt;br /&gt;
* a lot more :)&lt;br /&gt;
Contact Us&lt;br /&gt;
* Anyone intersted in development please do contact &lt;br /&gt;
*Dr. K.S.Rajan(Project Guide) rajan [*] iiit.ac.in&lt;br /&gt;
*Rashad (Developer) rashadkm [*] gmail (dot) com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video demo version 1 ==&lt;br /&gt;
{{YouTube|ysoZHeKYncs}}&lt;br /&gt;
&lt;br /&gt;
== Video demo latest version ==&lt;br /&gt;
{{YouTube|B71DQiCw86o}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14803</id>
		<title>WebGRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14803"/>
		<updated>2012-01-26T08:00:04Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: minor edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ToModify}}&lt;br /&gt;
&lt;br /&gt;
webGRASS currently allows to:&lt;br /&gt;
* upload a mapset/location&lt;br /&gt;
* select existing mapset and location&lt;br /&gt;
* load a vector map&lt;br /&gt;
* display vector/raster data&lt;br /&gt;
* do basic commands such as v.buffer&lt;br /&gt;
&lt;br /&gt;
Need to be done&lt;br /&gt;
* link webGRASS with grass libraries and avoid process communication. If a  process got break at some point its a mess&lt;br /&gt;
* imporve the command view interface&lt;br /&gt;
* allow user to import their own raster data(atleast any gdal supported)&lt;br /&gt;
* add suggestion popup for input map(raster and vector)&lt;br /&gt;
* read GRASS GIS data from a user through HTML5 File API&lt;br /&gt;
* allow user to download data in GRASS Format&lt;br /&gt;
* a lot more :)&lt;br /&gt;
* Anyone intersted in development please do contact &lt;br /&gt;
*Dr. K.S.Rajan(Project Guide) rajan [*] iiit.ac.in&lt;br /&gt;
*Rashad (Developer) rashadkm [*] gmail (dot) com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video demo version 1 ==&lt;br /&gt;
{{YouTube|ysoZHeKYncs}}&lt;br /&gt;
&lt;br /&gt;
== Video demo latest version ==&lt;br /&gt;
{{YouTube|B71DQiCw86o}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14802</id>
		<title>WebGRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14802"/>
		<updated>2012-01-26T07:59:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ToModify}}&lt;br /&gt;
&lt;br /&gt;
webGRASS currently allows to:&lt;br /&gt;
* upload a mapset/location&lt;br /&gt;
* select existing mapset and location&lt;br /&gt;
* load a vector map&lt;br /&gt;
* display vector/raster data&lt;br /&gt;
* do basic commands such as v.buffer&lt;br /&gt;
&lt;br /&gt;
Need to be done&lt;br /&gt;
* link webGRASS with grass libraries and avoid process communication. If a  process got break at some point its a mess&lt;br /&gt;
* imporve the command view interface&lt;br /&gt;
* allow user to import their own raster data(atleast any gdal supported)&lt;br /&gt;
* add suggestion popup for input map(raster and vector)&lt;br /&gt;
* read GRASS GIS data from a user through HTML5 File API&lt;br /&gt;
* allow user to download data in GRASS Format&lt;br /&gt;
* a lot more :)&lt;br /&gt;
* Anyone intersted in development please do contact &lt;br /&gt;
Dr. K.S.Rajan(Project Guide) rajan [*] iiit.ac.in&lt;br /&gt;
Rashad (Developer) rashadkm [*] gmail (dot) com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video demo version 1 ==&lt;br /&gt;
{{YouTube|ysoZHeKYncs}}&lt;br /&gt;
&lt;br /&gt;
== Video demo latest version ==&lt;br /&gt;
{{YouTube|B71DQiCw86o}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14801</id>
		<title>WebGRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14801"/>
		<updated>2012-01-26T07:21:10Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ToModify}}&lt;br /&gt;
&lt;br /&gt;
webGRASS currently allows to:&lt;br /&gt;
* upload a mapset/location&lt;br /&gt;
* select existing mapset and location&lt;br /&gt;
* load a vector map&lt;br /&gt;
* display vector/raster data&lt;br /&gt;
* do basic commands such as v.buffer&lt;br /&gt;
&lt;br /&gt;
Need to be done&lt;br /&gt;
* link webGRASS with grass libraries and avoid process communication. If a  process got break at some point its a mess&lt;br /&gt;
* imporve the command view interface&lt;br /&gt;
* allow user to import their own raster data(atleast any gdal supported)&lt;br /&gt;
* add suggestion popup for input map(raster and vector)&lt;br /&gt;
* read GRASS GIS data from a user through HTML5 File API&lt;br /&gt;
* allow user to download data in GRASS Format&lt;br /&gt;
* a lot more :)&lt;br /&gt;
* Anyone intersted in development please do contact me rashadkm [*] gmail (dot) com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video demo version 1 ==&lt;br /&gt;
{{YouTube|ysoZHeKYncs}}&lt;br /&gt;
&lt;br /&gt;
== Video demo latest version ==&lt;br /&gt;
{{YouTube|B71DQiCw86o}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14800</id>
		<title>WebGRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WebGRASS&amp;diff=14800"/>
		<updated>2012-01-26T07:14:27Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: Created page with &amp;quot;{{ToModify}}  webGRASS currently allows to: * upload a mapset/location * select existing mapset and location * load a vector map * display vector/raster data * do basic comman...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ToModify}}&lt;br /&gt;
&lt;br /&gt;
webGRASS currently allows to:&lt;br /&gt;
* upload a mapset/location&lt;br /&gt;
* select existing mapset and location&lt;br /&gt;
* load a vector map&lt;br /&gt;
* display vector/raster data&lt;br /&gt;
* do basic commands such as v.buffer&lt;br /&gt;
&lt;br /&gt;
Need to be done&lt;br /&gt;
* link webGRASS with grass libraries and avoid process communication. If a  process got break at some point its a mess&lt;br /&gt;
* imporve the command view interface&lt;br /&gt;
* allow user to import their own raster data(atleast any gdal supported)&lt;br /&gt;
* add suggestion popup for input map(raster and vector)&lt;br /&gt;
* read GRASS GIS data from a user through HTML5 File API&lt;br /&gt;
* allow user to download data in GRASS Format&lt;br /&gt;
* a lot more :)&lt;br /&gt;
* Anyone intersted in development please do contact me rashadkm [*] gmail (dot) com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video demo old version ==&lt;br /&gt;
{{YouTube|ysoZHeKYncs}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=11378</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=11378"/>
		<updated>2010-09-08T21:37:21Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: added wx.class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Browse also wxGUI related [[:Category:WxGUI|articles or screenshots]].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:WxGUI|Screenshots from GRASSWiki]]&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxnviz-volumes.png|300px|thumb|center|wxGUI: Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
=== Import vector data ===&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-shp-file.html Importing single shapefile]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-shp-dir.html Importing multiple shapefiles]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-spatialite.html Importing SpatiaLite layers]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-postgis.html Importing PostGIS layers]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html Georectifing raster data]&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeler ===&lt;br /&gt;
&lt;br /&gt;
Note: GRASS 6.5+ required.&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-modeler-0.html Creating simple model]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-modeler-1.html Define intermediate data]&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
Note: GRASS 6.5+ required.&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-search-module.html Searching GRASS module]&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-mapcalc.html Calculating NDVI]&lt;br /&gt;
&lt;br /&gt;
=== wxGUI 3D view mode (wxNviz) ===&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxnviz-loading-data.html Loading data, settings layer properties]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxnviz-fringe.html Visualizing fringes]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxnviz-volumes.html 3D raster maps (volumes) in the space]&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:wxgrass-gis-manager-layer.png|350px|thumb|2007/12]] || [[Image:wxgrass-gis-manager-output.png|350px|thumb|2007/12]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass rgb.png|350px|thumb|2008/02]] || [[Image:wxgui-layer-manager-70.png|350px|thumb|2010/08]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[Georeferencing]].&lt;br /&gt;
&lt;br /&gt;
; Tutorials&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html Georectifing raster data]&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development (Google Summer of Code 2008/2010).&lt;br /&gt;
&lt;br /&gt;
See detailed information at [[wxNVIZ]] page and original TCL/TK {{cmd|version=64|nviz}} manual page.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxnviz-volumes.png|640px|thumb|center|Displaying raster (surface), 2D vector and 3D raster (volume) in the 3D space.]]&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical Modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
See [[wxGUI Modeler]] page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extension Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/install-addons.html wxGUI Extension Manager]&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-em.png|center|thumb|500px|wxGUI Extension Manager]]&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-mapcalc.png|center|thumb|500px|wxGUI Map Calculator]]&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Catalog.png|350px|thumb|center|Data Catalog ]]&lt;br /&gt;
| [[Image:Aspect.png|350px|thumb|center|Data Catalog]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
* Can connect with OssimPlanet using PlanetSasha&lt;br /&gt;
* Add and Remove maps from GRASS GIS to OssimPlanet(Send to OssimPlanet/Remove from OssimPlanet)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Create a properties window to display Coordinate system &amp;amp; projection for each map&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wx.class ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/wx.class wx.class]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:wx.class1.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class2.png|350px|thumb|center|wx.class]]&lt;br /&gt;
| [[Image:wx.class3.png|350px|thumb|center|wx.class]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* Does not require xterm&lt;br /&gt;
* works on windows which is not currently available&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* Proper view of histogram using python-matplotlib&lt;br /&gt;
* To work on other datset (currently works for nc_spm_08)&lt;br /&gt;
* Needs a code cleanup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' layout similar to QGIS (with a legend attached to each display) or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of the layer manager and display windows to keep the windows closer&lt;br /&gt;
* do not allow module windows to stay open. That is, get rid of the apply button and force each window to close when OK is pressed (QGIS/ArcGIS approach). This leaves only the display(s) and single legend/layer manager on desktop.&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''New solution: see [[WxGUI#Data_Catalog]] above.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====What others do====&lt;br /&gt;
&lt;br /&gt;
'''SDI: (each document opened in application occupies a window on the desktop)'''&lt;br /&gt;
* GRASS: display window for each document (i.e., set of maps displayed) opened on desktop; one legend/layer manager window for all display windows; ; each module/function opens a separate window on the desktop&lt;br /&gt;
* QGIS: display window for each document (i.e., set of maps displayed) opened on the desktop; legend/layer manager window attached to each display window; each module/function opens a separate window on the desktop (e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png)&lt;br /&gt;
* ArcGIS: similar to QGIS with combined legend/display for each document (set of maps displayed); each module/function opens a separate window on the desktop (e.g. http://upload.wikimedia.org/wikipedia/en/9/92/ArcMap.jpg)&lt;br /&gt;
* MapInfo (pre Pitney Bowes): each document opens a map display window on the desktop; single legend/toolbox opened on the desktop controls all visible documents (i.e., map displays); each module/function opens a separate window on the desktop (similar to current GRASS layout)&lt;br /&gt;
&lt;br /&gt;
'''MDI: (a single frame is opened for the application on the desktop; all documents opened inside the application frame)'''&lt;br /&gt;
* SAGA: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455)&lt;br /&gt;
* Ossim: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.ossim.org/OSSIM/Albums/Pages/ImageLinker.html)&lt;br /&gt;
* Idrisi: similar to SAGA and Ossim (http://www.clarklabs.org/products/idrisi-taiga.cfm)&lt;br /&gt;
* MapInfo (Pitney Bowes): Seems to be like Saga (http://www.pbinsight.com/support/training/video-tutorials/)&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
{{wxGUI}}&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Wx.class3.png&amp;diff=11377</id>
		<title>File:Wx.class3.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Wx.class3.png&amp;diff=11377"/>
		<updated>2010-09-08T21:36:05Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: Histogram drawn for a different training area&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Histogram drawn for a different training area&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Wx.class2.png&amp;diff=11376</id>
		<title>File:Wx.class2.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Wx.class2.png&amp;diff=11376"/>
		<updated>2010-09-08T21:34:40Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: histogram drawn using wxpython paintDC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;histogram drawn using wxpython paintDC&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Wx.class1.png&amp;diff=11375</id>
		<title>File:Wx.class1.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Wx.class1.png&amp;diff=11375"/>
		<updated>2010-09-08T21:33:30Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: wx.class region drawing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;wx.class region drawing&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Translation_Team&amp;diff=11372</id>
		<title>GRASS Translation Team</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Translation_Team&amp;diff=11372"/>
		<updated>2010-09-07T12:23:23Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Malayalam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
* Currently, [http://grass.osgeo.org/devel/i18n.php#statistics GRASS messages] are (partly) translated to 18 languages&lt;br /&gt;
: (cs,de,es,fr,hi,it,ja,ko,lv,mr,pl,pt_br,ru,sl,tr,vi,zh). &lt;br /&gt;
&lt;br /&gt;
* Free [http://gdf-hannover.de/media.php?lg=en GRASS literature from GDF Hannover] is translated to five languages&lt;br /&gt;
: (cs, de, fr, zh_CN, en). &lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/index.html GRASS manual pages] are [[Updating GRASS Documentation#Translations|not yet translated]].&lt;br /&gt;
&lt;br /&gt;
* Translation support pages:&lt;br /&gt;
: - [[GRASS messages translation]]&lt;br /&gt;
: - [[GRASS Translation Glossary]]&lt;br /&gt;
: - [[Updating GRASS Documentation#Translations]]&lt;br /&gt;
: - [http://grass.osgeo.org/devel/i18n.php#statistics Project translation statistics]&lt;br /&gt;
&lt;br /&gt;
==Members of Translation Team==&lt;br /&gt;
&lt;br /&gt;
''The list is yet incomplete (see [http://trac.osgeo.org/grass/browser/grass/trunk/translators.csv here] for full list)!''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===[http://grass.fsv.cvut.cz/wiki/index.php/Lokalizace Arabic]===&lt;br /&gt;
&lt;br /&gt;
;Dr Alaa Ahmed Masoud&lt;br /&gt;
[[Image:Alaa5.jpg|100px|thumb|Dr Alaa Ahmed Masoud]]&lt;br /&gt;
* Location: Tanta, Egypt&lt;br /&gt;
* mail: alaamasoud@hotmail.com&lt;br /&gt;
* http://alaamasoud.tripod.com/&lt;br /&gt;
&lt;br /&gt;
===[http://grass.fsv.cvut.cz/wiki/index.php/Lokalizace Czech]===&lt;br /&gt;
;Martin Landa&lt;br /&gt;
[[Image:Mlanda.png|thumb|Martin Landa]]&lt;br /&gt;
* Location: Prague, Czech Republic&lt;br /&gt;
* mail: landa.martin at gmail.com&lt;br /&gt;
* http://gama.fsv.cvut.cz/wiki/index.php/Martin_Landa&lt;br /&gt;
&lt;br /&gt;
;Jáchym Čepický&lt;br /&gt;
[[Image:Jachym.png|thumb|Jáchym Čepický]]&lt;br /&gt;
* Location: Hannover, Germany&lt;br /&gt;
* mail: GRASS developers mailing list&lt;br /&gt;
* http://les-ejk.cz&lt;br /&gt;
&lt;br /&gt;
;Záboj Hrázský&lt;br /&gt;
[[Image:Zaboj.png|100px|thumb|Záboj Hrázský]]&lt;br /&gt;
* Location: Sobětuchy, Czech Republic&lt;br /&gt;
* mail: GRASS developers mailing list&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
===German===&lt;br /&gt;
;Robert Nuske&lt;br /&gt;
* Location: Göttingen, Germany&lt;br /&gt;
* mail: GRASS User and Developer mailing list&lt;br /&gt;
&lt;br /&gt;
;Stephan Holl&lt;br /&gt;
[[Image:Holl.png|100px|thumb|Stephan Holl]]&lt;br /&gt;
* Location: Hannover, Germany&lt;br /&gt;
* mail: GRASS developers mailing list&lt;br /&gt;
* http://www.holl-land.de/blog&lt;br /&gt;
&lt;br /&gt;
;Otto Dassau&lt;br /&gt;
* Location: Hannover, Germany&lt;br /&gt;
* mail: GRASS User and Developer mailing list&lt;br /&gt;
&lt;br /&gt;
===French===&lt;br /&gt;
;Vincent Bain&lt;br /&gt;
* Checks and corrections on GRASS 6 French documentation&lt;br /&gt;
* Location : France (Rhône-Alpes)&lt;br /&gt;
* mail : GRASS French Discussions List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Daniel Calvelo Aros&lt;br /&gt;
* GRASS messages translation [2004-2005]&lt;br /&gt;
* Location : Peru&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Laurent Courty&lt;br /&gt;
* GRASS messages translation [2005-&amp;gt;], GRASS French glossary&lt;br /&gt;
* Location : France (Bourgogne)&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Thierry Gonon&lt;br /&gt;
* MacOS GRASS start-up screens translation&lt;br /&gt;
* Location : France (Rhône-Alpes)&lt;br /&gt;
* mail : GRASS French Discussions List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Jean-Denis Guiguère&lt;br /&gt;
* GRASS French glossary&lt;br /&gt;
* Location : Sherbrooke, Canada&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://www.usherbrooke.ca/geotel/temoignages/j_d_giguere.html&lt;br /&gt;
&lt;br /&gt;
;Moritz Lennert&lt;br /&gt;
* GRASS 5 French tutorial for beginners (author &amp;amp; translator)&lt;br /&gt;
* Location : Bruxelles, Belgium&lt;br /&gt;
* mail : GRASS French Discussions List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Eve Rousseau&lt;br /&gt;
* GRASS 6 French documentation, GRASS messages [2006-&amp;gt;], glossary&lt;br /&gt;
* Location : France&lt;br /&gt;
* mail : GRASS Translations, GRASS French Discussions List&lt;br /&gt;
* http://www.portailsig.org/&lt;br /&gt;
&lt;br /&gt;
;Emmanuel Sarraco&lt;br /&gt;
* GRASS messages translation [2004-2005]&lt;br /&gt;
* Location : France&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
===Italian===&lt;br /&gt;
;Luca Delucchi&lt;br /&gt;
* Location : Genova/Trento (Italy)&lt;br /&gt;
* mail : lucadeluge at gmail.com&lt;br /&gt;
* http://www.lucadelu.org&lt;br /&gt;
&lt;br /&gt;
===Malayalam===&lt;br /&gt;
;Mohammed Rashad&lt;br /&gt;
* Location: Kerala, India&lt;br /&gt;
* mail: rashadkm at gmail.com&lt;br /&gt;
* http://keralainfo.web4all.in&lt;br /&gt;
&lt;br /&gt;
===Polish===&lt;br /&gt;
;Milena Nowotarska&lt;br /&gt;
* GRASS messages translation [2008-2010]&lt;br /&gt;
* Location : Szczecin, Poland&lt;br /&gt;
* mail : do.milenki AT gmail DOT com&lt;br /&gt;
* http://wiki.osgeo.org/wiki/Milena_Nowotarska&lt;br /&gt;
&lt;br /&gt;
[[Category: Community]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10878</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10878"/>
		<updated>2010-05-16T11:26:23Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
=== Import vector data ===&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-shp-file.html Importing single shapefile]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-shp-dir.html Importing multiple shapefiles]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-spatialite.html Importing SpatiaLite layers]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/import-postgis.html Importing PostGIS layers]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html Georectifing raster data]&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeler ===&lt;br /&gt;
&lt;br /&gt;
Note: GRASS 6.5+ required.&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-modeler-0.html Creating simple model]&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-modeler-1.html Define intermediate data]&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
Note: GRASS 6.5+ required.&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-search-module.html Searching GRASS module]&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/wxgui-mapcalc.html Calculating NDVI]&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[Georeferencing]].&lt;br /&gt;
&lt;br /&gt;
; Tutorials&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/georect.html Georectifing raster data]&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical Modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
See [[wxGUI Modeler]] page for more information.&lt;br /&gt;
&lt;br /&gt;
=== Extension Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development&lt;br /&gt;
&lt;br /&gt;
* [http://gama.fsv.cvut.cz/~landa/grass/swf/install-addons.html wxGUI Extension Manager]&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-em.png|center|thumb|640px|wxGUI Extension Manager]]&lt;br /&gt;
&lt;br /&gt;
=== Map Calculator ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgui-mapcalc.png|center|thumb|640px|wxGUI Map Calculator]]&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Catalog.png|350px|thumb|center|Data Catalog ]]&lt;br /&gt;
| [[Image:Aspect.png|350px|thumb|center|Data Catalog]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
* Can connect with OssimPlanet using PlanetSasha&lt;br /&gt;
* Add and Remove maps from GRASS GIS to OssimPlanet(Send to OssimPlanet/Remove from OssimPlanet)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Create a properties window to display Coordinate system &amp;amp; projection for each map&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' layout similar to QGIS (with a legend attached to each display) or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of the layer manager and display windows to keep the windows closer&lt;br /&gt;
* do not allow module windows to stay open. That is, get rid of the apply button and force each window to close when OK is pressed (QGIS/ArcGIS approach). This leaves only the display(s) and single legend/layer manager on desktop.&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''New solution: see [[WxGUI#Data_Catalog]] above.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====What others do====&lt;br /&gt;
&lt;br /&gt;
'''SDI: (each document opened in application occupies a window on the desktop)'''&lt;br /&gt;
* GRASS: display window for each document (i.e., set of maps displayed) opened on desktop; one legend/layer manager window for all display windows; ; each module/function opens a separate window on the desktop&lt;br /&gt;
* QGIS: display window for each document (i.e., set of maps displayed) opened on the desktop; legend/layer manager window attached to each display window; each module/function opens a separate window on the desktop (e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png)&lt;br /&gt;
* ArcGIS: similar to QGIS with combined legend/display for each document (set of maps displayed); each module/function opens a separate window on the desktop (e.g. http://upload.wikimedia.org/wikipedia/en/9/92/ArcMap.jpg)&lt;br /&gt;
* MapInfo (pre Pitney Bowes): each document opens a map display window on the desktop; single legend/toolbox opened on the desktop controls all visible documents (i.e., map displays); each module/function opens a separate window on the desktop (similar to current GRASS layout)&lt;br /&gt;
&lt;br /&gt;
'''MDI: (a single frame is opened for the application on the desktop; all documents opened inside the application frame)'''&lt;br /&gt;
* SAGA: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455)&lt;br /&gt;
* Ossim: single application frame opened on the desktop; all documents (display windows) open inside application frame; one legend/layer manager for all display windows; each module/function opens a separate window inside the frame (http://www.ossim.org/OSSIM/Albums/Pages/ImageLinker.html)&lt;br /&gt;
* Idrisi: similar to SAGA and Ossim (http://www.clarklabs.org/products/idrisi-taiga.cfm)&lt;br /&gt;
* MapInfo (Pitney Bowes): Seems to be like Saga (http://www.pbinsight.com/support/training/video-tutorials/)&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Translation_Team&amp;diff=10797</id>
		<title>GRASS Translation Team</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Translation_Team&amp;diff=10797"/>
		<updated>2010-05-01T11:17:18Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
* Currently, [http://grass.osgeo.org/devel/i18n.php#statistics GRASS messages] are (partly) translated to 18 languages&lt;br /&gt;
: (cs,de,es,fr,hi,it,ja,ko,lv,mr,pl,pt_br,ru,sl,tr,vi,zh). &lt;br /&gt;
&lt;br /&gt;
* Free [http://gdf-hannover.de/media.php?lg=en GRASS literature from GDF Hannover] is translated to five languages&lt;br /&gt;
: (cs, de, fr, zh_CN, en). &lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/index.html GRASS manual pages] are [[Updating GRASS Documentation#Translations|not yet translated]].&lt;br /&gt;
&lt;br /&gt;
* Translation support pages:&lt;br /&gt;
: - [[GRASS messages translation]]&lt;br /&gt;
: - [[GRASS Translation Glossary]]&lt;br /&gt;
: - [[Updating GRASS Documentation#Translations]]&lt;br /&gt;
: - [http://grass.osgeo.org/devel/i18n.php#statistics Project translation statistics]&lt;br /&gt;
&lt;br /&gt;
==Members of Translation Team==&lt;br /&gt;
&lt;br /&gt;
''The list is yet incomplete (see [http://trac.osgeo.org/grass/browser/grass/trunk/translators.csv here] for full list)!''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===[http://grass.fsv.cvut.cz/wiki/index.php/Lokalizace Arabic]===&lt;br /&gt;
&lt;br /&gt;
;Dr Alaa Ahmed Masoud&lt;br /&gt;
[[Image:Alaa5.jpg|100px|thumb|Dr Alaa Ahmed Masoud]]&lt;br /&gt;
* Location: Tanta, Egypt&lt;br /&gt;
* mail: alaamasoud@hotmail.com&lt;br /&gt;
* http://alaamasoud.tripod.com/&lt;br /&gt;
&lt;br /&gt;
===[http://grass.fsv.cvut.cz/wiki/index.php/Lokalizace Czech]===&lt;br /&gt;
;Martin Landa&lt;br /&gt;
[[Image:Mlanda.png|thumb|Martin Landa]]&lt;br /&gt;
* Location: Prague, Czech Republic&lt;br /&gt;
* mail: landa.martin at gmail.com&lt;br /&gt;
* http://gama.fsv.cvut.cz/wiki/index.php/Martin_Landa&lt;br /&gt;
&lt;br /&gt;
;Jáchym Čepický&lt;br /&gt;
[[Image:Jachym.png|thumb|Jáchym Čepický]]&lt;br /&gt;
* Location: Hannover, Germany&lt;br /&gt;
* mail: GRASS developers mailing list&lt;br /&gt;
* http://les-ejk.cz&lt;br /&gt;
&lt;br /&gt;
;Záboj Hrázský&lt;br /&gt;
[[Image:Zaboj.png|100px|thumb|Záboj Hrázský]]&lt;br /&gt;
* Location: Sobětuchy, Czech Republic&lt;br /&gt;
* mail: GRASS developers mailing list&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
===German===&lt;br /&gt;
;Robert Nuske&lt;br /&gt;
* Location: Göttingen, Germany&lt;br /&gt;
* mail: GRASS User and Developer mailing list&lt;br /&gt;
&lt;br /&gt;
;Stephan Holl&lt;br /&gt;
[[Image:Holl.png|100px|thumb|Stephan Holl]]&lt;br /&gt;
* Location: Hannover, Germany&lt;br /&gt;
* mail: GRASS developers mailing list&lt;br /&gt;
* http://www.holl-land.de/blog&lt;br /&gt;
&lt;br /&gt;
;Otto Dassau&lt;br /&gt;
* Location: Hannover, Germany&lt;br /&gt;
* mail: GRASS User and Developer mailing list&lt;br /&gt;
&lt;br /&gt;
===French===&lt;br /&gt;
;Vincent Bain&lt;br /&gt;
* Checks and corrections on GRASS 6 French documentation&lt;br /&gt;
* Location : France (Rhône-Alpes)&lt;br /&gt;
* mail : GRASS French Discussions List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Daniel Calvelo Aros&lt;br /&gt;
* GRASS messages translation [2004-2005]&lt;br /&gt;
* Location : Peru&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Laurent Courty&lt;br /&gt;
* GRASS messages translation [2005-&amp;gt;], GRASS French glossary&lt;br /&gt;
* Location : France (Bourgogne)&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Thierry Gonon&lt;br /&gt;
* MacOS GRASS start-up screens translation&lt;br /&gt;
* Location : France (Rhône-Alpes)&lt;br /&gt;
* mail : GRASS French Discussions List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Jean-Denis Guiguère&lt;br /&gt;
* GRASS French glossary&lt;br /&gt;
* Location : Sherbrooke, Canada&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://www.usherbrooke.ca/geotel/temoignages/j_d_giguere.html&lt;br /&gt;
&lt;br /&gt;
;Moritz Lennert&lt;br /&gt;
* GRASS 5 French tutorial for beginners (author &amp;amp; translator)&lt;br /&gt;
* Location : Bruxelles, Belgium&lt;br /&gt;
* mail : GRASS French Discussions List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
;Eve Rousseau&lt;br /&gt;
* GRASS 6 French documentation, GRASS messages [2006-&amp;gt;], glossary&lt;br /&gt;
* Location : France&lt;br /&gt;
* mail : GRASS Translations, GRASS French Discussions List&lt;br /&gt;
* http://www.portailsig.org/&lt;br /&gt;
&lt;br /&gt;
;Emmanuel Sarraco&lt;br /&gt;
* GRASS messages translation [2004-2005]&lt;br /&gt;
* Location : France&lt;br /&gt;
* mail : GRASS Translations List&lt;br /&gt;
* http://&lt;br /&gt;
&lt;br /&gt;
===Italian===&lt;br /&gt;
;Luca Delucchi&lt;br /&gt;
* Location : Genova/Trento (Italy)&lt;br /&gt;
* mail : lucadeluge at gmail.com&lt;br /&gt;
* http://www.lucadelu.org&lt;br /&gt;
&lt;br /&gt;
===Malayalam===&lt;br /&gt;
;Mohammed Rashad&lt;br /&gt;
[[Image:rashadkm.png|thumb|Mohammed Rashad]]&lt;br /&gt;
* Location: Kerala, India&lt;br /&gt;
* mail: rashadkm at gmail.com&lt;br /&gt;
* http://keralainfo.web4all.in&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Rashadkm.png&amp;diff=10796</id>
		<title>File:Rashadkm.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Rashadkm.png&amp;diff=10796"/>
		<updated>2010-05-01T11:14:12Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10265</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10265"/>
		<updated>2010-02-03T17:51:36Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|right|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Catalog.png|thumb|300px|DataCatalog 3]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Viewing other formats.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Catalog.png&amp;diff=10264</id>
		<title>File:Catalog.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Catalog.png&amp;diff=10264"/>
		<updated>2010-02-03T17:47:47Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: GRASS GIS DataCatalog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GRASS GIS DataCatalog&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10249</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10249"/>
		<updated>2010-01-27T15:08:47Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|right|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Data_catalog_4.png|thumb|300px|DataCatalog 1]] ||&lt;br /&gt;
  [[Image:Data_catalog_5.png|thumb|300px|DataCatalog 2]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Data_catalog_6.png|thumb|300px|DataCatalog 3]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Viewing other formats.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10248</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10248"/>
		<updated>2010-01-27T15:07:55Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */ new displays&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|right|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Data_catalog_3.png|thumb|300px|DataCatalog 1]] ||&lt;br /&gt;
  [[Image:Data_catalog_4.png|thumb|300px|DataCatalog 2]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Data_catalog_5.png|thumb|300px|DataCatalog 3]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Viewing other formats.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_6.png&amp;diff=10247</id>
		<title>File:Data catalog 6.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_6.png&amp;diff=10247"/>
		<updated>2010-01-27T15:05:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: data catalog with no map layers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;data catalog with no map layers&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_5.png&amp;diff=10246</id>
		<title>File:Data catalog 5.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_5.png&amp;diff=10246"/>
		<updated>2010-01-27T15:04:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: data catalog with vector digitizer tool &amp;amp; map display&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;data catalog with vector digitizer tool &amp;amp; map display&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_4.png&amp;diff=10245</id>
		<title>File:Data catalog 4.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_4.png&amp;diff=10245"/>
		<updated>2010-01-27T15:02:38Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: data catalog with simple map display&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;data catalog with simple map display&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_1.png&amp;diff=10244</id>
		<title>File:Data catalog 1.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_1.png&amp;diff=10244"/>
		<updated>2010-01-27T14:56:55Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: uploaded a new version of &amp;quot;File:Data catalog 1.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10225</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10225"/>
		<updated>2010-01-23T09:28:32Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|right|thumb|350px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Data_catalog_1.png|right|thumb|300px|DataCatalog 1]]&lt;br /&gt;
[[Image:Data_catalog_2.png|left|thumb|300px|DataCatalog 1]]&lt;br /&gt;
[[Image:Aspect.png|center|thumb|300px|Data Catalog Map Dislay]]&lt;br /&gt;
[[Image:lsat_2002_10.png|center|thumb|300px|Data Catalog Another Map Display]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
;To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Viewing other formats.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP (Cygwin)&lt;br /&gt;
| win32&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10218</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=10218"/>
		<updated>2010-01-22T15:05:29Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */  updated with screens&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|600px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
[[Image:Data_catalog_1.png|left|thumb|520px|DataCatalog 1]]&lt;br /&gt;
[[Image:Data_catalog_2.png|right|thumb|520px|DataCatalog 1]]&lt;br /&gt;
[[Image:Aspect.png|center|thumb|900px|Map Dislay]]&lt;br /&gt;
[[Image:lsat_2002_10.png|center|thumb|900px|Another Map Display]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Viewing other formats.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Lsat_2002_10.png&amp;diff=10217</id>
		<title>File:Lsat 2002 10.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Lsat_2002_10.png&amp;diff=10217"/>
		<updated>2010-01-22T14:48:55Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Aspect.png&amp;diff=10216</id>
		<title>File:Aspect.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Aspect.png&amp;diff=10216"/>
		<updated>2010-01-22T14:48:18Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_2.png&amp;diff=10215</id>
		<title>File:Data catalog 2.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_2.png&amp;diff=10215"/>
		<updated>2010-01-22T14:47:09Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_1.png&amp;diff=10214</id>
		<title>File:Data catalog 1.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Data_catalog_1.png&amp;diff=10214"/>
		<updated>2010-01-22T14:45:20Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9849</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9849"/>
		<updated>2009-10-30T17:17:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|600px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current Features:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (raster &amp;amp; vector) in current mapset.&lt;br /&gt;
* view raster &amp;amp; vector map layers from any location and any mapset.&lt;br /&gt;
* Provides a GUI wrapper for r.info &amp;amp; v.info grass commands while viewing map layers in mapwindow.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
To be implemented:&lt;br /&gt;
&lt;br /&gt;
* copy, move map layers in different mapsets.&lt;br /&gt;
* View DBF files as tables.&lt;br /&gt;
* Copy, delete, rename DBF files.&lt;br /&gt;
* Modify attribute tables.&lt;br /&gt;
* Viewing other formats.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9848</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9848"/>
		<updated>2009-10-30T16:53:49Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|600px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog Data Catalog]&lt;br /&gt;
&lt;br /&gt;
Design complex GUI for map layers management allowing:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (current mapset)&lt;br /&gt;
* copy, move map layers in different mapsets&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9847</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9847"/>
		<updated>2009-10-30T16:51:37Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|600px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog DataCatalog]&lt;br /&gt;
Design complex GUI for map layers management allowing:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (current mapset)&lt;br /&gt;
* copy, move map layers in different mapsets&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9846</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9846"/>
		<updated>2009-10-30T16:50:30Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|600px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/gui/wxpython/data_catalog DataCatalog]&lt;br /&gt;
Design complex GUI for map layers management allowing:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (current mapset)&lt;br /&gt;
* copy, move map layers in different mapsets&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9709</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9709"/>
		<updated>2009-10-16T09:58:50Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|600px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Under development.&lt;br /&gt;
&lt;br /&gt;
Design complex GUI for map layers management allowing:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (current mapset)&lt;br /&gt;
* copy, move map layers in different mapsets&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9708</id>
		<title>WxPython-based GUI for GRASS</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=WxPython-based_GUI_for_GRASS&amp;diff=9708"/>
		<updated>2009-10-16T09:57:27Z</updated>

		<summary type="html">&lt;p&gt;⚠️Rashadkm: /* Data Catalog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also [[GRASS GUI]], [[GRASS and Python]] and [[GRASS SoC Ideas 2009‎]].&lt;br /&gt;
&lt;br /&gt;
For developer-related issues see [http://trac.osgeo.org/grass/wiki/wxGUIDevelopment Trac wxGUI page].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.html Manual page]&lt;br /&gt;
* A nice summary of the progress to date, written by Jachym Cepicky:&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-1 Part 1]&lt;br /&gt;
** [http://www.les-ejk.cz/english/wxgrass-new-grass-gui-2 Part 2]&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
 &lt;br /&gt;
* [http://svn.osgeo.org/grass/grass/trunk/gui/wxpython/README README]&lt;br /&gt;
&lt;br /&gt;
=== Development ===&lt;br /&gt;
&lt;br /&gt;
Do you want to help with the development?&lt;br /&gt;
&lt;br /&gt;
* basic Python programming ability required&lt;br /&gt;
* GUI programming experience welcomed (especially wxPython)&lt;br /&gt;
* GRASS user (or better developer) experience &lt;br /&gt;
&lt;br /&gt;
How to get [http://trac.osgeo.org/grass/wiki/HowToContribute write access] to the GRASS SVN repository.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython SVN]&lt;br /&gt;
* [http://grass.osgeo.org/screenshots/gui.php Website screenshot page]&lt;br /&gt;
* Various screenshots from [[:Category:WxGUI|GRASS-Wiki]]&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-gnulinux.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vdigit1-gnulinux.png|300px|thumb|Vector digitizer]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm0-gnulinux.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-vector-querying-gnulinux.png|300px|thumb|Querying vector map layers (attribute data)]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OS ===&lt;br /&gt;
&lt;br /&gt;
=== MS Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-startup-windows1.png|300px|thumb|Start-up screen]]&lt;br /&gt;
|| &lt;br /&gt;
[[Image:Wxgui-d-vect-windows.png|300px|thumb|GUI dialog d.vect]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-atm-windows.png|300px|thumb|Attribute Table Manager]]&lt;br /&gt;
||&lt;br /&gt;
[[Image:Wxgui-r-buffer-windows.png|300px|thumb|Running command (r.buffer)]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:Wxgui-vector-querying-windows.png|300px|thumb|Querying vector map layer (editable mode)]]&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== Layer Manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
The '''GRASS GIS Layer Manager''' provides an interactive graphical interface to GRASS commands. The Layer Manager includes a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management), toolbar that manage display map layers in map display windows, layer tree in which map layers to display are organized, command output window and integrated command line prompt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:wxgrass-gis-manager-layer.png|350px]] || [[Image:wxgrass-gis-manager-output.png|350px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Wxgrass rgb.png|350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map display window ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Each '''Map display window''' has a unique set of layers to display and region setting (zoom). The map display window includes main toolbar with basic tools including zooming, panning, data querying, simple analyse functions (measure, profile, histogram, etc.), overlay management, etc. From main toolbar are accessible additional toolbars, currently only Digitization tool is available. Under development is Georectification tool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgrass-mapdisplay-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-mapdisplay-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Module GUIs ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Generated from XML using &amp;lt;tt&amp;gt;--interface-description&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;tt&amp;gt;d.rgb --help&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Description:&lt;br /&gt;
 Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
&lt;br /&gt;
Keywords:&lt;br /&gt;
 display&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 d.rgb [-ox] red=name green=name blue=name [--verbose] [--quiet]&lt;br /&gt;
&lt;br /&gt;
Flags:&lt;br /&gt;
  -o   Overlay (non-null values only)&lt;br /&gt;
  -x   Don't add to list of commands in monitor&lt;br /&gt;
 --v   Verbose module output&lt;br /&gt;
 --q   Quiet module output&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
    red   Name of raster map to be used for &amp;lt;red&amp;gt;&lt;br /&gt;
  green   Name of raster map to be used for &amp;lt;green&amp;gt;&lt;br /&gt;
   blue   Name of raster map to be used for &amp;lt;blue&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
becomes with &amp;lt;tt&amp;gt;d.rgb --interface-description&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;!DOCTYPE task SYSTEM &amp;quot;[http://trac.osgeo.org/grass/browser/grass/trunk/gui/xml/grass-interface.dtd grass-interface.dtd]&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;task name=&amp;quot;d.rgb&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;&lt;br /&gt;
                Displays three user-specified raster map layers as red, green, and blue overlays in the active graphics frame.&lt;br /&gt;
        &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;keywords&amp;gt;&lt;br /&gt;
                display&lt;br /&gt;
        &amp;lt;/keywords&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;red&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;red&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;green&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;green&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;parameter name=&amp;quot;blue&amp;quot; type=&amp;quot;string&amp;quot; required=&amp;quot;yes&amp;quot; multiple=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Name of raster map to be used for &amp;amp;lt;blue&amp;amp;gt;&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
                &amp;lt;keydesc&amp;gt;&lt;br /&gt;
                        &amp;lt;item order=&amp;quot;1&amp;quot;&amp;gt;name&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/keydesc&amp;gt;&lt;br /&gt;
                &amp;lt;gisprompt age=&amp;quot;old&amp;quot; element=&amp;quot;cell&amp;quot; prompt=&amp;quot;raster&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/parameter&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;o&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Overlay (non-null values only)&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;x&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Don't add to list of commands in monitor&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;verbose&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Verbose module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
        &amp;lt;flag name=&amp;quot;quiet&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;&lt;br /&gt;
                        Quiet module output&lt;br /&gt;
                &amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;/flag&amp;gt;&lt;br /&gt;
  &amp;lt;/task&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which is then used to generate:&lt;br /&gt;
&lt;br /&gt;
[[Image:wxgrass-d-rgb.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Startup GUI ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Start new GRASS session with&lt;br /&gt;
&lt;br /&gt;
 grass -wxpython&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgrass-startup.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Location wizard ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
Wizard for creating new GRASS project location based on:&lt;br /&gt;
&lt;br /&gt;
* Coordinate system&lt;br /&gt;
* EPSG code&lt;br /&gt;
* Georeferenced file&lt;br /&gt;
* PROJ.4 string&lt;br /&gt;
* XY&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Location Wizard]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-location-wizard.png|center|thumb|600px|Location wizard]]&lt;br /&gt;
&lt;br /&gt;
=== Cartography tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
==== GUI for ps.map ====&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/grass63/manuals/html63_user/ps.map.html ps.map] is a cartographic composer, intended to be a stand-alone hardcopy plot generator. It is not meant to be a '''Print''' button for the maps currently displayed in the map canvas, that will need it own controls.&lt;br /&gt;
&lt;br /&gt;
* The GUI will prepare a semi-WYSIWYG + tree menu controls which can write a ps.map control file, and then run ps.map to create PostScript and PDF output directly. Loading a ps.map control file is harder and can happen later.&lt;br /&gt;
&lt;br /&gt;
* For a start at a Tcl/Tk composer see gui/tcltk/d.m/print.tcl&lt;br /&gt;
: see also these discussions and pyGTK prototype by Jachym Cepicky&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/12469&lt;br /&gt;
:* http://thread.gmane.org/gmane.comp.gis.grass.devel/19368&lt;br /&gt;
&lt;br /&gt;
* Start with most important mapping instructions&lt;br /&gt;
** paper&lt;br /&gt;
** scale&lt;br /&gt;
** maploc&lt;br /&gt;
** rast&lt;br /&gt;
** vects&lt;br /&gt;
** grids&lt;br /&gt;
** scalebar&lt;br /&gt;
** mapinfo&lt;br /&gt;
** text labels&lt;br /&gt;
&lt;br /&gt;
===== Intelligent label placement in ps.map =====&lt;br /&gt;
&lt;br /&gt;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&lt;br /&gt;
&lt;br /&gt;
===== Outputs =====&lt;br /&gt;
&lt;br /&gt;
* ps.map instructions file&lt;br /&gt;
* PostScript file [ps.map instructions tmp file]&lt;br /&gt;
* lpr [PostScript tmp file]&lt;br /&gt;
* PDF File (pstopdf? ps2pdf? GNU Ghostscript?) [PostScript tmp file]&lt;br /&gt;
&lt;br /&gt;
===== Inputs =====&lt;br /&gt;
&lt;br /&gt;
* Ability to load in saved ps.map scripts. I consider this to be a low priority, deal with it after map creation is fully functional. Start with scripts saved using the GUI, after that is working expand to load any ps.map instructions file.&lt;br /&gt;
&lt;br /&gt;
===== Prototype g-ps.map =====&lt;br /&gt;
* [http://les-ejk.cz/files/programs/grass/gpsmap-0.1.2.tgz gpsmap-0.1.2.tgz]&lt;br /&gt;
* [http://les-ejk.cz/tmp/gpsmap.png g-ps.map Screenshot]&lt;br /&gt;
* [http://www.nabble.com/status-of-g-ps.map-tf4465835.html#a12733414 Jachym's posting]&lt;br /&gt;
&lt;br /&gt;
==== Direct printing ====&lt;br /&gt;
&lt;br /&gt;
Implement direct printing of map canvas content using GRASS PS driver or Cairo driver.&lt;br /&gt;
&lt;br /&gt;
* [http://trac.gispython.org/projects/PCL/wiki Python Cartographic Lab]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library OSGeo Cartographic Library]&lt;br /&gt;
** http://lists.osgeo.org/pipermail/discuss/2008-April/003337.html&lt;br /&gt;
** http://www.intevation.de/pipermail/freegis-list/2007-April/003142.html&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/OSGeo_map_symbol_set OSGeo Map Symbol Set]&lt;br /&gt;
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR - Feature Style Specification]&lt;br /&gt;
* [http://trac.osgeo.org/mapguide/wiki/MapGuideRfc14 MapGuide RFC 14 - Cartographic Stylization Engine]&lt;br /&gt;
&lt;br /&gt;
* [http://www.iho.shom.fr/PUBLICATIONS/download.htm#special S-52 standard for nautical chart (ENC) symbology] and cartography from the [http://www.iho.shom.fr/ International Hydrographic Bureau]&lt;br /&gt;
** [http://openev.cvs.sourceforge.net/openev/contrib/S52/ GPL library implementing the S-52 standard] (OpenEV)&lt;br /&gt;
&lt;br /&gt;
* [http://www.opengeospatial.org/standards/symbol OpenGIS Symbology Encoding Implementation Specification]&lt;br /&gt;
&lt;br /&gt;
* [http://geosysin.iict.ch/trac/wiki/Index4extJPAL PAL]&lt;br /&gt;
&lt;br /&gt;
=== Georectifier ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-georectify-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-georectify-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile Analysis Tool ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui-profile-0.png|thumb|350px|center]] ||&lt;br /&gt;
[[Image:Wxgui-profile-1.png|thumb|350px|center]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Vector_Digitizing_Tool.html Manual page].&lt;br /&gt;
&lt;br /&gt;
See also [[GRASS Digitizing tool]].&lt;br /&gt;
&lt;br /&gt;
Replacement of &amp;lt;tt&amp;gt;v.digit&amp;lt;/tt&amp;gt; module integrated to Map display window ([http://svn.osgeo.org/grass/grass-addons/screenshots/wxpython/digitization Screenshots]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxDigit200804.png|thumb|300px|center|Vector digitizer (2008/04)]] ||&lt;br /&gt;
[[Image:Digit-01.png|thumb|300px|center|Vector digitizer (2007/11)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:WxGUI-vdigit-fill-area.png|thumb|300px|center|Vector digitizer - fill valid areas (closed boundary + centroid) (2008/07)]] || &lt;br /&gt;
[[Image:WxGUI-vdigit-bg.png|thumb|300px|center|Vector digitizer - background raster maps with different opacity level (2008/07)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raster digitizer ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* r.digit (merge with v.digit?)&lt;br /&gt;
: Probably write a front end for [http://grass.osgeo.org/grass63/manuals/html63_user/r.in.poly.html r.in.poly], that's all the old r.digit is.&lt;br /&gt;
* d.rast.edit&lt;br /&gt;
: Idea: get cell center coords and new values from GUI interaction, then pass those through r.in.xyz, and r.patch the new values over the top of the old map.&lt;br /&gt;
&lt;br /&gt;
* merge with Georectifier? (i.points, i.vpoints)&lt;br /&gt;
&lt;br /&gt;
===== Category Labels =====&lt;br /&gt;
&lt;br /&gt;
* Write with new r.category import tool&lt;br /&gt;
** ''Back-end component complete: r.category module is now updated to handle a rules= file and other goodies like dynamic labels''&lt;br /&gt;
&lt;br /&gt;
* Read with one of r.category, r.describe, r.report, r.stats, ???&lt;br /&gt;
** probably need to add a new flag to one of those to print flat &amp;lt;tt&amp;gt;&amp;quot;%d %s&amp;quot;, cat, label&amp;lt;/tt&amp;gt;&lt;br /&gt;
: or read the cats/ file directly, it's already flat ascii.&lt;br /&gt;
 &lt;br /&gt;
* how to deal with FP maps &amp;amp; cats?&lt;br /&gt;
&lt;br /&gt;
=== Ortho photos ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
* To replace i.ortho.photo and friends&lt;br /&gt;
&lt;br /&gt;
=== Attribute table manager ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' prototype implemented.&lt;br /&gt;
&lt;br /&gt;
[http://grass.osgeo.org/grass64/manuals/html64_user/wxGUI.Attribute_Table_Manager.html Manual page].&lt;br /&gt;
&lt;br /&gt;
Allows:&lt;br /&gt;
&lt;br /&gt;
* To browse attribute data, perform SQL select statements&lt;br /&gt;
* Modify attribute data, insert new records to attribute table, delete existing records&lt;br /&gt;
* Highlight selected items in Map Display Window&lt;br /&gt;
* Extract selected items into new vector map layer&lt;br /&gt;
* Modify attribute table - add, drop, rename columns&lt;br /&gt;
* Modify vector map layer DB connestion settings - add, remove or modify layers&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui-attribute-table-manager.png|center|thumb|600px|Attribute Table Manager]]&lt;br /&gt;
&lt;br /&gt;
=== NVIZ replacement ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' under development.&lt;br /&gt;
&lt;br /&gt;
Detailed information [[wxNVIZ]].&lt;br /&gt;
&lt;br /&gt;
=== Imagery tools ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' (re)development not started in earnest yet. Some behind-the-scenes code has been prepared, but not much.&lt;br /&gt;
: ''Volunteers welcome!''&lt;br /&gt;
&lt;br /&gt;
=== Graphical modeller ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
=== GEM integration ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass/trunk/gem GEM] is GRASS Extension Manager. Or use the R packages approach.&lt;br /&gt;
&lt;br /&gt;
=== Data Catalog ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development started.&lt;br /&gt;
&lt;br /&gt;
Design complex GUI for map layers management allowing:&lt;br /&gt;
&lt;br /&gt;
* copy, delete, rename map layers (current mapset)&lt;br /&gt;
* copy, move map layers in different mapsets&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Help browser ===&lt;br /&gt;
&lt;br /&gt;
'''Status:''' development not started yet.&lt;br /&gt;
&lt;br /&gt;
For browsing manual pages is currently used web browser, the goal is to design integrated help system.&lt;br /&gt;
: HB: ''We used to have one of these for viewing the help pages of Tcl/Tk NVIZ. We dropped it because it was a pain to maintain and generally outside our core mission so a distraction.''&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* See and report in trac: [http://trac.osgeo.org/grass/query?status=new&amp;amp;status=assigned&amp;amp;status=reopened&amp;amp;component=wxGUI&amp;amp;order=priority List of open issues]&lt;br /&gt;
&lt;br /&gt;
* Warning &amp;quot;widget class `GtkPizza' has no property named `row-ending-details'&amp;quot;, http://trac.osgeo.org/grass/ticket/204&lt;br /&gt;
&lt;br /&gt;
=== Platform specific ===&lt;br /&gt;
&lt;br /&gt;
For the GUI to know what platform it's on, and therefore apply platform specific commands (e.g. append '.exe' to programs) it has to test what platform it is running on. Here we take the experimental approach to learning what's best to use. Please add or generalize this list as you can.&lt;br /&gt;
&lt;br /&gt;
Platform information - start Python from the command line then issue&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.platform&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.name&lt;br /&gt;
 os.environ['OS']&lt;br /&gt;
 &lt;br /&gt;
 import platform&lt;br /&gt;
 platform.system()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Results:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Platform &lt;br /&gt;
! sys.platform&lt;br /&gt;
! os.name&lt;br /&gt;
! os.environ['OS']&lt;br /&gt;
! platform.system()&lt;br /&gt;
|-&lt;br /&gt;
| 32bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 64bit GNU/Linux&lt;br /&gt;
| linux2&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Linux&lt;br /&gt;
|-&lt;br /&gt;
| 32bit Mac OSX (PowerPC G4)&lt;br /&gt;
| darwin&lt;br /&gt;
| posix&lt;br /&gt;
| ''n/a''&lt;br /&gt;
| Darwin&lt;br /&gt;
|-&lt;br /&gt;
| 64bit Mac OSX (Intel)&lt;br /&gt;
| [1] see note&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 32bit MS Windows XP&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|-&lt;br /&gt;
| 64bit MS Windows Vista&lt;br /&gt;
| win32&lt;br /&gt;
| nt&lt;br /&gt;
| Windows_NT&lt;br /&gt;
| Windows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[1] On Fri, May 29, 2009 at 10:49 PM, William Kyngesburye wrote:&lt;br /&gt;
: ''Right now the GUI only runs 32bit, even if the rest of GRASS is 64bit, because it's not yet possible for wxPython to be 64bit.  It comes out the same as PPC 32bit - no distinction between ppc/intel or 32/64 bit, it's all darwin. (yes, I checked, and I have a custom 64bit python executable to verify)''&lt;br /&gt;
&lt;br /&gt;
== General GUI Design ==&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&lt;br /&gt;
For some users, the current approach of separate windows (SDI) leads to a windows flooding. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen: [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance!&lt;br /&gt;
&lt;br /&gt;
'''Proposed solutions:'''&lt;br /&gt;
* implement ''optional'' MDI (layout similar to QGIS or [http://sourceforge.net/dbimage.php?id=215336 GSDView] etc) (see figure below)&lt;br /&gt;
* implement ''optional'' magnetic docking of wxGUI windows to keep the windows closer&lt;br /&gt;
* If you otherwise wish to continue using your current WM, file a bug report with them asking for better multi-head support and get the problem fixed at the source. (there probably already is a bug filed with tips in it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Wxgui_current.png|350px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
| [[Image:Wxgui_proposal.png|350px|thumb|center|'''Proposal''' for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''What others do:'''&lt;br /&gt;
* QGIS: all basic parts in one frame with legend integrated: e.g. http://grass.osgeo.org/grass61/screenshots/images/qgis08_grass6_toolbox.png&lt;br /&gt;
* SAGA: several windows in one frame: http://www.saga-gis.uni-goettingen.de/html/images/bild8.gif  and http://sourceforge.net/dbimage.php?id=44455&lt;br /&gt;
&lt;br /&gt;
'''''See also'''''&lt;br /&gt;
* Solution to the problem: [http://www.wxwidgets.org/manuals/stable/wx_wxlayoutalgorithm.html wxLayoutAlgorithm]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Multiple_document_interface Multiple document interface] (MDI, windows reside under a single parent window)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Single_document_interface Single document interface] (SDI, separate windows, currently used for wxGUI)&lt;br /&gt;
* and [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] (HIG)&lt;br /&gt;
&lt;br /&gt;
== HowTo ==&lt;br /&gt;
&lt;br /&gt;
* [[Import DXF]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.poromenos.org/tutorials/python 10 minutes Python tutorial] for programmers of other languages&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|Martin Landa]]: [http://gama.fsv.cvut.cz/~landa/publications/2008/gis-ostrava-08/paper/landa-grass-gui-wxpython.pdf New GUI for GRASS GIS based on wxPython] ([http://gis2008.com/indexe.html GIS Ostrava 2008], January 27-30, 2008, Ostrava, Czech Republic)&lt;br /&gt;
* [[User:Landa|Martin Landa]], Cristina Moretto, Michele Zanolli, Luca Manganelli and Markus Neteler: [http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf wxPython-based GUI for GRASS GIS] ([http://gama.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/prezentazione/perugia-grass-gui-wxpython.pdf presentation]) ([http://www.grassmeeting2008.unipg.it IX Meeting degli Utenti Italiani di GRASS - GFOSS], February 20-22, Perugia, Italy)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:GUI]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>⚠️Rashadkm</name></author>
	</entry>
</feed>