Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/01/2011, à 10:21

chris_wafer

Un script qui analyse l'info traffic... de l'aide???

Bonjour,

Je cherche à faire un script qui analyserait l'info traffic sur Bordeaux.

1) Tout d'abord il faut que j'arrive à récupérer l'image suivante :
  http://www.gironde.equipement.gouv.fr/a … rticle=118

Comment faire? Car je ne trouve pas son lien ou alors il n'y a pas l'info traffic

2) Ensuite, j'aimerais donner des points sur l'image et qu'il me sorte si c'est vert, orange ou rouge?

Merci d'avance pour votre aide dans la conception de ce script...

Hors ligne

#2 Le 23/01/2011, à 11:13

kamui57

Re : Un script qui analyse l'info traffic... de l'aide???

L'image m'a l'air d'être dans une iframe ayant cette adresse : http://www.bison-fute.equipement.gouv.f … deaux.html

seulement, quand tu désactives le javascript pour cette page, tu ne vois plus les routes en vert mais en bleu. De plus, quand tu fais "afficher l'image", tu ne vois plus que les panneaux autoroutes. L'image de fond (la carte) est celle-ci : http://www.bison-fute.equipement.gouv.f … x_v01b.gif. Cette adresse http://www.bison-fute.equipement.gouv.f … r=bordeaux donne l'adresse de l'image générée par javascript avec les routes en vert. (j'ai trouvé ça en affichant la page avec aucun style)


Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console

Hors ligne

#3 Le 23/01/2011, à 12:12

chris_wafer

Re : Un script qui analyse l'info traffic... de l'aide???

Et comment faire en ligne de commande pour avoir le pixel d'un point?

Merci d'avance...

Hors ligne

#4 Le 23/01/2011, à 13:31

Grünt

Re : Un script qui analyse l'info traffic... de l'aide???

chris_wafer a écrit :

Et comment faire en ligne de commande pour avoir le pixel d'un point?

Merci d'avance...

La ligne de commande n'est peut-être pas l'outil le plus adapté si tu veux faire des choses comme "obtenir la couleur du pixel de coordonnées X,Y sur telle image".

Ceci dit, tu peux jeter un oeil du côté de imagemagick.


Red flashing lights. I bet they mean something.

Hors ligne

#5 Le 23/01/2011, à 13:50

kamui57

Re : Un script qui analyse l'info traffic... de l'aide???

Re, j'ai fait un script pour obtenir l'image de la carte avec les routes en couleurs.

#!/bin/bash
# donne l'image du trafic sur bordeaux
dossier_temp="/tmp"
url_carte="http://www.bison-fute.equipement.gouv.fr/astec_acai/publication/cnir/referentiel_raster/sp1_bordeaux_v01b.gif"
url_trafic="http://www.bison-fute.equipement.gouv.fr/asteccli/servlet/clientleger?format=png&source0=cigt_alienor&source1=cir&raster=bordeaux"
image_carte="$dossier_temp/carte_bordeaux.gif"
image_trafic="$dossier_temp/trafic.png"
image_finale="$dossier_temp/final.png"

# prend le retour de la commande dont le resultat doit etre testé, renvoie erreur si le résultat n'est pas vide, ok sinon.
verify_error(){
test="$1"
error_msg="Une erreur a eu lieu"
if [ -n "$test" ]
then     # -n tests to see if the argument is non empty
echo "$error_msg : $test"
exit 1
else
echo "ok."
fi
}

# Téléchargement des images
# dépendance : wget
echo -n "Téléchargement de la carte de Bordeaux sous le nom $image_carte... "
wget "$url_carte" -O "$image_carte" &> $dossier_temp/test
test=`grep "ERREUR 404: Not Found" $dossier_temp/test`
verify_error "$test"
echo -n "Téléchargement de la carte de Bordeaux sous le nom $image_trafic... "
wget "$url_trafic" -O "$image_trafic" &> $dossier_temp/test
test=`grep "ERREUR 404: Not Found" $dossier_temp/test`
verify_error "$test"

# Fusion des images (TODO vérifier l'existence des deux fichiers à fusionner d'abord)
# dépendance : imagemagick
echo -n "Fusion des images en l'image $image_finale... "
composite -compose Over $image_trafic $image_carte $image_finale &> $dossier_temp/test
test=`cat $dossier_temp/test`
verify_error "$test"

Mais après, je comprends pas ceci

2) Ensuite, j'aimerais donner des points sur l'image et qu'il me sorte si c'est vert, orange ou rouge?

Tu veux donner les points comment ? Avec des valeurs numériques ? Parce que si c'est en les sélectionnant graphiquement, tu peux regarder la couleur toi-même...


Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console

Hors ligne

#6 Le 23/01/2011, à 14:31

chris_wafer

Re : Un script qui analyse l'info traffic... de l'aide???

En fait, je veux qu'il me sorte le traffic entre la sortie 11a et 19 en une succession de lettre :
ROVVOR....

La lettre 1 (R) veut dire "rouge" entre la 11a et 11b.
La lettre 2 (O) veut dire "orange" entre la 11b et 12.
La lettre 3 (V) veut dire "vert" entre la 12 et 13.
...

Tu serais comment faire?

Hors ligne

#7 Le 23/01/2011, à 18:59

chris_wafer

Re : Un script qui analyse l'info traffic... de l'aide???

Personne peut m'aider???
Car je ne vois pas comment faire...

Hors ligne

#8 Le 23/01/2011, à 19:04

kamui57

Re : Un script qui analyse l'info traffic... de l'aide???

