SEXTANTE

From gvSIG CE Wiki

Jump to: navigation, search

The SEXTANTE extension provides hundreds of geoprocessing tools, batch, command line and scripting capabilities, as well as a graphical flow chart modeler for automated data processing.

The SEXTANTE programming guide is a text targeted at those who want to develop their own geoalgorithms with SEXTANTE

These instructions show you how to compile the latest version of SEXTANTE from its SVN repository and copy it into an existing binary distribution of gvSIG CE.

Contents

Getting the sources

Connect with the gvSIG CE SVN at https://svn.code.sf.net/p/gvsigce/code/trunk.

Then check out the following SVN folders into your Eclipse workspace. Select "Check out as a project in the workspace". If you get the right folders from the SVN, then this should always be the default option. Go with the suggested names, even if they are different from the SVN folder names.

 sextante/soft/app_specific/gvsig/trunk/gvSIGSpecificAlgs
 sextante/soft/bindings/gvsig_1_x/trunk/gvsig_1_x_bindings
 sextante/soft/sextante_lib/trunk/algorithms
 sextante/soft/sextante_lib/trunk/libMath
 sextante/soft/sextante_lib/trunk/sextante
 sextante/soft/sextante_lib/trunk/sextante_gui

After the first check out, make sure to use Eclipse's "Clean" function to delete any binaries that may exist in any one of the newly created project folders.

Compilation and installation

The compilation and installation of the JARs is kicked off by running the build.xml Ant file in the new gvsig_bindings project directory.

After completion, the binaries (JARs) will be located in the _fwAndami/gvSIG/extensiones/es.unex.sextante subfolder of your eclipse workspace folder. To install the SEXTANTE binaries into a different binary distribution, simply locate the folder es.unex.sextante and copy it into the corresponding folder of your own distribution (see Running_gvSIG_CE on how to create a complete gvSIG CE distribution).

XML/HTML help pages

All current SEXTANTE documentation is kept in the docs/trunk folder of the SEXTANTE SVN.

As a minimum, you should check out the xml folder. When checking out, call the new project folder sextante_help. There is nothing to compile in there.

To install the help pages, just copy sextante_help (i.e. the entire folder, not just its contents) into the SEXTANTE folder (es.unex.sextante) of your gvSIG distribution. This should give you the manual pages for all geoprocessing tools, plus the introductory pages.

Note that this will also copy all the .svn versioning folders and the Eclipse .project file. Unfortunately, there is no build script that will copy a cleaned version of the documentation files. You can clean up manually by changing into your distribution copy of es.unex.sextante (not the Eclipse project folder that is connected to the SEXTANTE SVN!) and running these shell commands (Linux and Mac OS X):

 rm .project
 find . -name .svn -exec rm -rf {} \;

There are English and Spanish versions of the help pages in the folders en and es. On systems with different language codes, the English versions should be used by default. In case this does not work, you might have to make a copy to a folder with your language code. E.g., on a German systems copy en to de to get the English pages by default.

Notes

  • The mainstream gvSIG repository at https://svn.forge.osor.eu/svn/gvsig-desktop contains a fork of the SEXTANTE gvSIG bindings in the SVN folder trunk/extensions/extSextanteGvsigBindings. Do not use that version of the bindings. The up-to-date, authoritative gvSIG bindings are always the ones in the official SEXTANTE SVN.
  • We try to synchronize the development of SEXTANTE and gvSIG CE as much as possible. There is no need to change the JTS lib to get SEXTANTE running under gvSIG CE.
  • SEXANTE and gvSIG CE share the same bug tracker. Simply switch to the "SEXTANTE" project in the bug tracker to file/review bug tickets for that software.

Add-on modules

This section lists open source SEXTANTE tools that are not (yet) part of the official distribution, and also Java code that could potentially be turned into useful SEXTANTE modules.

TIN Tools

Modules for creating and processing TINs from point clouds, including break lines.

This is an older GSoC project that has produced code which is incomplete, but would be exceptionally useful if it could be made to run: Project page.

IDW interpolation in 3D

This project is an implementation of the classic IDW interpolator for 3D sampling points. The code base is a few years old, but it runs on Java 6. It depends on the JAMA matrix package.

The output is a series of depth slices. With a little bit of polishing work, and some redesigned output formats, this could be turned into a very useful 3D GIS tool.

ELKI cluster detection framework

ELKI provides implementations of many modern clustering algorithms, such as DBSCAN and OPTICS. These algorithms use a cluster model that is density based. This makes them suitable for geographical cluster detection.

A Tutorial is available that demonstrates the software and has some important notes on the performances of different clustering methods.

Since version 0.4, the software makes all cluster methods available via a Java API. This should make it possible to add some real cluster detection power to SEXTANTE.

Orfeo Toolbox

The Orfeo Toolbox contains a number of advanced image processing and remote sensing tools in a C++ API and a set of command line tools. At least the command line tools should be fairly easy to wrap (in the same manner as the existing GRASS and SAGA plugins).

There is already a QGIS plug-on which could be used a s model.


http://wiki.orfeo-toolbox.org/index.php/Quantum_GIS_access_to_OTB_applications

R modules

SEXTANTE supports calling R algorithms. However, each one has to be wrapped individually, as their is no standard interface for the parameters. In this section, we will collect particularly useful R packages and algorithms that should become part of the distribution.

Point pattern analysis

DBSCAN density cluster detection: [1]