[GRASS5] Swig interface for Grass

Ari Jolma ari.jolma at tkk.fi
Wed Aug 31 01:50:12 EDT 2005


Glynn Clements wrote:

>Ari Jolma wrote:
>
>  
>
>>Well, I managed to get a Grass error message from a Perl program :)
>>
>>I made a simple Swig interface file into which I added the main() from 
>>r.slope.aspect with a new name:
>>    
>>
>Are you running this from within a GRASS session? The GRASS libraries
>require a number of environment variables to be set.
>  
>
Yes, I know, but that was not the point, sorry it was probably not very 
evident from my post. The point was that Markus was toying with the idea 
of having a scripting (Perl, Python,..) interface to Grass library and 
modules and presented it to me. I had some time and wanted to study Swig 
anyway so I tried it and was able to make a Perl interface to the 
libraries and embed the r.slope.aspect app into it (as a function with 
the name r_slope_aspect). The next step would not be for me to get the 
program actually working (with the env vars) but make it into a standard 
Perl module distribution, which would install the normal way (perl 
Makefile.PL; make; make test; install -- it would require Grass sources 
and swig) so people (with more Grass use experience) could try it and we 
could perhaps get the ball rolling. I *think* I know now how to make 
such a distribution (perhaps it would be Geo-Grass-0.01.tar.gz in CPAN) 
but I need perhaps a day to make it (it would include the libs and some 
apps) -- but I can also give my knowledge/results so far to someone else 
who wants to work on this.

We could also discuss a bit how such Perl interface should work / look 
like. Using Swig makes it easier to port the interface to Python and 
other languages.

Ari




More information about the grass-dev mailing list