Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche


< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 >

mardi 19 août 2008

Comment faire pour remonter la portion de route en fonction d'un point et d'une distance?

C'est une question qui avait été posé sur le site de forumsig récemment. - dont je salue les modérateurs au passage -.. Le sujet est disponible à http://www.forumsig.org/showthread.php?t=19552. Trouvant la question assez pertinente, je me permets donc de remonter un petit article sur ce sujet.

Ici on va supposer qu'on ait un trace comme sur l'image ci-dessous.


Trace de la route et point A.

Problème

Le point A étant un point localisésur le tracé, on voudrait connaitre la portion de route partant du point A sur une distance X.

Solution

Ici le trace est contenu dans une table nommée trace dont la géométrie est

testgis=# select astext(the_geom) from trace;
                                                                                                 astext                                                                                                  
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 LINESTRING(100 300,120 260,160 240,200 260,240 240,260 220,280 180,324 170,370 186,400 160,400 140,380 120,400 80,450 84,480 120,520 100,560 120,580 160,600 200,620 180,640 160,630 139,629 91,620 60)
(1 row)
Le point A est contenu dans une table mypoint dont le contenu géométrique est
testgis=# select astext(the_geom) from mypoint;
       astext        
---------------------
 POINT(182.7 251.35)
(1 row)

La portion de route sera obtenu en faisant

testgis=# select astext( Line_SubString(a.the_geom,Line_Locate_Point(a.the_geom,b.the_geom),Line_Locate_Point(a.the_geom,b.the_geom)+600/length(a.the_geom))) from trace a,mypoint b;
                                                                                      astext                                                                                      
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 LINESTRING(182.7 251.35,200 260,240 240,260 220,280 180,324 170,370 186,400 160,400 140,380 120,400 80,450 84,480 120,520 100,560 120,580 160,582.332649794201 164.665299588402)
(1 row)

Le rendu sera donc le suivant


Portion de route en partant du point A pour une distance de 600m

La fonction length() confirme que la portion a une longueur de 600m

testgis=# select length( Line_SubString(a.the_geom,Line_Locate_Point(a.the_geom,b.the_geom),Line_Locate_Point(a.the_geom,b.the_geom)+600/length(a.the_geom))) from trace a,mypoint b;
 length 
--------
    600
(1 row)

jeudi 14 août 2008

Week-end: sieste au parc exflora - mardi soir: Soirée au "Tché" et "Whisky à Gogo" de Juan-Les-Pins

C'est vraiment le genre de soirée qui commence bien mais on ne sait jamais où on va finir...!

