GRASS migration hints: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
No edit summary
 
 
(49 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==GRASS 5.3 modules porting status to 6.0==
== Support ==


All modules '''NOT''' listed here have kept their name in
There is a lot of help on the web, this wiki and in the user manual. However, a lot of people are available on the mailing lists and at other places.
GRASS 6.0 (maybe flags/parameters are modified, though).
* See [https://grass.osgeo.org/support/ the official support page] which also includes links to commercially provided support.
The list below gives hints for modules not found in 6.0.
* Subscribe to the grass-users [https://lists.osgeo.org/listinfo/grass-user maillist]
* Visit the [http://gis.stackexchange.com/questions/tagged/grass GRASS tag] on gis.stackexchange.com


The overall aim in 6.0 is to increase the module cohesion and to
== Guides and tips for migration ==
minimize replicated code. Also obsolete code is no longer maintained.
The user interface is simplified in this sense while many modules are
becoming more powerful due to the heavily improved vector engine and
DBMS integration.


Please note that GRASS commands no longer overwrite existing maps.
* [[GIS Concepts]] in GRASS GIS
To enforce overwriting (instead of using another file name or in
advance g.rename or g.copy), use the flag '--o'.


[Status: January 2005 ]
=== Migrating from ESRI products ===


===Display modules===
* [[GRASS GIS for ArcGIS users]]
* [[Tips for Arc users|Tips for ArcGIS users]]
* [http://www.surfaces.co.il/?p=241 Watershed Analysis with GRASS] (in case you know the ESRI way)
* [[Terminology comparison between ArcGIS and GRASS GIS]]


Nearly all non-obsolete modules ported.
=== Migrating from older versions of GRASS GIS ===


* d.menu - not ported; used for creating stand alone GRASS applications
* [[GRASS Module Porting List|Module updates between GRASS GIS version 5 and 6]]
* d.3d - obsolete and replaced by NVIZ
* [http://trac.osgeo.org/grass/wiki/Grass7/NewFeatures List of new features in GRASS GIS 7] (new modules, new names, options, etc.; check here if you don't find a certain modules or module parameter)
* d.area - merged to d.vect: HTMLMAP driver doesn't work yet with new d.vect
* d.colormode - obsolete
* d.db - d.vect (sites obsolete)
* d.display - obsolete
* d.fix.ortho - functionality is covered in i.points or i.vpoints
* d.icons - obsolete (sites replaced by vector points, d.vect)
* d.label - largely replaced by d.text, d.text.freetype
* d.labels - largely replaced by v.label, d.paint.labels, d.vect
* d.paint.labels - renamed d.labels
* d.pan - included in d.zoom -p
* d.points - obsolete (sites replaced by vector points)
* d.site.labels - obsolete (sites replaced by vector points)
* d.sites - obsolete (sites replaced by vector points)
* d.sites.qual - obsolete (sites replaced by vector points)
* d.vect.area - merged to d.vect
* d.vect.labels - merged to d.vect
* d.vect.line - merged to d.vect
* d.what.sites - obsolete (sites replaced by vector points)


===Database modules===
== GIS "The GRASS way" ==


Drivers for dbf, postgresql, mysql, and odbc come with GRASS. All database commands work with all these platform, depending on which driver you choose. This makes all the postgresql-specific (*.pg) obsolete. Examples of replacement commands shown for v.*.pg commands.
When migrating to GRASS GIS, it is useful to review its design and values. Here are the highlights.


* pg.in.dbf - implemented as db.copy, v.in.db
=== Portability ===
* g.column.pg - implemented as db.column
* Support for all major platforms including Linux, Mac OS X and MS Windows
* d.rast.pg - currently no DB support for raster maps, desired
* All code POSIX C and generic UNIX compatible
* d.site.pg - obsolete (sites replaced by vector points)
* GRASS GIS works not only on powerful desktops but also on low-end laptops all the way down to devices such as [[Raspberry Pi]].
* d.what.r.pg - currently no DB support for raster maps, desired
* GRASS GIS also works on servers, clusters for scientific computing, and on other supper computer or cloud setups
* d.what.s.pg - obsolete (sites replaced by vector points)
* 64bit and 32bit versions
* g.select.pg - implemented as db.select
* g.stats.pg - implemented?
* g.table.pg -implemented as db.table


* db.createdb - can be created in other ways (PG, OpenOffice etc)
=== Scalability ===
* db.databases - implemented as db.tables
* [[GRASS GIS Performance]]
* db.dropdb - implemented as db.droptable
* 64bit version offers even better performance and capacity on all platforms including MS Windows


* d.vect.pg - merged to d.vect
=== All in one ===
* d.what.v.pg - merged to d.vect
* d.what.db - implemented as d.what.vect, db.select


* v.to.pg - implemented as v.to.db
* With GRASS GIS you are getting full selection of analysis including but not limited to hydrology, terrain analysis, network analysis and image processing. No installing or purchasing of additional tools or plugins.
* GRASS GIS aims to process all kinds of geospatial data in a unified way including vectors, rasters, images, 3D rasters and their time series.


=== Scriptability ===
* GRASS GIS is made up of modular tools specifically designed for easy scriptability in any number of common scripting languages, see for example [[GRASS and Shell]]
* Interface for direct hooks into higher scripting languages especially Python but also R and Bash/Shell, see [[GRASS and Python]] and [[Category:Linking to other languages]]
* GRASS GIS can run without any GUI when the full path to the mapset is provided in the command line parameters. If "<tt>GRASS_BATCH_JOB=/path/to/script.sh</tt>" environmental variable is set GRASS 6+ will run the script as a batch job and exit when it is complete. Same applies to <tt>--exec</tt> parameter in GRASS 7.1+. See also {{cmd|grass7}} command manual and [[GRASS and Shell#GRASS Batch jobs|GRASS and Shell]].


===General commands===
=== Interoperability ===
Collaboration with external software is highly encouraged.


* g.help - obsolete (all help files html/man)
* [http://www.gdal.org GDAL/OGR] for import/export to many formats
* g.pnmcomp - obsolete
* [http://www.numpy.org/ NumPy] (in Python): {{pyapi|script|script.array|array}}, {{pyapi|script|script.array|array3d}}
* [https://www.r-project.org/ R] statistical software: [http://grass.osgeo.org/statsgrass/ GRASS-R interface]
* DXF: {{cmd|v.in.dxf}}, {{cmd|v.out.dxf}}, {{cmd|v.in.ogr}}, {{cmd|v.out.ogr}}
* Matlab/[http://www.gnu.org/software/octave/Octave Octave]: {{cmd|r.in.mat}}, {{cmd|r.out.mat}}, {{cmd|v.in.mapgen}}, {{cmd|v.in.ascii}}, {{cmd|v.out.ascii}}
* [http://www.povray.org/ POV-Ray] rendering: {{cmd|r.out.pov}}, {{cmd|v.out.pov}} - see also [[POV-Ray]]
* VMRL: {{cmd|r.out.vrml}} (3D virtual reality)
* [http://gmt.soest.hawaii.edu/ GMT] - Generic Mapping Tools for cartography: {{cmd|r.in.bin}}, {{cmd|r.out.bin}}
* Google Earth/KML: {{cmd|v.out.ogr}}
* VTK ([http://www.paraview.org/ Paraview], etc): {{cmd|r3.out.vtk}}, {{cmd|r.out.vtk}}, {{cmd|v.out.vtk}} - see also [[GRASS and Paraview]]
* [http://vis5d.sourceforge.net/ Vis5D]: {{cmd|r3.in.v5d}}, {{cmd|r3.out.v5d}}
* QGIS has GRASS Plugin to work with GRASS GIS data and analytical tools inside QGIS


===General volume commands===
=== Freedom ===
* All users are free to run the GRASS GIS for any purpose, study how it works, copy it and redistribute it, and even change it.
* Freedoms ensured by GNU General Public License (GPL)
* Rocchini, D., Neteler, M., 2012. Let the four freedoms paradigm apply to ecology. Trends in Ecology & Evolution 27, 310–311., ([http://tinyurl.com/tree-four-freedoms full text])


* g3.createwind - no longer needed
== External links: Software Comparisons ==
* g3.list - integrated in g.list
* g3.region - integrated in g.region
* g3.remove - integrated in g.remove
* g3.rename - integrated in g.rename
* g3.setregion - integrated in g.region


===Imagery commands===
''Some information may be outdated. Note the year of individual resources.''


A number of imagery commands were duplicated in the raster modules. A couple have not yet been ported, including a couple scripts
* Steiniger, S., Hunter, A.J.S., 2013. The 2012 free and open source GIS software map – A guide to facilitate research, development, and adoption. Computers, Environment and Urban Systems 39, 136–150. [http://dx.doi.org/10.1016/j.compenvurbsys.2012.10.003 DOI]
* [http://spreadsheets.google.com/ccc?key=0Albk_XRkhVkzdGxyYk8tNEZvLUp1UTUzTFN5bjlLX2c&hl=en Matrix of open source and proprietary software functionality] (2010)
* [http://contentcat.fhsu.edu/cdm/singleitem/collection/thesis/id/545/rec/44 MSc thesis 2006 (English), Comparison of geographic information system software (ArcGIS 9.0 and GRASS 6.0): implementation and case study] by T.R. Buchanan
* [http://cemml.carleton.ca/osgeo_files/FOSS_geomatics.pdf An Exploration Of Free And Open Source Software For Geomatics] (thesis, 2008)
* [http://gis.stackexchange.com/questions/23637/comparison-of-open-source-desktop-gis-packages Comparison of Open Source Desktop GIS Packages] (collection of links) at GIS StackExchange


* i.colors - see r.colors
[[Category:Community]]
* i.composite - see r.composite
[[Category:ArcGIS]]
* i.in.erdas - use r.in.gdal
* i.out.erdas - use r.out.gdal
* i.quantize - see r.quantize
* i.rvi.prediction - not ported
* i.shape - not ported
* i.tape.mss - use r.in.gdal
* i.tape.mss.h - use r.in.gdal
* i.tape.other - use r.in.gdal
* i.tape.spot
* i.tape.tm - use r.in.gdal
* i.texture - see r.texture
 
===Miscellaneous Commands===
 
Various utilities for file manipulation or coordinate pair transformation not ported
 
* m.datum.shift - not implemented, use cs2cs of PROJ4 instead
* m.dem.examine - use external gdalinfo
* m.dem.extract - use r.in.gdal
* m.dmaUSGSread - use r.in.gdal
* m.dted.examine - use external gdalinfo
* m.dted.extract - use r.in.gdal
* m.examine.tape - use external gdalinfo
* m.flip - not ported
* m.futil - not ported
* m.gc2ll - not ported
* m.in.stf1.tape - use r.in.gdal
* m.ipf - not ported
* m.kappa - see r.kappa
* m.ll2gc - not ported
* m.ll2u - not ported
* m.lulc.read - use r.in.gdal
* m.lulc.USGS
* m.proj2 - m.proj in 6.1, or use PROJ4's cs2cs instead
* m.qcalc - not ported
* m.region.ll - not ported
* m.rot90 - not ported
* m.sdts.read
* m.strip99s
* m.svfit - not ported; part of unfinished kriging module
* m.tiger.region
* m.u2ll -  - not ported
 
 
===Paint commands===
 
Functionality of these is covered by either ps.map or display commands followed by screen output or d.out.png
 
* p.chart - not ported
* p.colors - not ported
* p.icons - not ported
* p.labels - not ported
* p.map  - not ported, see ps.map
* p.map.new - not ported
* p.ppm - not ported
* p.select - not ported
* p.vrml - p.out.vrml
 
===Raster modules===
 
Not ported modules include a set of overlay modules (r.infer, r.binfer, r.weight), some additional hydrology modules, and a couple of statistical routines for ascii files.
 
* r.binfer - not ported
* r.colors.paint - obsolete
* r.flowmd - this is old, use r.flow
* r.grow2 - ported as r.grow
* r.grow - not ported, see next line
* r.hydro.CASC2D - not ported
* r.in.doq - use r.in.gdal
* r.in.dted - use r.in.gdal
* r.in.elas - not ported, doesn't make much sense
* r.infer - not ported
* r.in.ll
* r.in.miads
* r.in.pbm - use r.in.gdal
* r.in.pgm - use r.in.gdal
* r.in.png - use r.in.gdal
* r.in.ppm - use r.in.gdal
* r.in.shape - not ported, doesn't make much sense
* r.in.sunrast - use r.in.gdal
* r.in.tang - use r.in.gdal
* r.in.tiff - use r.in.gdal
* r.in.utm - not ported, doesn't make much sense
* r.linear.regression - not ported. This works on ascii data file, not map
* r.line - included in v.to.rast
* r.mask - ported as shell script in ver. 6.1+. Or just rename any raster to MASK (use g.rename, g.copy, r.mapcalc)
* r.mask.points - obsolete (sites replaced by vector points)
* r.out.elas - not ported, doesn't make much sense
* r.out.rlc - not ported, doesn't make much sense
* r.out.tga - not ported, doesn't make much sense
* r.out.xyz - use r.stats, r.out.ascii
* r.poly - implemented in r.to.vect
* r.rational.regression - not ported. This works on ascii data file, not map
* r.reclass.scs - not much different from r.reclass
* r.rvi.prediction - script? Not ported. This works on ascii data file, not map
* r.support - ported in version 6.1+. Use r.reclass to assign category labels
* r.surf.idw2 - ported (recent discussion of difference with r.surf.idw)
* r.to.sites - implemented in r.to.vect
* r.volume - partially ported in version 6.1+; needed for r.clump
* r.water.fea - not ported
* r.weight2 - not ported
* r.weight - not ported
 
 
===Sites modules===
 
Sites replaced by vector points. Most routines ported now
 
* s.medp - the old version (GRASS 5.3) is buggy and cannot be simply updated, more work needed.
* s.probplt- not yet ported, requires gnuplot
* s.sv - part of kriging support; not yet ported, better use R-stats
* s.territory - not ported
* s.vol.idw - not yet ported
* s.windavg - not yet ported
* r3.to.sites - not yet ported (will become r3.to.vect)
* s.cellstats - not yet ported
* s.delaunay - v.delaunay
* s.hull - v.hull
* s.info - v.info
* s.in.ascii - v.in.ascii
* s.in.dbf - replaced by v.in.db
* s.in.shape - Shapefile supported by v.in.ogr
* s.kernel - v.kernel
* s.mask - not yet ported
* s.normal - v.normal
* s.out.ascii - v.out.ascii
* s.out.e00 - not yet ported (will become v.out.e00)
* s.perturb - v.perturb
* s.proj - v.proj
* s.qcount - v.qcount
* s.random - v.random
* s.sample - v.sample
* s.surf.idw - v.surf.idw
* s.surf.rst - merged to v.surf.rst
* s.to.rast - v.to.rast
* s.to.rast3 - v.vol.rst
* s.to.vect - not needed, as sites replaced by vector points
* s.univar - v.univar
* s.vol.rst - v.vol.rst
* s.voronoi - v.voronoi
* s.what - not yet ported
 
===Vector modules===
 
All modules ported or their functionality merged into other modules, with a couple of exceptions.
 
* v.alabel - will be merged by v.category
* v.apply.census
* v.area - the same functionality in d.what.vect
* v.autocorr
* v.bubble - replaced by v.buffer, d.vect.chart, d.vect.thematic (shell script), and ps.map(vpoints:sizecol)
* v.cadlabel - can be done by v.distance or v.category
* v.circle - replaced by v.buffer
* v.cutter - replaced by v.overlay
* v.db.reclass - move to v.reclass
* v.dump - the same functionality in v.to.db
* v.export
* v.import - v.in.ogr
* v.in.arc - v.in.ogr
* v.in.atlas -atl2dig2.c is not used
* v.in.dlg
* v.in.dlg2 -not used in 5.0
* v.in.dlg.scs -not used in 5.0
* v.in.dxf3d -replaced by v.in.dwg (see GrassSixTutorialFaq#2_DXF_and_DWG_files)
* v.in.dxf - replaced by v.in.dwg (note: cannot be compiled by default or distributed in binary) (see GrassSixTutorialFaq#2_DXF_and_DWG_files)
* m.in.e00 - v.in.e00, but E00 should be added to OGR library
* v.in.gshhs - try v.in.mapgen with data from NOAA's Coastline extractor
* v.in.poly - v.buffer
* v.in.sdts - SDTS supported by v.in.ogr
* v.in.shape - Shapefile supported by v.in.ogr
* v.in.tig.basic - TIGER supported by v.in.ogr
* v.in.tig.lndmk - TIGER supported by v.in.ogr
* v.in.transects
* v.label - ported in ver. 6.1+; also integrated into ps.map
* v.llabel - replaced by v.category
* v.mkquads - Not ported yet
* v.mkstats - not sure what it does
* v.out.arc
* v.out.atlas
* v.out.dlg
* v.out.e00
* v.out.idrisi
* v.out.mapinfo -Mapinfo is supported by v.out.ogr
* v.out.moss
* v.out.sdts - SDTS is NOT supported by v.out.ogr
* v.out.shape -Shapefile is supported by v.out.ogr
* v.patch.scs - alternate version of v.patch
* v.prune - this functionality should go to v.clean
* v.reclass.pg -moved to v.reclass?
* v.report - replaced by v.to.db
* v.rm.dangles - merged to v.clean
* v.rmdup - merged to v.clean
* v.rmedge - merged to v.clean?
* v.scale.random - v.patch + v.random
* v.sdts.dq.cp
* v.sdts.meta
* v.sdts.meta.cp
* v.spag - merged to v.cleanmerged to v.clean
* v.split - ported in ver. 6.1+
* v.stats - the same functionality in v.info
* v.support - v.build
* v.timestamp- move to v.info?
* v.to.sites - obsolete (sites replaced by vector points)
* v.what - this functionality is available in v.distance & d.what.vect
 
===Volume modules===
 
* all g3.* modules - integrated into g.*
* r3.* modules - almost unchanged
* s.to.rast3 - see s.* above
* NVIZ - volume visualization integrated

Latest revision as of 11:18, 1 February 2016

Support

There is a lot of help on the web, this wiki and in the user manual. However, a lot of people are available on the mailing lists and at other places.

Guides and tips for migration

Migrating from ESRI products

Migrating from older versions of GRASS GIS

GIS "The GRASS way"

When migrating to GRASS GIS, it is useful to review its design and values. Here are the highlights.

Portability

  • Support for all major platforms including Linux, Mac OS X and MS Windows
  • All code POSIX C and generic UNIX compatible
  • GRASS GIS works not only on powerful desktops but also on low-end laptops all the way down to devices such as Raspberry Pi.
  • GRASS GIS also works on servers, clusters for scientific computing, and on other supper computer or cloud setups
  • 64bit and 32bit versions

Scalability

  • GRASS GIS Performance
  • 64bit version offers even better performance and capacity on all platforms including MS Windows

All in one

  • With GRASS GIS you are getting full selection of analysis including but not limited to hydrology, terrain analysis, network analysis and image processing. No installing or purchasing of additional tools or plugins.
  • GRASS GIS aims to process all kinds of geospatial data in a unified way including vectors, rasters, images, 3D rasters and their time series.

Scriptability

  • GRASS GIS is made up of modular tools specifically designed for easy scriptability in any number of common scripting languages, see for example GRASS and Shell
  • Interface for direct hooks into higher scripting languages especially Python but also R and Bash/Shell, see GRASS and Python and
  • GRASS GIS can run without any GUI when the full path to the mapset is provided in the command line parameters. If "GRASS_BATCH_JOB=/path/to/script.sh" environmental variable is set GRASS 6+ will run the script as a batch job and exit when it is complete. Same applies to --exec parameter in GRASS 7.1+. See also grass7 command manual and GRASS and Shell.

Interoperability

Collaboration with external software is highly encouraged.

Freedom

  • All users are free to run the GRASS GIS for any purpose, study how it works, copy it and redistribute it, and even change it.
  • Freedoms ensured by GNU General Public License (GPL)
  • Rocchini, D., Neteler, M., 2012. Let the four freedoms paradigm apply to ecology. Trends in Ecology & Evolution 27, 310–311., (full text)

External links: Software Comparisons

Some information may be outdated. Note the year of individual resources.