#1 Le 15/03/2007, à 11:36
- luckytoyn
créer petit guide installation gmt ?(Generic Mapping Tools)
Bonjour à tous,
Je suis un peu nouveau sous ubuntu et j'ai eu quelques problèmes pour installer gmt. Je propose de créer une
petite page avec les quelques commandes à rajouter pour que tout marche (je n'ai rien trouvé sur la doc qui
parle de gmt (en dehors de Greenwich Mean Time qui n'a strictement rien à voir bien sur...)).
Evidemment, j'ai besoin que vous testiez tout ça avant de faire quoi que ce soit...
Voici la démarche pour installer gmt :
$ sudo apt-cache search gmt
powermgmt-base - Common utils and configs for power management
bacula-console - Network backup, recovery and verification (Mgmt. Console)
gmt - Generic Mapping Tools
gmt-coast-low - Low resolution coastlines for the Generic Mapping Tools
gmt-doc - HTML documentation for GMT, the Generic Mapping Tools
gmt-doc-pdf - PDF docs for GMT, the Generic Mapping Tools
gmt-doc-ps - PostScript docs for the Generic Mapping Tools
gmt-examples - Example scripts illustrating the use of GMT
gmt-manpages - Manpages for the Generic Mapping Tools
gmt-tutorial - Data files needed to reproduce the tutorial examples of GMT
gmt-tutorial-pdf - Tutorial for GMT, the Generic Mapping Tools (PDF)
gmt-tutorial-ps - Tutorial for the Generic Mapping Tools (PostScript)
libtime-piece-perl - Perl module for object oriented time objects
multi-aterm - tabbed terminal emulator with efficent pseudo transparency
ogmtools - Tools for manipulating Ogg multimedia streams
sdate - never ending September date
sunclock - fancy clock showing time and geographical data
sunclock-maps - sunclock vector graphic maps
juste pour voir ce qui est disponible, puis
sudo apt-get install gmt
C'est là que je vous demande de vérifier : pour moi, tout s'installe mais les fonctions ne sont pas
disponibles de n'importe où !
J'ai donc trouvé un post du site ubuntu anglophone (http://ubuntuforums.org/showthread.php?t=351300)
qui dit qu'il faut rajouter ceci dans le .bashrc :
#gmt variables
export NETCDFHOME="/usr/lib"
export GMTHOME="/usr/lib/gmt"
export PATH="$PATH:$GMTHOME/bin"
Et avec ça, tout marche
Qu'en pensez vous?
Dernière modification par luckytoyn (Le 15/03/2007, à 14:06)
http://perso.ens-lyon.fr/antoine.rozel/
Hors ligne
#2 Le 15/03/2007, à 14:05
- luckytoyn
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Pardon, correction :
il semble qu'il faille mettre plutot sans les " " dans le .bashrc :
#gmt variables
export NETCDFHOME=/usr/lib
export GMTHOME=/usr/lib/gmt
export PATH=$PATH:$GMTHOME/bin
http://perso.ens-lyon.fr/antoine.rozel/
Hors ligne
#3 Le 16/03/2007, à 10:25
- luckytoyn
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Bon c'est vrai que ça fait un peu chiche comme tuto mais ça pourrair faire gagner un
peu de temps à tout le monde... :-)
Peut être que quelqu'un qui connait mieux pourrait en écrire plus au sujet de gmt, une
fois la page créée.
http://perso.ens-lyon.fr/antoine.rozel/
Hors ligne
#4 Le 05/04/2007, à 16:30
- badock
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
pfiou... heureusement que je suis tombé sur ce sujet,
ça faisait un moment que je cherchais à comprendre pourquoi psbasemap n'existait pas alors que gmt était installé!
sinon, ce prog reste assez obscur pour moi, et je me demandais si vous aviez trouvé des interfaces graphiques un peu plus user-friendly ?
a+
Hors ligne
#5 Le 06/04/2007, à 13:28
- luckytoyn
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Non, rien de convivial... Je n'ai pas cherché, de toute façon, je fais écrire les scripts gmt directement dans un code fortran qu'un collègue numéricien m'a passé. Je n'ai donc pas eu à m'y mettre vraiment (j'essayé quelques heures mais ce fut un cuisant échec)
J'ai l'impression que moins un programme est convivial, plus il est puissant.
gmt est très puissant.
BON COURAGE !!!
http://perso.ens-lyon.fr/antoine.rozel/
Hors ligne
#6 Le 08/04/2007, à 20:50
- wasted
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
comme interface y'a iGMT (http://www.seismology.harvard.edu/~becker/igmt/), à condition d'arriver à le faire fonctionner correctement ...
Perso après avoir cherché des heures, j'arrive toujours pas à sortir une carte topo en couleurs .... si quelqu'un s'y connaît, qu'il me fasse signe !!!
#7 Le 23/06/2007, à 09:35
- nau
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Moi également je galère pour installer GMT, ça reste un outil trop professionnel et l'anglais technique est difficile à comprendre
#8 Le 05/07/2007, à 00:55
- loloemr
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Ouais mais c'est quand même super puissant.
Chez nous on l'utilise pour traiter des fichiers de données en masse. Après l'apprentissage est un peu long ...
L'open source est garant de notre indépendance technologique, permet de créer des emplois locaux et véhiculent deux idées fondamentales : la transparence de l'information et la supériorité de la collaboration sur la concurrence ... GNU/Linux c'est bon mangez-en !!
Hors ligne
#9 Le 05/07/2007, à 09:04
- i M@N
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Hello.
Y'a justement un article sur le planet cette semaine :
http://kubuntu.free.fr/blog/index.php/2007/07/04/226-tutoriel-generic-mapping-tools-gmt-pour-tracer-des-cartes-sous-linux
@+...
1 x Intel(R) Core i7 2600K CPU 3.4GHz Debian sid = roxX !
1 x MSi Wind U100 Debian sid = roxX !!
Read The F***in' Manual or die tryin' !
webmaster @ http://www.rastavibes.net reggae shop
Hors ligne
#10 Le 05/07/2007, à 16:13
- xabilon
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Salut
Si vous voulez créer une page de documentation, il est inutile d'en débattre sur le forum. Il suffit de créer la page puis de contacter la mailing-list pour relecture/vérification.
http://doc.ubuntu-fr.org/wiki/participer_wiki
En attendant, je déplace dans "Trucs et astuces"
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#11 Le 05/07/2007, à 20:11
- kikislater
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
on le met où dans le .bashrc?
Hors ligne
#12 Le 06/07/2007, à 01:00
- loloemr
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Tu peux le mettre n'importe où, cela n'a pas d'importance.
Ce que je te conseille c'est de mettre un commentaire (avec le # devant). Moi j'ai des variables comme ceci :
# PATH et VARIABLES PERSO
export PATH=/usr/local/GMT4.2.0/bin:/opt/intel/fc/9.1.036/bin/:$PATH:.
export NETCDFHOME=/usr/local/netcdf-3.6.2/lib
export LD_LIBRARY_PATH=/opt/intel/fc/9.1.036/lib/:/usr/local/netcdf-3.6.2/lib:$LD_LIBRARY_PATH
Il y aussi les truc pour ifort..
Une fois le fichier modifié, il faut le charger à l'aide de la commande
source .bashrc
L'open source est garant de notre indépendance technologique, permet de créer des emplois locaux et véhiculent deux idées fondamentales : la transparence de l'information et la supériorité de la collaboration sur la concurrence ... GNU/Linux c'est bon mangez-en !!
Hors ligne
#13 Le 31/08/2008, à 11:06
- Landru31
Re : créer petit guide installation gmt ?(Generic Mapping Tools)
Bonjour,
Je voudrais ajouter des information quant à l'installations de GMT.
Telle décrite dans le tutorial http://planet.ubuntu-fr.org/post/2007/0 … ous-Ubuntu, on ne peut pas utiliser la commande
grdraster 1 -R-66/-60/30/35 -Gbermuda.nc -V
décrite le tutorial fourni par GMT http://gmt.soest.hawaii.edu/gmt/doc/htm … ode41.html (le chiffre 1 correspond au model à utiliser; cf /usr/lib/gmt/share/dbase/grdraster.info)
voilà une procédure pour que ça fonctionne :
Télécharger le fichier ETOPO5 en version binaire (pour PC). Il faut faire attention, dans les fichiers binaires proposés par GEODAS, il y a les LSB (low significant byte) et les MSB (mean significant byte). Il nous faut les LSB
wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO5/TOPO/ETOPO5/ETOPO5.DOS"
et copier le fichier (en le renommant pour que grdraster.info soit en accord:
sudo mv ETOPO5.DOS $GMTHOME/share/dbase/etopo5.i2
De même on peut installer les fichiers ETOPO2 et ETOPO1 (le chiffre indique la précision; 5 minutes d'angle, 2 minutes, 1 minute). La difficulté, ici, c'est que les fichiers proposés sont au format "float" et qu'il faudra les mettre au format "long int"
Télécharger les fichiers (attention, ils sont lourds; 100Mo pour ETOPO2, 400Mo pour ETOPO1_ice-surface et 400Mo pour ETOPO1_bed-rock)
wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO2/ETOPO2v2-2006/ETOPO2v2g/raw_binary/ETOPO2v2g_f4_LSB.zip"
wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO1/data/bedrock/grid_registered/binary_float/etopo1_bed_g.zip"
wget "http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO1/data/ice_surface/grid_registered/binary_float/etopo1_ice_g.zip"
Décompressez tout ce beau monde:
unzip ETOPO2v2g_f4_LSB.zip
unzip etopo1_bed_g.zip
unzip etopo1_ice_g.zip
et on convertit avec un petit utilitaire facile à coder (voir en fin de post); on en profite pour placer les fichiers dans le bon dossier (prévoir de la place; environ 2Go).
sudo ./gmtf4toi4 ETOPO2v2g_f4_LSB.flt $GMTHOME/share/dbase/etopo2.i4
sudo ./gmtf4toi4 etopo1_bed_g.flt $GMTHOME/share/dbase/etopo1bed.i4
sudo ./gmtf4toi4 etopo1_ice_g.flt $GMTHOME/share/dbase/etopo1ice.i4
Maintenant, il faut modifier le fichier grdraster.info
cp $GMTHOME/share/dbase/grdraster.info $GMTHOME/share/dbase/grdraster.info.bak
sudo gedit $GMTHOME/share/dbase/grdraster.info
et ajoutez ces lignes
12 "ETOPO2 global topography" "m" -R-180/180/-90/90 -I2m GG l 1 0 none etopo2.i4
13 "ETOPO1 global topo Bedrock" "m" -R-180:0.5/180/-90:0.5/90 -I1m GG l 1 0 none etopo1bed.i4
14 "ETOPO1 global topo Ice" "m" -R-180:0.5/180/-90:0.5/90 -I1m GG l 1 0 none etopo1ice.i4
Rq les données de l'option -R sont obtenu en lisant le fichier .hdr de chaque zip
Et maintenant l'utilitaire "gmtf4toi4.c":
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/mman.h>
#define BLOCK 20000
#define FORMAT long int
long tailleFichier(char *fic) {
struct stat etat_fichier;
if (stat(fic, & etat_fichier) !=0) {
perror("stat");
exit(EXIT_FAILURE);
return 0;
}
return etat_fichier.st_size;
}
int main(int argc, char *argv[]) {
int fichierHdl;
FORMAT *converti;
FILE* sortie;
float * projection;
long taille_fichier;
//***************************
// Verification des arguments
//***************************
printf("Tool to convert data stored as float (4 bytes) to data stored as long signed integer (4 bytes)\n08/2008 - C. MEICHEL\n");
if (argc<3) {
printf("Syntaxe : %s fichier_a_lire fichier_de_sortie\n", argv[0]);
exit(EXIT_FAILURE);
}
//*******************************************
// Mise en memoire du fichier (lecture seule)
//*******************************************
if ((fichierHdl=open(argv[1], 0)) <0) {
perror("open");
exit(EXIT_FAILURE);
}
taille_fichier = tailleFichier(argv[1]);
projection = (float *) mmap(NULL, taille_fichier, PROT_READ, MAP_SHARED, fichierHdl, 0);
if (projection == (float *) MAP_FAILED) {
perror("mmap");
exit(EXIT_FAILURE);
}
close(fichierHdl);
if ((sortie = fopen(argv[2], "w")) == NULL) {
return 0;
}
converti = (FORMAT*) malloc(BLOCK*sizeof(FORMAT));
//**********************
// Traitement du fichier
//**********************
size_t nbblock = taille_fichier / (BLOCK*sizeof(float));
size_t k;
size_t curseur = 0;
size_t n;
printf("%d blocks (%d values) to write\n", nbblock, BLOCK);
for(k=0; k<nbblock; k++) {
for(n=0; n<BLOCK; n++) {
converti[n] = (FORMAT) projection[curseur++];
}
printf("%d out of 100 converted\r", k*100/(nbblock));
fwrite(converti, (BLOCK)*sizeof(FORMAT), 1, sortie);
}
for(n=0; n<(taille_fichier % (BLOCK*sizeof(float)))/sizeof(FORMAT); n++)
converti[n] = (FORMAT) projection[curseur++];
fwrite(converti, taille_fichier % (BLOCK*sizeof(FORMAT)), 1, sortie);
//******************************************
// Fin du code et restauration de la memoire
//******************************************
fclose(sortie);
free(converti);
munmap((void *) projection, taille_fichier);
return 0;
}
on compile tout ça avec
gcc -o gmtf4toi4 gmtf4toi4.c
(vous pouvez changer le "#define BLOCK 20000" pour passer à "#define BLOCK 500000"; ça correspond à la mémoire nécessaire (ici, 20000*4 octets)
Bonne installation !