c'est si pressé que ça ? du calme je bosse dessus...
idée :

  1. j'ai fait des images où ne reste plus que la portion de route colorée en vert sur fond transparent, pour chaque portion voulue

  2. je binarise ces images, en blanc la route, en noir le reste

  3. j'applique successivement ces masques sur l'image du trafic, j'obtiens ainsi pour chaque portion la route en couleur

  4. je n'ai plus qu'à trouver la couleur de la seule portion de l'image qui n'est pas en noir

Faut que je me décide pour la librairie à utiliser pour faire ça : pandore ou imagemagick.

Dernière modification par kamui57 (Le 23/01/2011, à 19:05)


Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console

Hors ligne

#9 Le 23/01/2011, à 19:33

chris_wafer

Re : Un script qui analyse l'info traffic... de l'aide???

Ok merci pour tout ton travail... Tu me tiens au courant...
Merci beaucoup...

Hors ligne

#10 Le 23/01/2011, à 19:37

kamui57

Re : Un script qui analyse l'info traffic... de l'aide???

pour l'instant, j'ai des images avec un motif en couleur sur du fond transparent, et je cherche à avoir le motif transparent et le fond en couleur avec imagemagick (inverser les deux quoi). Si tu trouves wink

edit : c'est trouvé

convert input.png -channel Alpha -negate output.png

edit : bah en fait j'en avais même pas besoin... tant pis. Bon je mets le script en forme en virant ce qui sert à rien et je reposte. (c'est pas encore fini, j'obtiens maintenant pour chaque portion l'image de la portion de la couleur du trafic sur fond noir)

Dernière modification par kamui57 (Le 23/01/2011, à 19:59)


Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console

Hors ligne

#11 Le 23/01/2011, à 20:53

kamui57

Re : Un script qui analyse l'info traffic... de l'aide???

Voilà ce que ça donne pour l'instant. J'ai uploadé les images dans l'archive http://www.woofiles.com/dl-223761-s7r4y … aux.tar.gz.

#!/bin/bash
# donne l'image du trafic sur bordeaux
# 23 janvier 2011
# kamui57

####### Variables #######

## dossier temporaire
dossier_temp="/tmp"
## dossier autre
dossier_autre="etc"
## dossier des masques
dossier_masques="masks"
## dossier des masques
dossier_portions="portions"
## url de l'image du trafic
url_trafic="http://www.bison-fute.equipement.gouv.fr/asteccli/servlet/clientleger?format=png&source0=cigt_alienor&source1=cir&raster=bordeaux"
## nom de la sauvegarde locale de l'image du trafic
image_trafic="$dossier_temp/trafic.png"

####### Fonctions #######

## Vérification de la présence d'une commande
## Arguments : nom du paquet, commande à tester
verifie_dependance(){
nom_paquet="$1"
commande_test="$2"
echo -n "Vérification de la présence de $nom_paquet... "
if [ -n "`which $commande_test`" ]
then
echo "ok."
else
echo "Le paquet $nom_paquet n'est pas installé. Veuillez l'installer et relancer le script."
exit
fi
}

## prend le retour de la commande dont le resultat doit etre testé, renvoie 
## erreur si le résultat n'est pas vide, ok sinon.
verify_error(){
test="$1"
error_msg="Une erreur a eu lieu"
if [ -n "$test" ]
then     # -n tests to see if the argument is non empty
echo "$error_msg : $test"
exit 1
else
echo "ok."
fi
}

####### Vérification des dépendances #######

verifie_dependance wget wget
verifie_dependance imagemagick convert

####### Programme principal #######

## 1. Téléchargement de l'image du trafic ##
## dépendance : wget
## Une image de trafic avec des zones rouges est pngs/trafic.png
echo -n "Téléchargement de la carte du trafic sous le nom $image_trafic... "
wget "$url_trafic" -O "$image_trafic" &> $dossier_temp/test
test=`grep "ERREUR" $dossier_temp/test`
verify_error "$test"


## 2. Construction des masques ##
## A commenter si on a déja les masques, je ne laisse cette étape que pour
## savoir comment j'ai fait
## Les images masques sont pour l'instant dans le dossier pngs sous la forme
## portion de route en vert et fond transparent. Il faut les rendre dans le
## bon format pour servir de masques : contenu blanc sur fond noir
mkdir $dossier_masques #2>/dev/null # pour ne pas afficher les erreurs
rm $dossier_masques/*.png
echo "Construction des masques"
for file in pngs/*.png
do echo -n "Conversion de l'image $file en image binaire $dossier_masques/`basename $file .png`.mask.png... "
convert -monochrome $file $dossier_masques/`basename $file .png`.mask.png &> $dossier_temp/test
test=`cat $dossier_temp/test`
verify_error "$test"
done

## 3. Obtention des portions avec les couleurs du trafic
## les masques sont maintenant dans le dossier masks
## on va donc pour chaque masque l'appliquer sur l'image du trafic
mkdir $dossier_portions #2>/dev/null # pour ne pas afficher les erreurs
rm $dossier_portions/*.png
echo "Obtention des $dossier_portions colorées"
for mask in $dossier_masques/*.png
do  echo -n "Masquage de l'image $image_trafic par le masque $mask en image $dossier_portions/`basename $file .png`.out.png... "
convert $mask $image_trafic -compose Multiply -composite $dossier_portions/`basename $mask .mask.png`.out.png &> $dossier_temp/test
test=`cat $dossier_temp/test`
verify_error "$test"
done

echo "Les images des portions colorées sont dans le dossier $dossier_portions."

J'ai fait une autre image de trafic dans le dossier etc, avec du rouge, pour vérifier que ça marche. Du coup, sur certaines portions à la fin il y a du rouge et du vert... Faut sortir quoi dans ce cas ?


Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console

Hors ligne