[GRASS-user] Re: ArcGIS vs GRASS notes

I don't know of any such comparison, but you could write the user and developer lists to see if there is one. I haven't kept up with Arc scripting in recent years. I believe they switched from their own OOL to Visual Basic. However, I've recently heard things that suggest you can script in Python too (but I'm not sure about that).

With GRASS, you can script in about anything that will interact with the shell (or DOS window) in some way. In recent years, we've emphasized Python over BASH, creating many convenience classes and methods in Python for GRASS scripting.

I'm not sure of the level of your students. But if this is also an introduction to GRASS and advanced GIS, I think it will make it much harder for them to learn if you keep them from using the GUI. An important aspect of the GUI from the point of view of scripting is that it is designed to help users learn command-line tools and scripting.

1. All GUI dialogs for commands have the option of copying the command and its arguments so that it can be pasted into the command line or into a script.

2. Additionally, the GRASS command console provides a rich hinting environment (with autocompletion and tab to get command syntax) for issuing GRASS commands.

3. Finally, the new graphical modeler is an excellent tools to start scripting. You can create chains of GRASS commands--complete with user interaction and recursion--with graphical tools, test them, and then save them to Python scripts that can then be enhanced. There are not many written docs for this yet, but there is an excellent set of You-Tube videos on their use that should be very helpful for students.

Michael

On Apr 1, 2012, at 8:15 AM, Doc Robinson wrote:

Professor Barton,
I very much liked your posting comparing ArcGIS with GRASS for the new
user. I was wondering if you have run across a good summary comparing
the two with regard to scripting for complex raster processing problems?

I going to introduce some of our graduate students (a couple from
Anthropology as well) to GRASS 6.4.x but not the GUI...just the text
CLI so they concentrate on script writing.

thanks in advance
--
Regards,

Doc
<doc_robinson.vcf>

_____________________
C. Michael Barton
Visiting Scientist, Integrated Science Program
National Center for Atmospheric Research &
University Corporation for Atmospheric Research
303-497-2889 (voice)

Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu

I can clarify some of the questions...
Arc has dropped Visual Basic in favor of python, in the current 10.x
series though python can only interact with tools in the toolbox (making
it quite similar to how GRASS works). Anything more directly using Arc
libs to build applications at the low level requires .Net.

Personally I like to explain it as GRASS fills the same role typically
filled by Spatial Analyst, 3D Analyst, Network Analyst and Imagery
Analyst (All add on extension to Arc). While not 100% equivalent it's
similar enough in feature set. I also tend to recommend a combo of QGIS
as the data prep/viewer/map maker and GRASS (not via plugin) as the
backend analysis workhorse.

For general Raster analysis that uses existing tools GRASS is a great
option. In the course I help with we've avoided it though because the
Location/Mapset concept throws too many students into confusion early
on. Instead we've followed a course similar to the Utah one on how to
use GDAL/Numpy, which gives students more of a feel for how to iterate
over raster data and learn to deal with it in chunks or rows to avoid
memory issues, so they better understand how raster algorithm
development works.
http://www.gis.usu.edu/~chrisg/python/

I need to talk with my Professor about getting our updated version online.

Thanks,
Alex

On 04/02/2012 10:40 AM, Michael Barton wrote:

I don't know of any such comparison, but you could write the user and developer lists to see if there is one. I haven't kept up with Arc scripting in recent years. I believe they switched from their own OOL to Visual Basic. However, I've recently heard things that suggest you can script in Python too (but I'm not sure about that).

With GRASS, you can script in about anything that will interact with the shell (or DOS window) in some way. In recent years, we've emphasized Python over BASH, creating many convenience classes and methods in Python for GRASS scripting.

I'm not sure of the level of your students. But if this is also an introduction to GRASS and advanced GIS, I think it will make it much harder for them to learn if you keep them from using the GUI. An important aspect of the GUI from the point of view of scripting is that it is designed to help users learn command-line tools and scripting.

1. All GUI dialogs for commands have the option of copying the command and its arguments so that it can be pasted into the command line or into a script.

2. Additionally, the GRASS command console provides a rich hinting environment (with autocompletion and tab to get command syntax) for issuing GRASS commands.

3. Finally, the new graphical modeler is an excellent tools to start scripting. You can create chains of GRASS commands--complete with user interaction and recursion--with graphical tools, test them, and then save them to Python scripts that can then be enhanced. There are not many written docs for this yet, but there is an excellent set of You-Tube videos on their use that should be very helpful for students.

Michael

On Apr 1, 2012, at 8:15 AM, Doc Robinson wrote:

Professor Barton,
I very much liked your posting comparing ArcGIS with GRASS for the new
user. I was wondering if you have run across a good summary comparing
the two with regard to scripting for complex raster processing problems?

I going to introduce some of our graduate students (a couple from
Anthropology as well) to GRASS 6.4.x but not the GUI...just the text
CLI so they concentrate on script writing.

