Hi:
I'm cc'ing the GRASS list, since someone else may have additional ideas.
maven apache wrote:
Hi:
I have set all the environment variables needed by Grass,so I start
run the grass commond.
********Here I have set the env and the g in the "g,run" respent a
java class to config the grass**********
g.run("r.info <http://r.info> map=roads"); // here I intent to
test whether I have enter the default grass location(spanish60) or not
g.run("g.proj -c georef=d:/kk.tif datumtrans=0
location=mainLocation"); // create new location and mapset accord a tiff
g.setLocationAndMapSet("mainLocation", "PERMANENT"); //reset the
locaton and mapset
g.run("r.in.gdal input=d:/kk.tif out=kkTest");
Most likely you will want to add here: g.region rast=kkTest
This insures that the computational region is the same as the imported
tiff.
If you don't set the region to the raster's extent then you'll get the
"black blank" image you mentioned below.
g.run("r.info <http://r.info> map=kkTest");
g.run("r.buffer input=kkTest output=kkout distances=100 units=meters");
g.run("r.out.gdal input=kkout format=GTiff
output=d:/kkgeotiffTest.tif"); //here I got a black blank image
which I can not open it with common image reader
g.run("r.out.tiff input=kkout output=d:/kktiffTest.tif
compression=none --quiet"); //here I got a buffered image I can see
the roads in it with the commo image viewer. I am not sure why? They
are all exported to tiff just by two methods..
As far as I know, r.out.tiff is just a simplified version of r.out.gdal.
When you use r.out.gdal you have more options available, In particular
there's the "createopt" option, So you can do:
r.out.gdal in=kkout out=d:/kktiffTest,tif
createopt="INTERLEAVE=PIXEL,TFW=YES"
The setLocationAndMapSet method:
public void setLocationAndMapSet(String nLocation,String nMapset) {
String gisRc="grassrc";
FileWriter fstream;
try {
fstream = new java.io.FileWriter(gisRc);
BufferedWriter out = new java.io.BufferedWriter(fstream);
out.write("LOCATION_NAME: " + nLocation + " \n");
out.write("GISDBASE: " + grassDataBase + "\n");
out.write("MAPSET: " + nMapset + " \n");
out.write("DIGITIZER: none\n");
out.write("OVERWRITE: 1\n");
out.write("GRASS_GUI: text\n");
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.setEnv(grassPath, null,gisRc,nMapset, nLocation,
grassDataBase,grassPath+File.separator+"proj");
}
In any case ,I have make a progrss, ^_^
I have some extra questions:
1) take the using grass gui for instance,I want to know if user can
change its location dynamically or he can only change it by restart
the grass ? I just want to know the above method is improveable?
g.mapset is the command to change the location or mapset within a GRASS
session
2) the differedt resut of two differente export way( r.out.gdal
r.out.tiff)
See above.
3) Can I delete the location using some grass commond? I mean I want
to delete the created location and mapset after a user quested is
completed.
Just delete the whole location directory.
Thanks!
Regards,
Micha
2009/6/14 Micha Silver <mi...@arava.co.il <mailto:mi...@arava.co.il>>
maven apache wrote:
I think you should start this way, and
work out the string of GRASS commands you will need *before*
you start scripting.
Sorry but I am not exactly know your meaning.
I just suggest you start by working out the GRASS commands you
will need from *within GRASS*. For example, for the script I sent
you earlier, I first started GRASS, then I ran those commands, one
by one. This way I can check that the commands are working as I
want. Then, I copied them into the script and, after exiting
GRASS, I ran the script.
Then, once you have the workflow running correctly, you can,
from outside of GRASS,
Also,what?
It's very possible to run GRASS commands without the GRASS
interface, but you first have to set up the environment: some
environ variables and path. The basic example script is a demo how
it could be done. Once you have setup those path and environment
variables, you can run a script of GRASS commands without starting
the interface.
Hope that's clearer now...
--
Micha
setup the environment and run that same workflow.
This mail was received via Mail-SeCure System.
This mail was received via Mail-SeCure System.
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user