Mardi soir la soirée avait bien commencé! Petit repas au "Côté Jardin" (restaurant à l'entrée du parc exflora de Juan). J'ai mangé seul. Je me suis pris une salade de jambon cru en entrée puis une assiette de kebab. A la fin d'un bon café, je suis parti continuer la soirée au Tché de Juan. La route m'a permis de digérer un peu

Sur place, j'étais au début seul. Mon pote antillais m'a rejoint par la suite. Trois merveilleuses demoiselles de sa connaissance nous ont rejoint par la suite . On a tapé la discut'...Les whisky-coca et p'ti punchs se sont enchainés à la suite. On a commandé deux bouteilles de rosée vu que pour une fois, on était assez nombreux pour les finir.


Mon pote Fabrice...Vive les îles! Le boug' bouz' pendant que je prends la photo......J'ai raté la photo mais je pa lair avek' !

Par contre à un moment la pluie est venue se présenter pour la soirée. Celà n'a pas trainée: dès les premières gouttes les tables les plus occupées de la terrasse ont vite été désertées et les gens sont venus s'abriter à l'intérieur! Comme il y avait du monde, il faisait un peu chaud mais il n'y avait pas que sur ce sujet là que la température était en train de monter...LOL! (No comment!)

Avec Fab', on s'est bien défouler sur la piste avec les jeunes filles! Exceptionnellement le bar devait fermé plus tôt ce soir-là! A la fermeture, avec l'équipe du bar, on a eu la consigne (pour ceux qui le voulait) d'aller à la boîte (le whisky à gogo), pour terminer la soirée. Comme j'étais en short, normalement je n'aurais pas pu entrer mais le videur m'a quand même laisser entrer (exceptionnellement de la part du gérant du Tché - que je remercies au passage et que je suis allé remercier par la suite!-)

Dans la boîte, un mec nous a offert plusieurs verres. J'ai sympathisé avec lui. On a bien discuté et dansé...Il y avait aussi une amie dont c'est l'anniversaire mercredi à qui j'ai fait un gros bisou en passant.

A l'heure de la fermeture en sortant de la boîte, c'est en voyant qu'il faisait déjà jour que j'ai compris qu'il était déjà assez tard! 7h00 du mat'...Tor mol! J'avais pas vu le temps passé. Sur la route du retour, je me suis arrêté pour prendre un café, histoire de rester éveillé pour arriver à la villa. A une boulangerie, j'ai pris deux croissants et une part de flan pour tenir. J'étais assez bien entamé mais à pied!

Résultat des courses: débarqué vers 14h00 au taf! Bah démerdes son cadavre...Moin la pa l'ai ek' ça!

Au retour du taf, mercredi soir, j'ai mangé un morceau et me suis arrêté au "Côté jardin", histoire de changer de soirée pour m'aérer l'esprit!Sur la terrasses dans un pliant comme à la Réunion, j'avais les yeux rivés vers le ciel en pensant à cet été exceptionnel que je passe contrairement et bien éloigné de l'été dernier.

Je ne connaissais pas ce coin de Juan-Les-Pins - parc exflora - jusqu'au week-end dernier où en me baladant je 'lai découvert. J'en ai aussi profité donc samedi après-midi et dimanche aussi pour venir faire la sieste dans le parc, allongé sur une serviette! C'est reposant et relaxant d'alterner entre nature et sortie dans les bars! Un peu comme mes vacances récentes sur Montepllier.

Puis je suis rentré à la maison....

mercredi 13 août 2008

Champion de balles de golf

Ce mec est un champion pour les balles de golf...Une balle l'une sur l'autre....Un gars tout en puissance ! C'est mon collègue de bureau

vendredi 8 août 2008

[Wifi] Amélioraton du script pour détection du réseau

J'ai ajouté la détection d'un dhclient.pid pour mon script

#!/bin/sh
INTERFACE="eth1"
WIFI_LOG="/var/log/wifi.log"
IP_TEST="192.168.2.8"
TEST="true"
TENTATIVE=1
DHCLIENT_PID="/var/run/dhclient.pid"
export PATH=/sbin/:$PATH
echo > $WIFI_LOG
echo "###################################################################" >> $WIFI_LOG
if [ -f $DHCLIENT_PID ]
	then 
	echo " Instance dhclient deja existante => effacement " >> $WIFI_LOG
	rm -f $DHCLIENT_PID
fi
iwlist $INTERFACE scan|grep ESSID| awk '{print $1}'|sed -e "s:ESSID\:\"::g;s:\"::g"|\
while read essid
	do      #
		# Cas 1. connexionà castelnau-le-lez
		#
		if [ "$essid" = "belkin54g" ]		
			then 
				echo " Reseau := $essid" >> $WIFI_LOG;
				while $TEST
				do 
					rm -f /var/run/wpa_supplicant/eth1;
					/usr/bin/killall wpa_supplicant;
					echo " [ Test n°$TENTATIVE]">> $WIFI_LOG
					echo " * [redemarrage du wifi - $(date) ]" >> $WIFI_LOG
					/sbin/wpa_supplicant -i $INTERFACE -c /etc/wpa_supplicant/wifi_belkin54g.conf -D wext -B
					sleep 2
					echo " * [ connexion au wifi - $(date) ]" >> $WIFI_LOG
					dhclient $INTERFACE
					echo " * [ connexion au resau := $(date) ]" >> $WIFI_LOG
					IP=$(ifconfig $INTERFACE|grep adr:|awk '{print $2}'|cut -d ':' -f 2)
					if [ "$IP" = "$IP_TEST" ]
						then 
							cat /usr/share/doc/libsdl-erlang/examples/Beep.wav > /dev/audio
							echo " * [montage des repertoires des utilisateurs - $(date) ]">> $WIFI_LOG
							mount /home/user
							echo " Succes à la tentative n° $TENTATIVE" >> $WIFI_LOG
							export TEST="false";
					fi
					export TENTATIVE=$(expr $TENTATIVE + 1)
				done
	        fi
		#
		# Cas 2 .connexion à Juan Les Pins
		#
		if [ "$essid" = "BOUZIANE" ]
			then	
			echo " Reseau := $essid" >> $WIFI_LOG;
			rm -f /var/run/wpa_supplicant/eth1;
			/usr/bin/killall wpa_supplicant;
			echo " [ Test n°$TENTATIVE]">> $WIFI_LOG
			echo " * [redemarrage du wifi - $(date) ]" >> $WIFI_LOG
			/sbin/wpa_supplicant -i $INTERFACE -c /etc/wpa_supplicant/wifi_bouziane.conf -D wext -B
			sleep 2
			echo " * [ connexion au wifi - $(date) ]" >> $WIFI_LOG
			dhclient $INTERFACE
			echo " * [ connexion au resau := $(date) ]" >> $WIFI_LOG
			cat /usr/share/doc/libsdl-erlang/examples/Beep.wav > /dev/audio
		fi
	done
echo "###################################################################" >> $WIFI_LOG	

Ce qui à l'exécution de mon script me donne

root@bremko:~# ./wifi.sh 
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth1/00:13:ce:a9:ec:b6
Sending on   LPF/eth1/00:13:ce:a9:ec:b6
Sending on   Socket/fallback
DHCPREQUEST of 192.168.1.20 on eth1 to 255.255.255.255 port 67
DHCPREQUEST of 192.168.1.20 on eth1 to 255.255.255.255 port 67
DHCPACK of 192.168.1.20 from 192.168.1.1
bound to 192.168.1.20 -- renewal in 33295 seconds.

Et dans /var/log/wifi.log, si le fichier dhclient.pid est déjà existant

root@bremko:~# tail -f /var/log/wifi.log 

###################################################################
 Instance dhclient deja existante => effacement 
 Reseau := BOUZIANE
 [ Test n°1]
 * [redemarrage du wifi - vendredi 8 août 2008, 21:34:11 (UTC+0200) ]
 * [ connexion au wifi - vendredi 8 août 2008, 21:34:13 (UTC+0200) ]
 * [ connexion au resau := vendredi 8 août 2008, 21:34:20 (UTC+0200) ]
###################################################################