[METEO] Fichiers GRIB sous Linux avec ZyGrib

Les fichiers GRIB sont des fichiers contenant des données météo librement téléchargeable (GRIB (GRIdded Binary) is a mathematically concise data format commonly used in meteorology to store historical and forecast weather data. Source wikipedia). Ils sont souvent utilisés pour la navigation. Certains sites web comme Windguru permettent de visualiser ces données en ligne. Mais il peut s’avérer utile de disposer d’un logiciel permettant de télécharger et d’utiliser ces données hors ligne. Il existe ZyGrib disponible pour Linux, Windows et MacOS.

L’installation est simple:

  • Pour Archlinux: yaourt -S zygrib zygrib-maps (Avec les dépots AUR activés)
  • Pour Ubuntu / Debian: Les paquets sont disponibles ici

Des cartes plus détaillées sont disponibles sur le site de zygrib.

Lors de son lancement, le logiciel affiche un fond de carte. Vous pouvez alors vous déplacer/zoomer vers la zone qui vous intéresse.
Sélectionnez à l’aide de la souris la zone pour laquelle vous souhaitez télécharger les données météo.
Cliquez ensuite sur l’icône représentant une « terre ». Une boite de dialogue permettant d’affiner les données à télécharger va s’ouvrir.

Réglez les différents paramètres comme vous le souhaitez. Pensez aussi à changer la durée des prévisions, qui peut aller de 1 à 8 jours.

Pour ceux qui le souhaitent, des informations sur les vagues sont aussi disponibles dans le dernier onglet.

Lancez le téléchargement et patientez quelques instants. Vous avez ensuite une magnifique carte des données météo. Vous pouvez afficher les informations précises concernant une zone à l’aide de la souris.

Un clic droit sur une zone de la carte permet d’afficher les prévisions sous forme de tableau, ce qui est très utile.

Le menu « Données » permet d’afficher différentes données sur la carte.

  • La couverture nuageuse

 

  • Les précipitations

  • Le vent

Comble du raffinement, on peut afficher les données météo de la période sous forme d’animation. Cette animation peut même être exportée sous forme de série d’images. Vous pourrez alors les convertir en video avec ffmpeg.

ffmpeg -r 3 -i test_%03d.jpg -b 2000k -r 25 -vcodec mpeg4 -sameq test.mp4

Ce qui donne ceci: test

 

 

 

Créez des « routes » pour GPS Garmin avec Viking sous Linux

Sous linux, la véritable trousse à outil du GPS c’est l’excellent gpsbabel. Il permet de transférer, transformer, filtrer toutes sortes de données provenant de nos GPS. Par contre, pour préparer un trajet et créer une route ou pour visualiser ses données sur une carte « hors ligne » ce n’est pas le bon outil. C’est là qu’intervient Viking, il permet d’afficher les informations provenant de votre GPS sur des fonds de carte openstreetmap et surtout de préparer vos trajets en planifiant des routes.

Ces 2 logiciels sont fournis avec de nombreuses distribution. L’installation se résume à:

  • pour Archlinux: yaourt -S viking gpsbabel
  • pour Ubuntu: apt-get install viking gpsbabel
  • pour Fedora: yum -y install viking gpsbabel

Viking est très simple d’emploi, son usage essentiel se résume à l’import / export de données GPS et à l’ajout de calques représentant des fonds cartographiques.

Une fois le logiciel lancé, ajoutons un fond de carte avec le menu « Nouveau calque « Map » »
Le logiciel propose différents fonds de cartes, la plupart basés sur les données openstreetmap. Nous choisirons ici le type de carte par défaut et nous demanderons le « téléchargement automatique » des cartes.

Nous avons maintenant une carte à l’écran. Pour la manipuler, on peut utiliser la routette de la souris pour zoomer et les touches CTRL + Flèches pour se déplacer sur la carte. Des outils de recherche de lieux sont aussi disponibles dans le menu « Vue » / « Aller à la position ».

Nous allons maintenant ajouter une couche avec les données GPS. Pour cela allez dans le menu « Nouveau calque « GPS » ».

Sélectionnez alors votre marque de GPS (ici Garmin) avec le protocole de communication (ici USB:).

Dans la liste des calques sur la gauche, sélectionnez la couche « traces ». Vous avez alors 2 icônes pour dessiner des traces sur le fond de carte.

