[GRASS-dev] Python Scripting
Michael Barton
michael.barton at asu.edu
Mon Jul 21 13:17:20 EDT 2008
On Jul 21, 2008, at 7:52 AM, Dan D'Alimonte wrote:
> Having never used SWIG, my understanding was it gives you access to
> the functions in the C library? This is a good thing, yes, but I was
> thinking of something beyond this. As I stated earlier, to allow
> programming for GRASS at a higher level the the C functions,
> including making use of Python's Object Oriented features to
> encapsulate GRASS data structures and processes. For example, a
> RasterLayer class that contains raster data, with it associated
> spatial characteristics, that can provide interators over rows of
> cells, columns of cells, individual cells, or moving windows such as
> a 3x3 matrix.
My understanding is that the Python GRASS SWIG interface makes this
possible. However, wrapping this into a nice Python library would make
it more accessible to a broader audience.
> And apologies in return if I've been unclear.
Probably my lack of understanding of the more advanced aspects of
Python.
Michael
>
>
>
> Michael Barton wrote:
>> I can see how it could be handy to be able to access GRASS library
>> functions from Python. Would this differ from the Python SWIG
>> interface? I thought that SWIG was supposed to allow this?
>> Or maybe I misunderstand. Sorry if I am missing something.
>> Michael
>> On Jul 18, 2008, at 3:29 PM, Dan D'Alimonte wrote:
>>> That's why I put it to the mailing list. I was picturing something
>>> that acted as an intermediate between the low-level, direct data
>>> access nature of the C library and the high-level nature of shell
>>> scripts, This could possibly easily allow access to both in the
>>> same program. In situations where shell scripts' limits make you
>>> jump through hoops and the C library is just too low-level, a
>>> solid Python library would be of use in developing GRASS programs.
>>> It could also allow for more people access to GRASS and GIS
>>> programming by providing a language with a much lower learning
>>> curve then C.
>>>
>>> As to whether it is needed or worth undertaking, that would be up
>>> to the community. What I put below was based on some periodic
>>> thoughts I've had in the past, but an actual design and
>>> implementation would need to be developed if there is enough
>>> interest. And if Python is indeed the right environment to do this
>>> in (I know speed of raster processing has already been brought up).
>>>
>>> -- Dan.
>
More information about the grass-dev
mailing list