Benutzer:Lilleskut/Afrikakarte
Topographische Karte Afrika
Die folgenden Befehlszeilen erzeugen eine topographische Karte von Afrika. Der code ist für Debian linux (bash shell) entwickelt, sollte sich aber leicht folgendermaßen für andere Systeme abändern lassen:
- Ersezte ${Variablenname} durch den Teil rechts von export Variablenname= in den export... Zeilen
- Entferne GMT in den Befehlszeilen
Definiere einige Variablen:
export jcoord=C17.25/-1.5/27c export rcoord=-32/-28/66.5/31r export flussfarbe=99/118/150 export dresol=i export minarea=50 export gridf=africa.grd export outf=africa.ps export schattenf=africaschatten.grd export landcpt=frenchwikicont.cpt export meercpt=frenchwikimeer.cpt
Die eigentlichen Befehle:
GMT grdcut /usr/share/gmt/ETOPO2v2c_flt.grd -R-34/-42/69/45r -G${gridf} -fg GMT grdgradient ${gridf} -A45 -Ne0.5 -V -G${schattenf} GMT grdimage ${gridfetopo} -C${meercpt} -J${jcoord} -R${rcoord} -V -P -K --PAPER_MEDIA=A3 >${outf} GMT pscoast -Gc -J${jcoord} -R${rcoord} -A${minarea} -D${dresol} -V -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT grdimage ${gridf} -I${schattenf} -C${landcpt} -J${jcoord} -R${rcoord} -V -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT pscoast -J${jcoord} -R${rcoord} -A${minarea} -V -Q -O -K >>${outf} GMT pscoast -J${jcoord} -R${rcoord} -A${minarea} -I1/1/${flussfarbe} -W0.4/${flussfarbe} -D${dresol} -V -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT pscoast -J${jcoord} -R${rcoord} -A${minarea}/2/4 -S170/200/255 -W0.4/${flussfarbe} -D${dresol} -V -P -O --PAPER_MEDIA=A3 >>${outf} GMT ps2raster -A -Te ${outf}
cpt-Dateien:
#frenchwikicont.cpt 0 172 208 165 50 168 198 143 50 168 198 143 500 209 215 171 500 209 215 171 1500 239 235 192 1500 239 235 192 2000 222 214 163 2000 222 214 163 3000 202 185 130 3000 202 185 130 4000 192 154 83 4000 192 154 83 5500 236 236 236 5500 236 236 236 6000 236 236 236 B 148 191 139 F 255 255 255 N 255 255 255
#frenchwikimeer.cpt -11000 127 168 203 -5500 146 181 213 -5500 146 181 213 -3000 160 194 222 -3000 160 194 222 -2000 173 203 230 -2000 173 203 230 -750 185 213 237 -750 185 213 237 -70 196 223 244 -70 196 223 244 -20 206 231 253 -20 206 231 249 0 218 240 253 B 36 38 175 F 218 240 253 N 218 240 253
Dieser code liefert eine encapsulated postscript Datei africa.eps, die mit Gimp weiterverarbeitet und als png gespeichert wurde:
- Import from postscript
- Resolution: 250
- Width: 2065
- Height: 2925
- Colouring: Colour
- Text antialiasing: none
- Graphic antialiasing: none
- Indexed Colour Conversion (Image->Mode->Indexed...)
- Generate optimum palette, Maximum number of colours: 256
- Dithering: none
- Einzeichnen fehlender Flußverläufe und Korrektur des veralteten Tschadsees
- Save Image...: africa.png
Topographische Karte mit Grenzen
Die obige topographische Karte (africa.png) wurde mit einem transparenten png (africaborders.png) in inkscape kombiniert. africaborders.png enthält lediglich die Grenzverläufe. Da die Grenzdaten in GMT teilweise veraltet sind, waren einige manuelle Anpassungen nötig. Die Vorgehensweise, war dabei wie folgt:
- falsche Grenzverläufe mit psclip ausschneiden
- restliche Grenzen (jene die in GMT korrekt gespeichert sind) mit pscoast zeichnen
- Ende des psclip
- fehlende Grenzen mit psxy eintragen
Fehler
Insgesamt wurden die folgenden GMT-Daten-Fehler beseitigt:
- Grenzverläufe zwischen Äthiopien/Eritrea, Walfischbucht, Irak/Jordanien, Irak/Saudi Arabien, Vereinigte Arabische Emirate, Westjordanland/Jordanien, Israel/Syrien -> Grenzen korrigiert beziehungsweise entfernt
- Umstrittene Gebiete Ilemi-Dreieck und Hala'ib-Dreieck -> durch gestrichelte Linien gekennzeichnet
- Grenzen im Meer (GMT speichert diese zum Teil als Grenzen über Land) -> korrigiert und mit Strich-Punkt-Linie versehen
Code
Definition einiger Variablen:
export jcoord=C17.25/-1.5/27c export rcoord=-32/-28/66.5/31r export dresol=f export bordercol=120 export outf=africaborderst.ps
Schneide die Gebiete aus, deren (Land)grenzen falsch in GMT gespeichert sind. Zeichne die übrigen (Land)grenzen, also jene die korrekt in GMT sind, ein.
GMT psclip borderclip seegrenzenclip halaibclip -J${jcoord} -R${rcoord} -N -M -P -K --PAPER_MEDIA=A3 >${outf} GMT pscoast -J${jcoord} -R${rcoord} -D${dresol} -N1/1/${bordercol} -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT psclip -C -O -K >> ${outf}
Zeichne alle (Meer)grenzen sowie jene Grenzen im Meer die in GMT als "Landgrenzen" gespeichert sind.
GMT pscoast -J${jcoord} -R${rcoord} -D${dresol} -N3/1,${bordercol},-. -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT psclip seegrenzenclip2 -J${jcoord} -R${rcoord} -M -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT pscoast -J${jcoord} -R${rcoord} -D${dresol} -N1/1,${bordercol},-. -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT psclip -C -O -K >> ${outf}
Zeichne die (in den GMT-Daten vorhandene) Grenze im Hala'ib-Dreieck gestrichelt (war durchgezogene Linie).
GMT psclip halaibclip -J${jcoord} -R${rcoord} -M -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT pscoast -J${jcoord} -R${rcoord} -D${dresol} -N1/1,${bordercol},- -P -K -O --PAPER_MEDIA=A3 >>${outf} GMT psclip -C -O -K >> ${outf}
Zeichne die fehlenden Grenzen, also solche die in den GMT-Daten fehlen und jene die in den GMT-Daten falsch waren und daher anfangs (s.o.) ausgelassen wurden.
GMT psxy grirak -J${jcoord} -R${rcoord} -: -W1/$bordercol} -P -O -K --PAPER_MEDIA=A3 >> ${outf} GMT psxy grwestbank -J${jcoord} -R${rcoord} -: -W1/$bordercol} -P -O -K --PAPER_MEDIA=A3 >> ${outf} GMT psxy grisraelsyria -J${jcoord} -R${rcoord} -: -W1/$bordercol} -P -O -K --PAPER_MEDIA=A3 >> ${outf} GMT psxy grilemi -J${jcoord} -R${rcoord} -: -W1/,${bordercol},- -P -O -K --PAPER_MEDIA=A3 >> ${outf} GMT psxy grhalaib -J${jcoord} -R${rcoord} -: -W1/,${bordercol},- -P -O -K --PAPER_MEDIA=A3 >> ${outf} GMT psxy greritrea -J${jcoord} -R${rcoord} -: -W1/$bordercol} -P -O -K --PAPER_MEDIA=A3 >> ${outf} GMT psxy grvae -J${jcoord} -R${rcoord} -: -W1/$bordercol} -P -O --PAPER_MEDIA=A3 >> ${outf}
Erzeuge png-Datei aus ps-Datei.
GMT ps2raster -A -E250 -Tg ${outf}
Erzeuge transparentes png.
convert africaborderst.png -transparent white africaborders.png
Das Ergebnis ist africaborders.png, ein transparentes png mit allen Grenzen.