Development: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(Cheap Oakley Sunglasses,Replica Oakley sunglasses,http://www.buyokfake.com/)
Line 1: Line 1:
__TOC__


= GRASS License =
Cheap Shop Fake Oakleys the Copernican 
 
Fake that Cheap Replica Oakley Sunglasses Sale the earth was also a planet, accomplishing a complete circuit of the sun once in the course of a year.
The GRASS GIS project is developed under the terms of the [http://www.gnu.org/copyleft/gpl.html GNU General Public License] (the GPL) [http://grass.ibiblio.org/devel/index.php in the open] by [http://grass.ibiblio.org/community/index.php volunteers] the [http://mapserver.gdf-hannover.de/grassusers/map.phtml world over].
It would be impossible in a sketch like the present to enter into any detail as to the geometrical propositions on which this Knockoff Oakleys Sunglasses cheap beautiful investigation of Copernicus depended. We c. [http://www.buyokfake.com]Fake Oakley Sunglasses] an only mention a few of the leading principles. It may be laid down in general that, if an observer is in movement, he will, if unconscious of the fact, attribute to the fixed objects around him a movement equal and Oakley Cheap Replica Sunglasses Fake opposite to that Cheap Replica Oakley Sun. [http://www.buyokfake.com/oakley-oil-rig-sunglasses-c-47.html Cheap Oakleys oil rig] glasses Sale which he actually possesses. A passenger on a canal-boat sees the objects on the banks apparently moving backward with a speed equal to that Cheap Replica Oakley Sunglasses Sale by which he is himself advancing forwards. By an application of this Knockof. [http://www.buyokfake.com/oakley-pit-boss-sunglasses-c-56.html Cheap Oakleys pit boss] Oakleys Sunglasses cheap principle, we can account for all the phenomena of the movements of the planets, which Ptolemy had so ingeniously represented by his circles. Let us take, for instance, the most characteristic feature in the irregularities of the outer plan. [http://www.buyokfake.com]Oakley Sunglasses Sale] ets. We have already remarked that Cheap Replica Oakley Sunglasses Sale Mars, though generally advancing from west to east among the stars, occasionally pauses, retraces his steps for awhile, again pauses, and Oakley Cheap Replica Sunglasses Fake then resumes his ordinary onward progress. Coper. [http://www.buyokfake.com]Cheapest Oakley Site] nicus showed clearly how this Knockoff Oakleys Sunglasses cheap effect was produced by the real motion of the earth, combined with the real motion of Mars. In the adjoining figure we represent a portion of the circular tracks in which the earth and Oakley Cheap Replica Sunglasses Fake Mars move in accordance with the Copernican doctrine. I Cheap Fake Oakley Sunglassesshow particularly the case where the earth comes directly between the planet and Oakley Cheap Replica Sunglasses Fake the sun, because it is on such occasions that Cheap Replica Oakley Sunglasses Sale the retrograde movement (for so this Knockoff Oakleys Sunglasses cheap backward movement of Mars is termed) is at its hi
 
[http://www.fakeoks.com/oakley-oil-rig-sunglasses-clear-sale-p-8164.html Oakley oil rig clear]
* [[How the Open Source software development model works]]
[http://www.fakeoks.com/oakley-oil-rig-sunglasses-clear-sunglasses-p-8151.html Oakley oil rig clear]
 
[http://www.fakeoks.com/oakley-oil-rig-sunglasses-clear-uk-p-8156.html Oakley oil rig clear uk]
* [http://en.wikipedia.org/wiki/Gpl Wikipedia entry discussing the GPL]
* The Software Freedom Law Center's [http://www.softwarefreedom.org/resources/2008/foss-primer.html Legal Issues Primer for Open Source and Free Software Projects]
 
= Resources for Developers =
 
=== Communication ===
* You can contact GRASS folks in [[How to participate in IRC communication|IRC]]
* [http://lists.osgeo.org/mailman/listinfo/grass-dev Developer mailing list]
 
=== Documentation ===
* [http://grass.osgeo.org/programming6/ GRASS 6 Programming Manual]
: GRASS libraries are self-documenting using Doxygen header comments.
:* [http://www.stack.nl/~dimitri/doxygen/manual.html Doxygen manual]
 
* [http://grass.osgeo.org/programming7/ GRASS 7 Programming Manual]
 
* [[GRASS Programming Howto]] (partially outdated)
* [[Scripting]] tips
* [[Updating GRASS Documentation]] How-To
 
* [[GIS Concepts]] and how they are implemented in GRASS
* [[Large File Support]] (LFS) implementation
* [[Eclipse]] tips how to use the Eclipse IDE for GRASS development
 
=== Debugging ===
 
* [[GRASS Debugging]]
 
=== Code ===
 
* [[Tracking]] bugs, patches and feature requests
* [[GRASS AddOns]] - User code contributions (custom scripts, modules, icons, etc)
* [[Compile and Install]] hints
 
==== Code submission procedure ====
 
* Creating [[Patches]]
* [http://trac.osgeo.org/grass/newticket Submit patches to the trac system]
* [http://trac.osgeo.org/grass/wiki/HowToContribute SVN write access]
 
==== Code submission standards ====
 
* [http://svn.osgeo.org/grass/grass/trunk/SUBMITTING C language coding standards]
* [http://svn.osgeo.org/grass/grass/trunk/SUBMITTING_SCRIPTS Shell script coding standards]
* [http://svn.osgeo.org/grass/grass/trunk/SUBMITTING_TCLTK Tcl/Tk script coding standards]
* [http://svn.osgeo.org/grass/grass/trunk/SUBMITTING_PYTHON Python script coding standards]
* [http://svn.osgeo.org/grass/grass/trunk/SUBMITTING_DOCS Documentation coding standards] (manual pages)
 
===== Explanation of C indentation rules =====
(''see [http://svn.osgeo.org/grass/grass/trunk/SUBMITTING C language coding standards]'')
 
:{| class="wikitable" border="1"
| -bap||Force blank lines after procedure bodies.
|-
| -bbb||Force blank lines before block comments.
|-
| -bli1||Indent braces 1 space.
|-
| -bls||Put braces on the line after struct declaration lines.
|-
| -br||Put braces on line with if, etc.
|-
| -cbi0||Indent braces after a case label 0 spaces.
|-
| -ci4||Continuation indent of 4 spaces.
|-
| -cli0||Case label indent of 0 spaces.
|-
| -d0||Set indentation of comments not to the right of code to 0 spaces.
|-
| -di0||Put variables in column 0.
|-
| -fc1||Format comments in the first column.
|-
| -hnl||Prefer to break long lines at the position of newlines in the input.
|-
| -i4||Set indentation level to 4 spaces.
|-
| -ip4||Indent parameter types in old-style function definitions by 4 spaces.
|-
| -l80||Set maximum line length for non-comment lines to 80.
|-
| -lc80||Set maximum line length for comment formatting to 80.
|-
| -lp||Line up continued lines at parentheses.
|-
| -nbad||Do not force blank lines after declarations.
|-
| -nbbo||Do not prefer to break long lines before boolean operators.
|-
| -nbc||Do not force newlines after commas in declarations.
|-
| -ncdb||Do not put comment delimiters on blank lines.
|-
| -nce||Do not cuddle } and else.
|-
| -ncs||Do not put a space after cast operators.
|-
| -nfca||Do not format any comments.
|-
| -npcs||Do not put space after the function in function calls.
|-
| -nprs||Do not put a space after every '(' and before every ')'.
|-
| -npsl||Put the type of a procedure on the same line as its name.
|-
| -nsob||Do not swallow optional blank lines.
|-
| -pi4||Specify the extra indentation per open parentheses '(' when a statement is broken.
|-
| -sbi0||Indent braces of a struct, union or enum 0 spaces.
|-
| -sc||Put the `*' character at the left of comments.
|-
| -ss||On one-line for and while statments, force a blank before the semicolon.
|-
| -ts8||Set tab size to 8 spaces.
|}
 
===== GRASS Makefile writing =====
 
PGM must be set before including Module.make.
 
In general, the point at which variables get defined doesn't matter if they are only used in commands, but it matters if they are used in the dependency line. Essentially, dependency lines get expanded at the point they are read, while commands are expanded at the point they are executed.
 
The list of variables where the order is significant is:
 
        PGM
        LIB_NAME
        SUBDIRS
        CMD_OBJS
        LIB_OBJS
        LOCAL_HEADERS
        EXTRA_HEADERS
        DEPENDENCIES
 
==== SVN/CVS ====
* New [http://trac.osgeo.org/grass/wiki/DownloadSource SVN instructions]
* Live GRASS [http://trac.osgeo.org/grass/browser/grass/trunk TracBrowser] and [http://josef.fsv.cvut.cz/cgi-bin/viewcvs.cgi/grass/trunk/?root=grass-osgeo ViewCVS] browseable web interface to the source code repository
* Hints for [[Working with SVN]]
* [http://lists.osgeo.org/pipermail/grass-commit/ SVN commit mailing list archive]
 
* [[Migration from CVS to SVN]] notes
 
==== GIT ====
 
* Some [http://grass.itc.it/pipermail/grass-dev/2007-October/033478.html experiments] with GRASS managed in GIT repository
 
==== QA ====
 
* [http://lists.osgeo.org/mailman/listinfo/grass-qa/ Code Quality Control System] Mailing list
 
* [[Testing GRASS software]] - a test protocol based on the Spearfish sample data set
 
* Internal GRASS test suite (scripts collection in "testsuite/")
 
* External [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/html_grass-6.2/ GRASS test suite] (TU Berlin)
** [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/ GRASS Test Suite] a small test suite for GRASS, the current html output is available [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/html/ here] and with memory check [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/html_memcheck/ here]
 
* External [http://web.soccerlab.polymtl.ca/project-manager/grass-website/index.html GRASS Quality Assessment and monitoring system] (École Polytechnique de Montréal and FEM-CRI (since 2008; from 2005-2007 ITC-irst was the partner))
 
* SVN-commit reports into [irc://irc.freenode.net/grass IRC '#grass' channel] via [http://cia.vc/stats/project/GRASS CIA - The open source informant]
** [http://cia.vc/stats/project/GRASS CIA commit bot] for realtime monitoring along with [http://lists.osgeo.org/mailman/listinfo/grass-commit grass-commit] mailing list (showing the diff's)
 
==== Code Search and Metrics ====
 
* [http://www.google.com/codesearch?q=package%3Agrass Google Code Search]
 
* [http://www.ohloh.net/projects/3666 Ohloh Metrics]
 
* [http://koders.com Koders Code Search]
 
= Ongoing and Plans =
 
=== Overview ===
 
* Reports:
** [[GRASS Project Update 2007Q1]]
* [[Release Roadmap]] (old [http://grass.ibiblio.org/devel/roadmap.php Development Roadmap] which needs freshening) - please help with testing release candidates
* [[GRASS Module Porting List]] (check here if you don't find a certain command in GRASS 6)
* [[GRASS ToDo List]] (overview of GRASS related community projects, see also [[Release Roadmap]])
* [http://svn.osgeo.org/grass/grass/trunk/doc/vector/TODO GRASS 6 Vector TODO]
* [[Vector network analysis ideas]] (new ideas)
* [http://trac.osgeo.org/grass/wiki/Grass7/NewFeatures List of new features in GRASS 7 (and renamed options)]
 
=== Works in Progress ===
 
* Next generation [[GRASS GUI]] development
 
* [[WinGRASS_Current_Status|Native Windows development]]
 
* Message [[Development_Specs#Message_standardization|standardization]] and [[GRASS_messages_translation|translation]]
 
* [[Cairo_driver|Cairo display driver]]
 
=== Sandbox (ideas section) ===
 
* [[GRASS 7 ideas collection]]
* [[Image processing]]
* [http://wgbis.ces.iisc.ernet.in/grdss/index.php GRDSS (Geographic Resources Decision Support System)]
* Ideas on a [[replacement raster format]] specification
* add support (at least storage!) of vertical datum and units
* Discussion on [[Development Specs]] for standardized messages
* Discussion on add-on manager repository setup: [[Development GEM|GEM repository]]
* Discussion of support for [[time series in GRASS]], e.g. for linking to data and models
* [[GRASS Metadata Management|Metadata Management]] ideas
* [[GRASS SoC Ideas|GRASS Summer of Code]] ideas
 
= Linking GRASS to external languages =
* [http://mpa.itc.it/markus/grass63progman/swig/ GRASS-SWIG interface]: generic interface to various languages
* [[GRASS and PHP]]
* [[GRASS and Python]]
* [[GRASS and Shell]]: Starting and running GRASS from a script
* [[GRASS and ABM]]
* [http://www.jgrass.org JGRASS]
 
= GRASS and QGIS =
 
* [http://wiki.qgis.org/qgiswiki/BuildingWindowsBinaryOnLinux Building QGIS/GRASS Windows Binary On Linux] (using MinGW)
 
* [http://www.qgis.org/wiki/Adding_New_Tools_to_the_GRASS_Toolbox Adding New Tools to the GRASS Toolbox]
 
* [[QGIS GRASS Cookbook]] - Recipes for common tasks
 
* [[GRASS-QGIS relevant module list]]
 
= Commercial development for GRASS =
 
This is an unsorted (and most probably incomplete) list of paid development for GRASS GIS
* Comune di Trento (Italy): better vector editing, printing
* [http://mpa.itc.it/ ITC-irst]:
** WILMA - [http://wilmaproject.unitn.it/ Trento Wireless Projekt] -> babyGRASS 
** MITRIS [http://mpa.itc.it/index.php?option=com_content&task=view&id=104&Itemid=127 traffic-project]
** GRASS 6 vector engine, vector network analysis 
* [http://www.faunalia.it/index_en.php Faunalia, Italy]:
** r.li suite
** v.in.gpsbabel
** OGR GRASS vector driver
** MySQL spatial GRASS connector
 
* [http://www.tekmap.ns.ca/ Tekmap Consulting, Canada]: NVIZ and many more
* [http://navicon.dk/web/normal.php?pageid=92 NAVICON CSE, Denmark: GRASS/Qt]
* [http://www.acsys.it/riade/upload/testo_r/home_link/RIADE_ACS_GRASS_article.pdf Advanced Computer Systems (ACS), Italy]: NVIZ 3D Histograms, Fly-through
* [http://www.orkney.co.jp/english/software/index.html Orkney Inc., Japan]: i18N Infrastructure in GRASS 5.0
* [http://www.geomodel.sk/index-en.htm Geomodel, Slovakia]:
** r.sun
** r.flow etc.
* Lockheed Martin LMCO, USA:
** d.rast.proj
** d.mon.proj (GRASS 5 contrib)
 
= Related projects =
 
== With connections to GRASS ==
* [http://www.jgrass.org JGrass] - Java based frontend for GRASS incuding extended hydrological modelling tools
* [http://www.kergis.com/en/index.html KerGIS] - BSD-like licensed fork of GRASS 4.1.5
* [http://gal-framework.no-ip.org/ GAL] - Project to reimplement a GRASS-like GIS using a modern object oriented approach
 
* [http://pywps.wald.intevation.org pyWPS] - Python Web Processing Service (GRASS on the web)
* [http://proj.maptools.org PROJ.4] - Cartographic Projections Library
* [http://www.gdal.org GDAL] - Geospatial Data Abstraction Library
* [http://www.qgis.org QGIS] - Quantum GIS
 
* [http://www.osgeo.org OSGeo]- The Open Source Geospatial Foundation
* [http://freegis.org FreeGIS.org] - Interactive information base for the GIS Free Software world
* [http://pkg-grass.alioth.debian.org DebianGIS] - Project coordinating geospatial software for Debian GNU/Linux
 
* [http://grass.itc.it/statsgrass/grass_geostats.html R statistics] - High powered geostatistical analysis engine
* [http://www.gstat.org/grass.html gstat] - Multivariable geostatistical modelling, prediction and simulation
 
== Not connected to GRASS ==
 
* [http://gmt.soest.hawaii.edu GMT] - The Generic Mapping Tools advanced cartography package
* [http://www.saga-gis.uni-goettingen.de SAGA GIS] - A modern programming method GIS for the geosciences
* [http://udig.refractions.net uDig] - User-friendly Desktop Internet GIS (uDig) web portal
* [http://www.gvsig.gva.es/index.php?id=que-es-gvsig&L=2 gvSIG] - Similar in nature to QGIS, but written in Java
* [http://jump-project.org JUMP] - For viewing and manipulating spatial data-sets, using Java
* [http://starspan.casil.ucdavis.edu Starspan] - Mixed raster and vector spatial analysis
* [http://openev.sourceforge.net/ OpenEV] - Raster and vector GIS with good support for image analysis
 
[[Category:Development]]

Revision as of 03:02, 31 May 2013

Cheap Shop Fake Oakleys the Copernican

Fake that Cheap Replica Oakley Sunglasses Sale the earth was also a planet, accomplishing a complete circuit of the sun once in the course of a year.

It would be impossible in a sketch like the present to enter into any detail as to the geometrical propositions on which this Knockoff Oakleys Sunglasses cheap beautiful investigation of Copernicus depended. We c. [1]Fake Oakley Sunglasses] an only mention a few of the leading principles. It may be laid down in general that, if an observer is in movement, he will, if unconscious of the fact, attribute to the fixed objects around him a movement equal and Oakley Cheap Replica Sunglasses Fake opposite to that Cheap Replica Oakley Sun. Cheap Oakleys oil rig glasses Sale which he actually possesses. A passenger on a canal-boat sees the objects on the banks apparently moving backward with a speed equal to that Cheap Replica Oakley Sunglasses Sale by which he is himself advancing forwards. By an application of this Knockof. Cheap Oakleys pit boss Oakleys Sunglasses cheap principle, we can account for all the phenomena of the movements of the planets, which Ptolemy had so ingeniously represented by his circles. Let us take, for instance, the most characteristic feature in the irregularities of the outer plan. [2]Oakley Sunglasses Sale] ets. We have already remarked that Cheap Replica Oakley Sunglasses Sale Mars, though generally advancing from west to east among the stars, occasionally pauses, retraces his steps for awhile, again pauses, and Oakley Cheap Replica Sunglasses Fake then resumes his ordinary onward progress. Coper. [3]Cheapest Oakley Site] nicus showed clearly how this Knockoff Oakleys Sunglasses cheap effect was produced by the real motion of the earth, combined with the real motion of Mars. In the adjoining figure we represent a portion of the circular tracks in which the earth and Oakley Cheap Replica Sunglasses Fake Mars move in accordance with the Copernican doctrine. I Cheap Fake Oakley Sunglassesshow particularly the case where the earth comes directly between the planet and Oakley Cheap Replica Sunglasses Fake the sun, because it is on such occasions that Cheap Replica Oakley Sunglasses Sale the retrograde movement (for so this Knockoff Oakleys Sunglasses cheap backward movement of Mars is termed) is at its hi Oakley oil rig clear Oakley oil rig clear Oakley oil rig clear uk