AddOns: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(clarify)
 
(11 intermediate revisions by 4 users not shown)
Line 2: Line 2:


__TOC__
__TOC__
== Overview ==
'''[http://grass.osgeo.org/grass8/manuals/addons/ GRASS GIS 8 Addons Manual pages] - a complete overview of available Addons'''


== Building and installing AddOns ==
== Building and installing AddOns ==
Line 25: Line 29:
== AddOns source code repository ==
== AddOns source code repository ==


The AddOns source code is hosted in [http://svn.osgeo.org/grass/grass-addons/ GRASS-AddOns SVN repository].
The AddOns source code is hosted in [https://github.com/osgeo/grass-addons GRASS-AddOns Github repository].


== Adding something new ==
== Adding something new ==


=== How to obtain write-access ===
=== How to obtain write-access ===
 
While read access is granted to the public, for submissions you best fork this repository, insert your addon or fix an existing one in a new branch and finally open a [https://github.com/OSGeo/grass-addons/pulls pull request].
Please read [http://trac.osgeo.org/grass/wiki/HowToContribute#WriteaccesstotheGRASS-Addons-SVNrepository how to get write access to the GRASS-Addons-SVN repository] and contact the [http://lists.osgeo.org/mailman/listinfo/grass-dev grass-dev] mailing list if you would like to host your module there.


Please announce your add-on to the GRASS users' mailing list so that others may be aware of your work. Also please consider adding your module to one of the [[Applications]] pages.
Please announce your add-on to the GRASS users' mailing list so that others may be aware of your work. Also please consider adding your module to one of the [[Applications]] pages.
Line 67: Line 70:
=== Coding standards ===
=== Coding standards ===


Please have a look at our {{src|SUBMITTING}} for C-programs, {{src|SUBMITTING_PYTHON}} for Python scripts or {{src|SUBMITTING_SCRIPTS|branch=branches/develbranch_6}} for Bash scripts coding standards before submitting here.
Please have a look at our [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING] documentation before submitting here.


=== Documenting your code ===
=== Documenting your code ===
Line 92: Line 95:
* [http://trac.osgeo.org/grass/browser/grass-addons/tools/csv_dequote.pl csv_dequote.pl] is a Perl script to convert comma separated .csv files (including "quoted" text strings containing commas) into a form ready for {{Cmd|v.in.ascii}}. Comma separators are converted to pipes (|), commas in quoted strings are preserved, and "quotes" are removed where it is appropriate to do so. It doesn't need GRASS to run, but it does need the Text::CSV Perl Module (<tt>apt-get install libtext-csv-perl</tt>).<BR>'''Author''': Hamish Bowman
* [http://trac.osgeo.org/grass/browser/grass-addons/tools/csv_dequote.pl csv_dequote.pl] is a Perl script to convert comma separated .csv files (including "quoted" text strings containing commas) into a form ready for {{Cmd|v.in.ascii}}. Comma separators are converted to pipes (|), commas in quoted strings are preserved, and "quotes" are removed where it is appropriate to do so. It doesn't need GRASS to run, but it does need the Text::CSV Perl Module (<tt>apt-get install libtext-csv-perl</tt>).<BR>'''Author''': Hamish Bowman


== GRASS 6.x (current) ==
==GRASS 8.x (current)==


* See [[AddOns/GRASS 6]]
* See [https://grass.osgeo.org/grass8/manuals/addons/ AddOns/GRASS 8]


==GRASS 7.x (in development)==
==GRASS 7.x (old)==


* See [[AddOns/GRASS 7]]
* See [[AddOns/GRASS 7]]


==GRASS 5.x (old)==
== GRASS 6.x (very old) ==
 
* See [[AddOns/GRASS 6]]
 
==GRASS 5.x (historical)==


* See [[AddOns/GRASS 5]]
* See [[AddOns/GRASS 5]]


==GRASS 4.x (very old)==
==GRASS 4.x (very historical)==


* See [[AddOns/GRASS 4]]
* See [[AddOns/GRASS 4]]


{{AddOns}}
{{AddOns}}

Latest revision as of 10:59, 7 March 2024

This page contains references to user contributions and add-ons (the original GRASS GIS software can be downloaded here).

Overview

GRASS GIS 8 Addons Manual pages - a complete overview of available Addons

Building and installing AddOns

Common users

Graphical user interface:
We recommend to use the wxGUI Extension Manager (Settings -> Addon extensions -> Install extensions from addons) to install Addons.

Command line:
You can also use the g.extension module, e.g. to install r.fuzzy.system run:

g.extension extension=r.fuzzy.system

To remove installed AddOns run

g.extension extension=r.fuzzy.system operation=remove

Power users (not recommended for Windows users)

For manual compiling see the compile and install wiki page.

AddOns source code repository

The AddOns source code is hosted in GRASS-AddOns Github repository.

Adding something new

How to obtain write-access

While read access is granted to the public, for submissions you best fork this repository, insert your addon or fix an existing one in a new branch and finally open a pull request.

Please announce your add-on to the GRASS users' mailing list so that others may be aware of your work. Also please consider adding your module to one of the Applications pages.

Copyright and licensing information

Please be sure to include copyright and licensing information in the header comments of your code so that others may know how they can use, extend, modify, and redistribute your work.

e.g. at the top of a shell script:

#!/bin/sh
############################################################################
#
# MODULE:       v.in.e00
#
# AUTHOR(S):    Markus Neteler, Otto Dassau
#
# PURPOSE:      Import E00 data into a GRASS vector map
#               Imports single and split E00 files (.e00, .e01, .e02 ...)
#
# COPYRIGHT:    (c) 2004, 2005 GDF Hannover bR, http://www.gdf-hannover.de
#
#               This program is free software under the GNU General Public
#               License (>=v2). Read the file COPYING that comes with GRASS
#               for details.
#
#############################################################################
#
# REQUIREMENTS:
#      -  avcimport: http://avce00.maptools.org

[script follows]

Coding standards

Please have a look at our CONTRIBUTING documentation before submitting here.

Documenting your code

You can have an help page template auto-generated by using the GRASS command line parser with the --html-description command line option. Please, see also the g.parser help page.

Miscellaneous Add-ons

  • utm_which_zone.sh is a shell script to determine UTM zone from Lat/Lon input. Requires Octave or Matlab to be installed. A shell-only version is available which only requires awk.
    Authors: Hamish Bowman (Octave part), Markus Neteler (shell script wrapper), Daniel Calvelo (sh+awk version)


  • Perl scripts for converting data forth and back between Excel files and PostgreSQL: pg2xls.pl reads data from PostgreSQL and produces an excel workbook; xls2sql.pl reads excel files and outputs SQL statements to be fed into an RDBMS. Both scripts need modules from CPAN, especially Spreadsheet::ParseExcel for xls2sql.pl and Spreadsheet::WriteExcel::FromDB and its dependencies for pg2sql.pl. Check the source headers for more info.
    Authors: Daniel Calvelo (xls2sql.pl), Markus Neteler (pg2xls.pl)


  • dbf2sql is a Perl script for translating dbf-tables into a sql-command. dbf-tables are read using dbfdump-command from dbd-xbase-perl module (dbd::xbase and getopt::long have to be installed from CPAN first). There are problems, if the last column of the table contains characters. Suggestions for improvements welcome!
    Author:Wolfgang Qual


  • azimuth2.c is a small C program to calculate the azimuth and length of vector lines exported by GRASS-GIS as ASCII files (like this: v.out.ascii input=vector output=ascii format=standard). It is useful for create rose diagrams of lineament maps. Improvements on the original code after suggestions by Örs Téglásy, Hungary.
    Author: Carlos Henrique Grohmann


  • ann.* is the set of GRASS modules (in python) which implements artificial neural network using FANN library. The package requires Fast Artificial Neural Network Library (FANN) v2.x.
    Author: Pawel Netzel


  • csv_dequote.pl is a Perl script to convert comma separated .csv files (including "quoted" text strings containing commas) into a form ready for v.in.ascii. Comma separators are converted to pipes (|), commas in quoted strings are preserved, and "quotes" are removed where it is appropriate to do so. It doesn't need GRASS to run, but it does need the Text::CSV Perl Module (apt-get install libtext-csv-perl).
    Author: Hamish Bowman

GRASS 8.x (current)

GRASS 7.x (old)

GRASS 6.x (very old)

GRASS 5.x (historical)

GRASS 4.x (very historical)