Utilisez l‘icone verte ou orange, peu importe, pour commencer votre trace. Donnez un nom à la route que vous souhaitez charger dans votre GPS.

A chaque changement de direction important, cliquez avec le bouton gauche sur la carte pour tracer votre route. Un clic droit efface le dernier point de la trace.

 

Une fois votre trajet défini, vous pouvez exporter cette trace au format GPX.

 

Maintenant que notre trace est exportée, nous avons un fichier GPX compatible avec notre GPS. Nous aurions pu l’exporter vers le GPS directement depuis Viking mais le fichier est au format « trace » et non « route », notre GPS ne gérera donc pas le routage ! C’est là que le génialissime gpsbabel est utile. Nous allons appliquer un filtre au fichier GPX qui va transformer la trace en route et l’envoyer directement au GPS.

 

gpsbabel -w -r -t -i gpx -f test.gpx -x transform,rte=trk \
-x simplify,count=500 -o garmin -F usb:

« count=500 » permet de « simplifier » la route en limitant le nombre de points pour les traces très longues.

 

Si jamais vous trouviez les cartes d’openstreetmap incomplètes, rien ne vous empêche de participer au projet en les complétant !

Fraiseuse CNC DIY v3 – Episode 2

Voilà la suite tant attendue ( par moi surtout ;-)) de la construction de ma fraiseuse numérique.

En cours de conceptionLa voilà presque terminée. il me reste 1 moteur à câbler et la vis sans fin de l’axe des X à installer, tout le reste est en place. On est bien loin de l’épisode 1 avec ses quelques pièces éparses !

DIY CNC Parts


N’ayant pas eu le temps de faire un article à chaque étape de l’avancement de la construction, j’ai mis en place un Wiki dans lequel je vais essayer de documenter l’ensemble du projet afin d’aider ceux qui comme moi veulent se lancer dans la fabrication d’un tel outil. Le wiki est « ouvert », si vous aussi vous construisez une machine et que voulez m’aider à documenter, je peux vous donner un accès en écriture. Pour le moment il n’y a pas grand chose, mais je compte l’enrichir régulièrement et je compte aussi sur votre aide !

L’adresse du projet: http://odcnc.equinoxefr.org


Installer le client Oracle pour PHP sur Centos 5.x

Si vous souhaitez utiliser une base de données depuis PHP sur une Centos 5.x, voilà la procédure à suivre.

On partira du principe que vous avez déjà installé PHP et apache.

Vous devez aussi installer les outils de développement afin de pouvoir compiler PECL:

yum -y groupinstall "development tools"

Sur Centos 5.4 X64, les paquets suivants sont installés:

flex-2.5.4a-41.fc6.x86_64
gcc-4.1.2-48.el5.x86_64
redhat-rpm-config-8.0.45-32.el5.centos.noarch
strace-4.5.18-5.el5_5.5.x86_64
rpm-build-4.4.2.3-20.el5_5.1.x86_64
1:make-3.81-3.el5.x86_64
1:pkgconfig-0.21-2.el5.x86_64
gettext-0.14.6-4.el5.x86_64
gettext-0.14.6-4.el5.i386
automake-1.9.6-2.3.el5.noarch
gdb-7.0.1-23.el5_5.2.x86_64
bison-2.3-2.1.x86_64
libtool-1.5.22-7.el5_4.x86_64
autoconf-2.59-12.noarch
gcc-c++-4.1.2-48.el5.x86_64
binutils-2.17.50.0.6-14.el5.x86_64
ltrace-0.5-13.45svn.el5.x86_64
diffstat-1.41-1.2.3.el5.x86_64
splint-3.1.1-16.el5.x86_64
1:valgrind-3.5.0-1.el5.x86_64
1:valgrind-3.5.0-1.el5.i386
systemtap-1.1-3.el5_5.2.x86_64
subversion-1.4.2-4.el5_3.1.x86_64
subversion-1.4.2-4.el5_3.1.i386
texinfo-4.8-14.el5.x86_64
python-ldap-2.2.0-2.1.x86_64
patchutils-0.2.31-2.2.2.x86_64
byacc-1.9-29.2.2.x86_64
gcc-gfortran-4.1.2-48.el5.x86_64
elfutils-0.137-3.el5.x86_64
rcs-5.7-30.1.x86_64
automake16-1.6.3-8.el5.1.noarch
automake17-1.7.9-7.el5.2.noarch
automake14-1.4p6-13.el5.1.noarch
automake15-1.5-16.el5.2.noarch
ctags-5.6-1.1.x86_64
dogtail-0.6.1-3.el5.noarch
swig-1.3.29-2.el5.x86_64
dev86-0.16.17-2.2.x86_64
1:doxygen-1.4.7-1.1.x86_64
indent-2.2.9-14.fc6.x86_64
cvs-1.11.22-7.el5.x86_64
pstack-1.2-7.2.2.x86_64
oprofile-0.9.4-15.el5.x86_64
cscope-15.5-15.1.el5_3.1.x86_64

