MC3330
18-11-2009, 14:45
Hallo,
ich hoffe GRADS gilt als Skriptsprache und ich bin hier richtig.
Ich habe ein GRADS-Skript, bei dem sich fuer mich 2 Probleme ergeben.
Problem 1: Koordinaten umrechnen
Ich habe einige Koordinaten die ich in die Karte als Punkt eintragen will.
Ich habe geloest, indem ich ueber
>q ll2xy 34.59813 -19.8804
4.83022 3.9892
meine geograpischen Koordinaten in X,Y-Koordnaten umwandele und sie dann mit
'draw mark 3 4.83022 3.9892 0.1'
in meine Karte eintrage. Das klappt so weit.
Das Problem besteht jetzt darin, dass ich die Werte die mir der ll2xy-Befehl ausgespuckt habe per Hand in den
DRAW-Befehl eingetragen habe. Das heisst ich muss das jedes mal, wenn ich Laengen- oder Breitengrad
der Karte aendere per Hand wiederholen.
Ich wuerde das gerne per Variablen automatisieren. Ich habe es geschafft ueber
'q ll2xy 34.59813 -19.8804 #Buzi'
lonbu= subwrd(result,1)
latbu= subwrd(result,2)
die von ll2xy ausgegebenen Werte zwei Variablen zuzuordnen. Wenn ich jetzt versuche diese beiden Variablen
mit dem DRAW-Befehl zu verwenden,
q ll2xy lonbu lanbu -19.8804
da nn klappt das leider nicht.
Fragen:
Kann mir jemand sagen ob das, was ich hier versuche generell moeglich ist?
Falls es moeglich ist waere es nett, wenn mir jemand sagen koennte, wie die korrekte Syntax aussieht.
Problem 2: Ausfuehren in einem SHELL-Skript
Bisher habe ich menu Skript immer ausgefuehrt, indem ich Grads mit
gradsc -l
geoeffnet habe und es dann mit
run skript.gs
ausgefuehrt habe. Einem Skellskript , dass
ich fuer mein Gradsskript anpassen wollte habe ich entnommen, dass man Gradsskripte in einem SHELL-Skript
innerhalb von
gradsc -bl <<EOF
quit
EOF
ausfuehren kann. Hier habe ich das Problem, dass das bei mir nicht klappt.
Beispiel:
Wenn ich in einem Gradsskript oder direkt in Grads den Befehl
'open hff00Z07mar2008.ctl' bzw open hff00Z07mar2008.ctl]
ausfuehre, dann wird das File hff00Z07mar2008.ctl geoeffent und ich erhalte die folgenden Meldung:
Scanning description file: hff00Z07mar2008.ctl
Data file hff00Z07mar2008_%f3 is open as file 1
LON set to 15 60
LAT set to -35 -5
LEV set to 40 40
Time values set: 2008:3:7:0 2008:3:7:0
In einem SHELL-Skript
gradsc -bl <<EOF
open hff00Z07mar2008.ctl
quit
EOF
erhalte ich jedoch folgende Fehlermeldung
Running in Batch mode
ga-> open hff00Z07mar2008.ctl
Scanning description file: hff00Z07mar2008.ctl
Open Error: Can't open description file
Fragen:
Ist die Art wie ich versuche das ganze in einem SHELL-Skript auszufuehren generell richtig?
Hat jemand eine Idee, warum ich die Datei im SHELL-Skript nicht oeffnen kann?
Viele Gruesse und vielen Dank im Vorraus Swizz
p.s.
Ist ein bisschen lang geworden, aber ich hab versucht, das Problem moeglichst genau zu beschreiben.
Ich hoffe es macht sich trotzdem jemand die Muehe es zu lesen.
p.p.s. Fuer den Fall, dass das komplete Skript irgendwie fuer die Problemloesung gebraucht wird, stelle ich hier
auch noch rein.
'reinit'
'open hff00Z07mar2008.ctl'
'set lat -21 -18.5'
'set lon 32 38'
'set mpdset hires'
#allocation of the variables
##########################################
'q ll2xy 34.59813 -19.8804 #Buzi'
kbu=result
lonbu= subwrd(result,1)
latbu= subwrd(result,2)
'q ll2xy 33.39768 -19.9749 #Dhombe'
kdh=result
'q ll2xy 33.98333 -19.8217 #Grudja'
kgr=result
'q ll2xy 33.8215 -19.9238 #Goonda'
kgo=result
'q ll2xy 34.18018 -19.9726 # Estaquinha'
kes=result
'q ll2xy 34.8838 -19.8494 # Beira'
kbe=result
'q ll2xy 33.03708 -18.9966 # Ifloma'
kbe=result
'q ll2xy 33.7064 -20.197 # Chibava'
kbe=result
'q ll2xy 32.7717 -20.4341 # Espungabera'
kbe=result
##########################################
'set gxout shaded'
'set display color white'
'c'
'set clevs 0 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.0010 0.0011 0.0012'
'set rbcols 0 14 4 11 5 13 3 10 7 12 8 2 6'
'tp = rain_gsp+rain_con+snow_gsp+snow_con'
'd tp'
'draw title Overview Precipitation District Buzi'
'draw xlab Precipitation of the next 72 hours [mm]'
'set line 2 2 6'
'draw line 5.1 3.9892 2.2 6.2'
'draw line 2.2 6.2 2 6.2'
'draw line 5.1 3.9892 2.4 2.05'
'draw line 2.4 2.05 1.32 2.'
'set line 4 1 6'
'draw line 4.83022 3.9892 5.1 3.9892'
'draw line 4.83022 3.9892 4.13363 3.8048'
'draw line 4.13363 3.8048 3.80555 4.1066'
'draw line 3.80555 4.1066 3.53583 3.9024'
'draw line 3.53583 3.9024 3.344 3.356'
'draw line 3.53583 3.9024 2.82946 3.8002'
'set line 8 1 6'
'draw mark 3 4.83022 3.9892 0.1'
'draw mark 3 4.13363 3.8048 0.1'
'draw mark 3 3.80555 4.1066 0.1'
'draw mark 3 3.53583 3.9024 0.1'
'draw mark 3 2.82946 3.8002 0.1'
'draw mark 3 5.30633 4.0512 0.1'
'draw mark 3 3.344 3.356 0.1'
'draw mark 3 2.22846 5.7568 0.1'
'draw mark 3 1.78617 2.8818 0.1'
'set string 1 bc 6'
'draw string 4.83022 4.0892 Buzi'
'set string 1 tc 6'
'draw string 4.13363 3.7048 Estaquinha'
'set string 1 bc 6'
'draw string 3.80555 4.2066 Grudja'
'set string 1 br 6'
'draw string 3.53583 4.0024 Goonda'
'set string 1 r 6'
'draw string 2.72946 3.8002 Dhombe'
'set string 1 l 6'
'draw string 5.40633 4.0512 Beira'
'set string 1 tc 6'
'draw string 3.344 3.256 Chibabava'
'set string 1 tc 6'
'draw string 2.22846 5.6568 Ifloma'
'set string 1 bl 6'
'draw string 1.88617 2.6818 Espungabera'
'set strsiz 0.2'
'set string 15 tc 6 90'
'draw string 1 4.2 Zimbabwe'
'set string 15 tc 6 0'
'draw string 5 6 Mocambique'
'run /home/hrmprod/hrm_mozambique/src/Grads4Web/gradscp/cbarn.gs'
'printim prec_buzi_0_72.png x2000 y2000'
ich hoffe GRADS gilt als Skriptsprache und ich bin hier richtig.
Ich habe ein GRADS-Skript, bei dem sich fuer mich 2 Probleme ergeben.
Problem 1: Koordinaten umrechnen
Ich habe einige Koordinaten die ich in die Karte als Punkt eintragen will.
Ich habe geloest, indem ich ueber
>q ll2xy 34.59813 -19.8804
4.83022 3.9892
meine geograpischen Koordinaten in X,Y-Koordnaten umwandele und sie dann mit
'draw mark 3 4.83022 3.9892 0.1'
in meine Karte eintrage. Das klappt so weit.
Das Problem besteht jetzt darin, dass ich die Werte die mir der ll2xy-Befehl ausgespuckt habe per Hand in den
DRAW-Befehl eingetragen habe. Das heisst ich muss das jedes mal, wenn ich Laengen- oder Breitengrad
der Karte aendere per Hand wiederholen.
Ich wuerde das gerne per Variablen automatisieren. Ich habe es geschafft ueber
'q ll2xy 34.59813 -19.8804 #Buzi'
lonbu= subwrd(result,1)
latbu= subwrd(result,2)
die von ll2xy ausgegebenen Werte zwei Variablen zuzuordnen. Wenn ich jetzt versuche diese beiden Variablen
mit dem DRAW-Befehl zu verwenden,
q ll2xy lonbu lanbu -19.8804
da nn klappt das leider nicht.
Fragen:
Kann mir jemand sagen ob das, was ich hier versuche generell moeglich ist?
Falls es moeglich ist waere es nett, wenn mir jemand sagen koennte, wie die korrekte Syntax aussieht.
Problem 2: Ausfuehren in einem SHELL-Skript
Bisher habe ich menu Skript immer ausgefuehrt, indem ich Grads mit
gradsc -l
geoeffnet habe und es dann mit
run skript.gs
ausgefuehrt habe. Einem Skellskript , dass
ich fuer mein Gradsskript anpassen wollte habe ich entnommen, dass man Gradsskripte in einem SHELL-Skript
innerhalb von
gradsc -bl <<EOF
quit
EOF
ausfuehren kann. Hier habe ich das Problem, dass das bei mir nicht klappt.
Beispiel:
Wenn ich in einem Gradsskript oder direkt in Grads den Befehl
'open hff00Z07mar2008.ctl' bzw open hff00Z07mar2008.ctl]
ausfuehre, dann wird das File hff00Z07mar2008.ctl geoeffent und ich erhalte die folgenden Meldung:
Scanning description file: hff00Z07mar2008.ctl
Data file hff00Z07mar2008_%f3 is open as file 1
LON set to 15 60
LAT set to -35 -5
LEV set to 40 40
Time values set: 2008:3:7:0 2008:3:7:0
In einem SHELL-Skript
gradsc -bl <<EOF
open hff00Z07mar2008.ctl
quit
EOF
erhalte ich jedoch folgende Fehlermeldung
Running in Batch mode
ga-> open hff00Z07mar2008.ctl
Scanning description file: hff00Z07mar2008.ctl
Open Error: Can't open description file
Fragen:
Ist die Art wie ich versuche das ganze in einem SHELL-Skript auszufuehren generell richtig?
Hat jemand eine Idee, warum ich die Datei im SHELL-Skript nicht oeffnen kann?
Viele Gruesse und vielen Dank im Vorraus Swizz
p.s.
Ist ein bisschen lang geworden, aber ich hab versucht, das Problem moeglichst genau zu beschreiben.
Ich hoffe es macht sich trotzdem jemand die Muehe es zu lesen.
p.p.s. Fuer den Fall, dass das komplete Skript irgendwie fuer die Problemloesung gebraucht wird, stelle ich hier
auch noch rein.
'reinit'
'open hff00Z07mar2008.ctl'
'set lat -21 -18.5'
'set lon 32 38'
'set mpdset hires'
#allocation of the variables
##########################################
'q ll2xy 34.59813 -19.8804 #Buzi'
kbu=result
lonbu= subwrd(result,1)
latbu= subwrd(result,2)
'q ll2xy 33.39768 -19.9749 #Dhombe'
kdh=result
'q ll2xy 33.98333 -19.8217 #Grudja'
kgr=result
'q ll2xy 33.8215 -19.9238 #Goonda'
kgo=result
'q ll2xy 34.18018 -19.9726 # Estaquinha'
kes=result
'q ll2xy 34.8838 -19.8494 # Beira'
kbe=result
'q ll2xy 33.03708 -18.9966 # Ifloma'
kbe=result
'q ll2xy 33.7064 -20.197 # Chibava'
kbe=result
'q ll2xy 32.7717 -20.4341 # Espungabera'
kbe=result
##########################################
'set gxout shaded'
'set display color white'
'c'
'set clevs 0 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.0010 0.0011 0.0012'
'set rbcols 0 14 4 11 5 13 3 10 7 12 8 2 6'
'tp = rain_gsp+rain_con+snow_gsp+snow_con'
'd tp'
'draw title Overview Precipitation District Buzi'
'draw xlab Precipitation of the next 72 hours [mm]'
'set line 2 2 6'
'draw line 5.1 3.9892 2.2 6.2'
'draw line 2.2 6.2 2 6.2'
'draw line 5.1 3.9892 2.4 2.05'
'draw line 2.4 2.05 1.32 2.'
'set line 4 1 6'
'draw line 4.83022 3.9892 5.1 3.9892'
'draw line 4.83022 3.9892 4.13363 3.8048'
'draw line 4.13363 3.8048 3.80555 4.1066'
'draw line 3.80555 4.1066 3.53583 3.9024'
'draw line 3.53583 3.9024 3.344 3.356'
'draw line 3.53583 3.9024 2.82946 3.8002'
'set line 8 1 6'
'draw mark 3 4.83022 3.9892 0.1'
'draw mark 3 4.13363 3.8048 0.1'
'draw mark 3 3.80555 4.1066 0.1'
'draw mark 3 3.53583 3.9024 0.1'
'draw mark 3 2.82946 3.8002 0.1'
'draw mark 3 5.30633 4.0512 0.1'
'draw mark 3 3.344 3.356 0.1'
'draw mark 3 2.22846 5.7568 0.1'
'draw mark 3 1.78617 2.8818 0.1'
'set string 1 bc 6'
'draw string 4.83022 4.0892 Buzi'
'set string 1 tc 6'
'draw string 4.13363 3.7048 Estaquinha'
'set string 1 bc 6'
'draw string 3.80555 4.2066 Grudja'
'set string 1 br 6'
'draw string 3.53583 4.0024 Goonda'
'set string 1 r 6'
'draw string 2.72946 3.8002 Dhombe'
'set string 1 l 6'
'draw string 5.40633 4.0512 Beira'
'set string 1 tc 6'
'draw string 3.344 3.256 Chibabava'
'set string 1 tc 6'
'draw string 2.22846 5.6568 Ifloma'
'set string 1 bl 6'
'draw string 1.88617 2.6818 Espungabera'
'set strsiz 0.2'
'set string 15 tc 6 90'
'draw string 1 4.2 Zimbabwe'
'set string 15 tc 6 0'
'draw string 5 6 Mocambique'
'run /home/hrmprod/hrm_mozambique/src/Grads4Web/gradscp/cbarn.gs'
'printim prec_buzi_0_72.png x2000 y2000'