thanks in advance
--
Regards,

Doc
<doc_robinson.vcf>

_____________________
C. Michael Barton
Visiting Scientist, Integrated Science Program
National Center for Atmospheric Research &
University Corporation for Atmospheric Research
303-497-2889 (voice)

Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu

On 04/02/2012 08:00 PM, Alex Mandel wrote:

I can clarify some of the questions... Arc has dropped Visual Basic
in favor of python, in the current 10.x series though python can only
interact with tools in the toolbox (making it quite similar to how
GRASS works). Anything more directly using Arc libs to build
applications at the low level requires .Net.

Personally I like to explain it as GRASS fills the same role
typically filled by Spatial Analyst, 3D Analyst, Network Analyst and
Imagery Analyst (All add on extension to Arc). While not 100%
equivalent it's similar enough in feature set. I also tend to
recommend a combo of QGIS as the data prep/viewer/map maker and GRASS
(not via plugin) as the backend analysis workhorse.

For general Raster analysis that uses existing tools GRASS is a
great option. In the course I help with we've avoided it though
because the Location/Mapset concept throws too many students into
confusion early on. Instead we've followed a course similar to the
Utah one on how to

If you use GRASS via SEXTANTE and gvSIG, then you have all in one
package and no need to manage a location/mapset:

   http://www.oadigital.net/software/gvsigoade

Basically it's like ArcView 3.x, plus all the "[PayALotOfMoney] Analyst"
extensions (Raster, Network, etc.).

I have used the above in many GIS training courses, as an integrated
software platform for students with different backgrounds, interests
and skill levels. I have also successfully replaced ArcGIS 10 with
the above for very demanding land use/management and data analysis
projects.

Best,

Ben

use GDAL/Numpy, which gives students more of a feel for how to
iterate over raster data and learn to deal with it in chunks or rows
to avoid memory issues, so they better understand how raster
algorithm development works. http://www.gis.usu.edu/~chrisg/python/

I need to talk with my Professor about getting our updated version
online.

Thanks, Alex

On 04/02/2012 10:40 AM, Michael Barton wrote:

I don't know of any such comparison, but you could write the user
and developer lists to see if there is one. I haven't kept up with
Arc scripting in recent years. I believe they switched from their
own OOL to Visual Basic. However, I've recently heard things that
suggest you can script in Python too (but I'm not sure about
that).

With GRASS, you can script in about anything that will interact
with the shell (or DOS window) in some way. In recent years, we've
emphasized Python over BASH, creating many convenience classes and
methods in Python for GRASS scripting.

I'm not sure of the level of your students. But if this is also an
introduction to GRASS and advanced GIS, I think it will make it
much harder for them to learn if you keep them from using the GUI.
An important aspect of the GUI from the point of view of scripting
is that it is designed to help users learn command-line tools and
scripting.

1. All GUI dialogs for commands have the option of copying the
command and its arguments so that it can be pasted into the command
line or into a script.

2. Additionally, the GRASS command console provides a rich hinting
environment (with autocompletion and tab to get command syntax) for
issuing GRASS commands.

3. Finally, the new graphical modeler is an excellent tools to
start scripting. You can create chains of GRASS commands--complete
with user interaction and recursion--with graphical tools, test
them, and then save them to Python scripts that can then be
enhanced. There are not many written docs for this yet, but there
is an excellent set of You-Tube videos on their use that should be
very helpful for students.

Michael

On Apr 1, 2012, at 8:15 AM, Doc Robinson wrote:

Professor Barton, I very much liked your posting comparing ArcGIS
with GRASS for the new user. I was wondering if you have run
across a good summary comparing the two with regard to scripting
for complex raster processing problems?

I going to introduce some of our graduate students (a couple
from Anthropology as well) to GRASS 6.4.x but not the GUI...just
the text CLI so they concentrate on script writing.

thanks in advance -- Regards,

Doc <doc_robinson.vcf>

_____________________ C. Michael Barton Visiting Scientist,
Integrated Science Program National Center for Atmospheric
Research& University Corporation for Atmospheric Research
303-497-2889 (voice)

Director, Center for Social Dynamics& Complexity Professor of
Anthropology, School of Human Evolution& Social Change Arizona
State University www: http://www.public.asu.edu/~cmbarton,
http://csdc.asu.edu

_______________________________________________ grass-user mailing
list grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

--
Benjamin Ducke
{*} Geospatial Consultant
{*} GIS Developer

   benducke@fastmail.fm

Il 02/04/2012 20:45, Benjamin Ducke ha scritto:

If you use GRASS via SEXTANTE and gvSIG, then you have all in one
package and no need to manage a location/mapset:

  http://www.oadigital.net/software/gvsigoade

soon this will be available in QGIS as well.
GRASS is also very much usable within QGIS already.
all the best.

--
Paolo Cavallini
See: http://www.faunalia.it/pc