Sur le site d’oracle, télécharger les paquets suivants (en RPM):

  1. oracle-instantclient11.2-basic
  2. oracle-instantclient11.2-sqlplus (optionnel)
  3. oracle-instantclient11.2-devel

Installer les paquets fraîchement téléchargés:

rpm -Uvh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm

Il est nécessaire d’indiquer au système le chemin des nouvelles librairies:

echo "/usr/lib/oracle/11.2/client64/lib/" > /etc/ld.so.conf.d/oracle_lib.conf
ldconfig

Vous pouvez tester votre installation d’oracle en lançant /usr/bin/sqlplus64.

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 10 14:41:50 2010
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Enter user-name:


Ensuite on va installer OCI8 à l’aide de PECL:

Si vous passez par un proxy HTTP, configurez PECL comme suit:

pear config-set http_proxy http://proxy.xxx:3128

Lancez l’installation proprement dite.

pecl install oci8

L’installation se lance. A la question « Please provide the path to the ORACLE_HOME directory. Use ‘instantclient,/path/to/instant/client/lib’ if you’re compiling with Oracle Instant Client [autodetect] :« , donnez le chemin où est installé le client oracle, ici: instantclient,/usr/lib/oracle/11.2/client64/lib

downloading oci8-1.4.3.tgz ...
Starting to download oci8-1.4.3.tgz (153,515 bytes)
............done: 153,515 bytes
10 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20050922
Zend Extension Api No:   220051025
Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] : instantclient,/usr/lib/oracle/11.2/client64/lib
building in /var/tmp/pear-build-root/oci8-1.4.3
running: /tmp/tmppNXlUK/oci8-1.4.3/configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking whether gcc and cc understand -c and -o together... yes

...
Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
running: make INSTALL_ROOT="/var/tmp/pear-build-root/install-oci8-1.4.3" install
Installing shared extensions:     /var/tmp/pear-build-root/install-oci8-1.4.3/usr/lib64/php/modules/
running: find "/var/tmp/pear-build-root/install-oci8-1.4.3" -ls
4149348    4 drwxr-xr-x   3 root     root         4096 nov 10 13:38 /var/tmp/pear-build-root/install-oci8-1.4.3
4149377    4 drwxr-xr-x   3 root     root         4096 nov 10 13:38 /var/tmp/pear-build-root/install-oci8-1.4.3/usr
4149378    4 drwxr-xr-x   3 root     root         4096 nov 10 13:38 /var/tmp/pear-build-root/install-oci8-1.4.3/usr/lib64
4149379    4 drwxr-xr-x   3 root     root         4096 nov 10 13:38 /var/tmp/pear-build-root/install-oci8-1.4.3/usr/lib64/php
4149380    4 drwxr-xr-x   2 root     root         4096 nov 10 13:38 /var/tmp/pear-build-root/install-oci8-1.4.3/usr/lib64/php/modules
4149376  476 -rwxr-xr-x   1 root     root       481338 nov 10 13:38 /var/tmp/pear-build-root/install-oci8-1.4.3/usr/lib64/php/modules/oci8.so
Build process completed successfully
Installing '/var/tmp/pear-build-root/install-oci8-1.4.3//usr/lib64/php/modules/oci8.so'
install ok: channel://pecl.php.net/oci8-1.4.3
You should add "extension=oci8.so" to php.ini

Comme indiqué, il faut maintenant configurer php pour utiliser le module OCI8.

echo "extension=oci8.so" > /etc/php.d/oci8.ini

redémarrez apache pour prendre en compte les modifications ( /etc/init.d/httpd restart ) . Vous pouvez vérifier la prise en compte d’OCI en utilisant  la fonction PHP phpinfo();

Vous pouvez maintenant profiter d’ORACLE au travers du couple PHP / APACHE.

La doc officielle d’installation d’OCI8 est ici