<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>imagerie &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/imagerie/</link>
	<description>Feed of posts on WordPress.com tagged "imagerie"</description>
	<pubDate>Sat, 28 Nov 2009 11:52:16 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[]]></title>
<link>http://mielelatte.wordpress.com/2009/11/27/106/</link>
<pubDate>Fri, 27 Nov 2009 17:44:35 +0000</pubDate>
<dc:creator>mielelatte</dc:creator>
<guid>http://mielelatte.wordpress.com/2009/11/27/106/</guid>
<description><![CDATA[Publicité, Jdeiddeh, été 2009]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_105" class="wp-caption aligncenter" style="width: 325px"><a href="http://mielelatte.wordpress.com/files/2009/11/p1030026.jpg"><img class="size-full wp-image-105" title="Pub" src="http://mielelatte.wordpress.com/files/2009/11/p1030026.jpg" alt="" width="315" height="384" /></a><p class="wp-caption-text">Publicité, Jdeiddeh, été 2009</p></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[]]></title>
<link>http://mielelatte.wordpress.com/2009/11/27/103/</link>
<pubDate>Fri, 27 Nov 2009 17:37:55 +0000</pubDate>
<dc:creator>mielelatte</dc:creator>
<guid>http://mielelatte.wordpress.com/2009/11/27/103/</guid>
<description><![CDATA[Baalbeck, mai 2009]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_102" class="wp-caption aligncenter" style="width: 325px"><a href="http://mielelatte.wordpress.com/files/2009/11/p1020659.jpg"><img class="size-full wp-image-102" title="Baalbeck" src="http://mielelatte.wordpress.com/files/2009/11/p1020659.jpg" alt="" width="315" height="309" /></a><p class="wp-caption-text">Baalbeck, mai 2009</p></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[]]></title>
<link>http://mielelatte.wordpress.com/2009/11/22/80/</link>
<pubDate>Sun, 22 Nov 2009 17:23:03 +0000</pubDate>
<dc:creator>mielelatte</dc:creator>
<guid>http://mielelatte.wordpress.com/2009/11/22/80/</guid>
<description><![CDATA[Fresque murale, Tyr, 2009]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_79" class="wp-caption aligncenter" style="width: 427px"><a href="http://mielelatte.wordpress.com/files/2009/11/p1030528.jpg"><img class="size-full wp-image-79" title="Sour" src="http://mielelatte.wordpress.com/files/2009/11/p1030528.jpg" alt="" width="417" height="482" /></a><p class="wp-caption-text">Fresque murale, Tyr, 2009</p></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[]]></title>
<link>http://mielelatte.wordpress.com/2009/11/20/28/</link>
<pubDate>Fri, 20 Nov 2009 07:42:10 +0000</pubDate>
<dc:creator>mielelatte</dc:creator>
<guid>http://mielelatte.wordpress.com/2009/11/20/28/</guid>
<description><![CDATA[Affichage, Chatila, mars 2009]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_47" class="wp-caption aligncenter" style="width: 509px"><a href="http://mielelatte.wordpress.com/files/2009/11/affichage-camp-de-chatila-beyrouth4.jpg"><img class="size-full wp-image-47" title="Chatila" src="http://mielelatte.wordpress.com/files/2009/11/affichage-camp-de-chatila-beyrouth4.jpg" alt="" width="499" height="374" /></a><p class="wp-caption-text">Affichage, Chatila, mars 2009</p></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[]]></title>
<link>http://mielelatte.wordpress.com/2009/11/20/23/</link>
<pubDate>Fri, 20 Nov 2009 07:33:44 +0000</pubDate>
<dc:creator>mielelatte</dc:creator>
<guid>http://mielelatte.wordpress.com/2009/11/20/23/</guid>
<description><![CDATA[Affichage, Batroun, décembre 2008]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_22" class="wp-caption aligncenter" style="width: 445px"><a href="http://mielelatte.wordpress.com/files/2009/11/affichage-batroun.jpg"><img class="size-full wp-image-22" title="Batroun" src="http://mielelatte.wordpress.com/files/2009/11/affichage-batroun.jpg" alt="" width="435" height="580" /></a><p class="wp-caption-text">Affichage, Batroun, décembre 2008</p></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rhumatisme psoriasique]]></title>
<link>http://elseviermasson.wordpress.com/2009/11/18/rhumatisme-psoriasique/</link>
<pubDate>Wed, 18 Nov 2009 12:29:35 +0000</pubDate>
<dc:creator>Mathieu Bellet</dc:creator>
<guid>http://elseviermasson.wordpress.com/2009/11/18/rhumatisme-psoriasique/</guid>
<description><![CDATA[Atlas du rhumatisme psoriasique P.J. Mease, P.S. Helliwell Traduction et adaptation : Gilles Hayem •]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Atlas du rhumatisme psoriasique</strong><br />
P.J. Mease, P.S. Helliwell<br />
Traduction et adaptation : Gilles Hayem<br />
<a title="Cliquez pour en savoir plus" href="http://www.elsevier-masson.fr/livre/10146" target="_blank"><img class="alignleft" title="Cliquez pour en savoir plus" src="http://www.elsevier-masson.fr/images/emcover/10146.jpg" border="1" alt="Cliquez pour en savoir plus" width="100" height="142" align="left" /></a><br />
<span style="color:#6600cc;"><strong>•</strong></span> Les <strong>c</strong><strong>onnaissances les plus récentes illustrée par plus de 150 images</strong>.</p>
<p><span style="color:#6600cc;"><strong>•</strong></span> Un <strong>exposé synthétique des aspects épidémiologiques, cliniques et radiologiques</strong>.</p>
<p><span style="color:#6600cc;"><strong>•</strong></span> Les <strong>dernières avancées physiopathogéniques</strong>.</p>
<p><span style="color:#6600cc;"><strong>&#62;</strong></span> <a href="http://www.elsevier-masson.fr/livre/10146" target="_blank">En savoir plus</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Votre nouveau traité clinique, diagnostique et thérapeutique]]></title>
<link>http://elseviermasson.wordpress.com/2009/11/17/lerais/</link>
<pubDate>Tue, 17 Nov 2009 11:44:06 +0000</pubDate>
<dc:creator>Mathieu Bellet</dc:creator>
<guid>http://elseviermasson.wordpress.com/2009/11/17/lerais/</guid>
<description><![CDATA[Pathologie articulaire et péri-articulaire des membres Clinique, imagerie diagnostique et thérapeuti]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Pathologie articulaire et péri-articulaire des membres</strong><br />
<strong>Clinique, imagerie diagnostique et thérapeutique</strong><br />
Jean-Michel Lerais, Denis Krause, Bruno Kastler, Christian Tavernier</p>
<p><a title="Cliquez pour en savoir plus sur cette offre de lancement" href="http://www.elsevier-masson.fr/livre/470595" target="_blank"><img class="alignleft" title="Cliquez pour en savoir plus" src="http://www.elsevier-masson.fr/images/emcover/470595.jpg" border="1" alt="Cliquez pour en savoir plus" width="100" height="142" align="left" /></a>Les deux piliers fondamentaux du <strong>diagnostic que sont la clinique et l&#8217;imagerie, mais aussi la thérapeutique</strong>, sont exposés de façon didactique grâce à :<br />
<strong>• 2400 illustrations dont 350 dessins anatomiques légendés</strong> qui permettent de mieux comprendre l&#8217;imagerie moderne.<br />
<strong>• Des arbre décisionnels</strong>.<br />
<strong>• Les principales classifications des pathologies</strong>.<br />
<strong>• Six parties :</strong> épaule, coude, poignet et main, hanche, genou, cheville et pied.</p>
<p>+ Accès à l&#8217;intégralité du contenu en ligne sur le site www.em-consulte.com via un code d&#8217;accès privatif inclus dans l&#8217;ouvrage.</p>
<p><span style="text-decoration:underline;"><strong>OFFRE DE LANCEMENT</strong></span><strong> :<br />
Jusqu&#8217;au 28 février 2010, bénéficiez d&#8217;un prix exceptionnel : <a href="http://www.elsevier-masson.fr/livre/470595" target="_blank">151,05 € au lieu de 189 €</a></strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Le nouveau Netter en imagerie médicale]]></title>
<link>http://elseviermasson.wordpress.com/2009/11/10/le-nouveau-netter-en-imagerie-medicale/</link>
<pubDate>Tue, 10 Nov 2009 11:25:38 +0000</pubDate>
<dc:creator>Mathieu Bellet</dc:creator>
<guid>http://elseviermasson.wordpress.com/2009/11/10/le-nouveau-netter-en-imagerie-medicale/</guid>
<description><![CDATA[Netter. Précis d&#8217;anatomie clinique en imagerie médicale Edward C. Weber et al. Édition françai]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong><a href="http://www.elsevier-masson.fr/livre/470705" target="_blank"><img class="alignleft" style="border:1px solid black;" src="http://www.elsevier-masson.fr/images/emcover/470705.jpg" alt="" width="100" height="141" /></a>Netter. Précis d&#8217;anatomie clinique en imagerie médicale</strong><br />
Edward C. Weber et al.<br />
Édition française coordonnée par Fabrice Duparc<br />
L&#8217;anatomie en imagerie médicale du corps humain est présentée sur des <strong>doubles pages</strong> :<br />
• à gauche, un <strong>dessin anatomique</strong> de Netter,<br />
• à droite, une vue <strong>provenant de l&#8217;imagerie médicale</strong> (radiographie, échographie, angiographie-scanner, tomodensitométrie, IRM &#8230;).</p>
<p><!--more--></p>
<p>Les légendes identifient les mêmes éléments anatomiques sur les deux images.<br />
Synthétique et hautement visuel, ce livre sera un complément à l&#8217;<strong><a title="En savoir plus sur cet ouvrage de référence..." href="http://www.elsevier-masson.fr/livre/409473" target="_blank">Atlas d&#8217;anatomie humaine</a></strong> de Netter.</p>
<p><strong>&#62; <a href="http://www.elsevier-masson.fr/livre/409473" target="_blank">En savoir plus</a></strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Qui se ressemble ?]]></title>
<link>http://desertoccidental.wordpress.com/2009/10/18/qui-se-ressemble/</link>
<pubDate>Sun, 18 Oct 2009 11:09:17 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/10/18/qui-se-ressemble/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-1083" title="Qui se ressemble" src="http://desertoccidental.wordpress.com/files/2009/10/qui-se-ressemble.jpg" alt="Qui se ressemble" width="450" height="747" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Entrelacs]]></title>
<link>http://desertoccidental.wordpress.com/2009/08/17/entrelas/</link>
<pubDate>Sun, 16 Aug 2009 23:38:10 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/08/17/entrelas/</guid>
<description><![CDATA[L&#8217;Antoine ne peut s&#8217;empêcher de penser.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><img class="aligncenter size-full wp-image-885" title="tentation" src="http://desertoccidental.wordpress.com/files/2009/08/3530621750_e374299163.jpg" alt="tentation" width="374" height="500" /><span style="color:#ffcc00;">L&#8217;</span><span style="color:#800080;"><span style="color:#ffffff;"><span style="text-decoration:underline;">Antoine</span></span> <span style="color:#00ffff;">ne</span> peut s&#8217;<span style="color:#ff0000;">em</span>pêcher de penser</span>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Aux fols]]></title>
<link>http://desertoccidental.wordpress.com/2009/08/15/aux-fols/</link>
<pubDate>Sat, 15 Aug 2009 01:34:26 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/08/15/aux-fols/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-855" title="Lagniet" src="http://desertoccidental.wordpress.com/files/2009/08/lagniet.jpg" alt="Lagniet" width="450" height="532" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Du métier]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/13/du-metier/</link>
<pubDate>Mon, 13 Jul 2009 11:18:23 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/13/du-metier/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-428" title="camera_obscura" src="http://desertoccidental.wordpress.com/files/2009/07/booth_camera_obscura.jpg" alt="camera_obscura" width="250" height="253" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Bonne aventure]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/12/bonne-aventure/</link>
<pubDate>Sun, 12 Jul 2009 13:43:41 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/12/bonne-aventure/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-327" title="destin" src="http://desertoccidental.wordpress.com/files/2009/07/be75a22e43.jpg" alt="destin" width="360" height="300" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mascherina]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/12/mascherina/</link>
<pubDate>Sat, 11 Jul 2009 23:20:17 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/12/mascherina/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-310" title="mitelli" src="http://desertoccidental.wordpress.com/files/2009/07/mitelli16.jpg" alt="mitelli" width="450" height="654" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Outil]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/11/vue-periscopique/</link>
<pubDate>Sat, 11 Jul 2009 17:36:10 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/11/vue-periscopique/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-424" title="alberti" src="http://desertoccidental.wordpress.com/files/2009/07/alberti_grid.gif" alt="alberti" width="282" height="438" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Lagnet]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/11/lagnet/</link>
<pubDate>Sat, 11 Jul 2009 08:49:00 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/11/lagnet/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-full wp-image-231" title="C'est un bon giboyeur." src="http://desertoccidental.wordpress.com/files/2009/07/lagnet.jpg" alt="C'est un bon giboyeur." width="450" height="517" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Emblème &amp; symbole]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/10/embleme-symbole/</link>
<pubDate>Fri, 10 Jul 2009 14:28:32 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/10/embleme-symbole/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:left;"><img class="size-full wp-image-198  alignleft" title="pour vous mes dames" src="http://desertoccidental.wordpress.com/files/2009/07/desdames007018.jpg" alt="pour vous mes dames" width="229" height="359" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[En promotion]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/10/en-promotion/</link>
<pubDate>Fri, 10 Jul 2009 14:23:08 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/10/en-promotion/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="aligncenter size-full wp-image-195" title="c'est la classe ." src="http://desertoccidental.wordpress.com/files/2009/07/enpromotion007021.jpg" alt="c'est la classe ." width="450" height="292" /></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cadres]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/10/cadres/</link>
<pubDate>Fri, 10 Jul 2009 12:39:39 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/10/cadres/</guid>
<description><![CDATA[Hemi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:right;"><img class="size-full wp-image-176 alignleft" title="Ciel mon mari!" src="http://desertoccidental.wordpress.com/files/2009/07/68-5043.jpg" alt="68-5043" width="308" height="255" /><img class="size-medium wp-image-177 alignright" title="miroir" src="http://desertoccidental.wordpress.com/files/2009/07/estampe1.jpg?w=188" alt="estampe" width="107" height="170" /></p>
<h2 style="text-align:right;"><span style="text-decoration:underline;"><span style="color:#ff0000;"><span style="color:#00ffff;">H<span style="color:#ff0000;">emi</span></span></span></span></h2>
<p style="text-align:right;">
<p style="text-align:right;">
<p style="text-align:right;">
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hareng]]></title>
<link>http://desertoccidental.wordpress.com/2009/07/10/grave/</link>
<pubDate>Fri, 10 Jul 2009 12:21:41 +0000</pubDate>
<dc:creator>aRa</dc:creator>
<guid>http://desertoccidental.wordpress.com/2009/07/10/grave/</guid>
<description><![CDATA[a Lagniet]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:left;"><img class="size-medium wp-image-211 alignleft" title="carnaval" src="http://desertoccidental.wordpress.com/files/2009/07/lagniet007024.jpg?w=248" alt="carnaval" width="351" height="424" /> a Lagniet</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Aponévrosite ou "fasciite" plantaire : irradiations diagnostique et autres ?]]></title>
<link>http://chirurgie.wordpress.com/2009/06/23/aponevrosite-ou-fasciite-plantaire-irradiations-diagnostique-et-autres/</link>
<pubDate>Tue, 23 Jun 2009 18:30:36 +0000</pubDate>
<dc:creator>orthopedix</dc:creator>
<guid>http://chirurgie.wordpress.com/2009/06/23/aponevrosite-ou-fasciite-plantaire-irradiations-diagnostique-et-autres/</guid>
<description><![CDATA[Gwo bonda et radio inutile... Cette « plantar fasciitis » est malheureusement plus et mal connue sou]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_332" class="wp-caption aligncenter" style="width: 370px"><img class="size-full wp-image-332" title="epinecalca" src="http://chirurgie.wordpress.com/files/2009/06/epinecalca.jpg" alt="Gwo bonda et radio inutile..." width="360" height="180" /><p class="wp-caption-text">Gwo bonda et radio inutile...</p></div>
<p>Cette « plantar fasciitis » est malheureusement plus et mal connue sous le nom d&#8217;<a href="http://pagesperso-orange.fr/docteurgandon/Templates/aponevrositeplante.html" target="_blank"><strong>&#8220;épine calcanéenne&#8221;</strong></a>, ce qui souligne la malsaine mais réelle et coûteuse (20 milliards d&#8217;euros de déficit en 2009&#8230;) primauté d’examens radiographiques invasifs non écologiques sur la clinique de bon papa&#8230;</p>
<p>Cette « fasciite » ou aponévrosite serait, à tout le moins, aux Antilles, un motif de plus en plus fréquent de consultation avec la sédentarisation croissante des <strong>masses</strong> populaires si tant est vrai qu&#8217;écrans + volant =&#62; <a href="http://rgheft.wordpress.com/2009/06/21/plantar-fasciitis-and-traditional-chinese-medicine/" target="_blank">gwo bonda</a> et jumeaux courts….</p>
<p>On parle aussi de <strong>talalgie </strong>plantaire.</p>
<p>Les douleurs siègent à la plante du pied, vers le talon.</p>
<p>Typiquement, on a mal le matin en se levant et les premiers pas sont difficiles.</p>
<p>Puis les choses s&#8217;arrangent après un temps de dérouillage.</p>
<p>En fin de journée, on sent la fatigue et une lourdeur dans le pied.</p>
<p>On se « repose » devant la télé (la t’lé, c’est moins fatigant à prononcer…), et de nouveau on a très mal quand (si…) on se lève.</p>
<p>La nuit amènerait un soulagement, mais pas toujours…</p>
<p>Tout cela serait lié à la mise en tension (et à l’engorgement veineux ?) de l&#8217;aponévrose plantaire, toile résistante qui &#8220;ferait la corde&#8221; de la voûte plantaire et l&#8217;empêcherait de s&#8217;affaisser (en vert sur l&#8217;inutile, routinière et coûteuse radio).</p>
<p>Vers l&#8217;avant, l&#8217;aponévrose a des terminaisons tendineuses vers les fléchisseurs des orteils.</p>
<p>En arrière au contraire, elle a pour origine une zone  assez limitée du calcanéum (lui-même verrouillé par Achille, Soléaire et Jumeaux biarticulaires), et c&#8217;est cette &#8220;origine&#8221; sur un calca (trop ? verrouillé) qui serait douloureuse.</p>
<p>La traction sur cette insertion d’origine du Court Fléchisseur Plantaire pourrait, dit-on, entrainer sa calcification, avec à l’incontournable « radio » (routine remboursée) l&#8217;aspect d&#8217;une <strong>épine</strong> (d&#8217;où le nom)&#8230; dans le pied de la Sécu (album de la comtesse).</p>
<p>Mais ce ne serait pas cette calcification qui ferait mal, ce serait la tension sur l&#8217;aponévrose.</p>
<p>Il n&#8217;y aurait donc aucune raison d&#8217;opérer l&#8217;épine et pourtant certains sujets que j’avais refusé d’opérer (faute de temps&#8230;) ont été très satisfaits d’être opérés sans retard par d’autres opérateurs (chirurgiens ?) pressés….</p>
<p>Par contre, sans « couper », il faudrait donc soulager la tension, ce que le patient ferait spontanément en marchant sur le bord externe du pied.</p>
<p>Le traitement de « fond » (on le touche dans ce cas)  reposerait donc sur une semelle (trop bon bizness), qui soutiendrait la voûte et replacerait le pied en bonne position (laquelle ?).</p>
<p>D&#8217;autant qu&#8217;on ( ?) constaterait fréquemment un affaissement de la voûte, dans un contexte de variation ( !, ?) hormonale (grossesse, ménopause) ou de prise de <strong>poids</strong>.</p>
<p>Une à trois infiltrations permettraient, dit-on, de passer le cap douloureux si nécessaire.</p>
<p>Radiothérapie, « lithotripsie » seraient aussi encore en vogue en 2009.</p>
<p>Dans les cas rebelles à tous ces changements répétés, illogiques et coûteux de « trains de pneus », je conseille une étude du « parallélisme » en particulier au niveau de la forme (souplesse + puissance) des Jumeaux biarticulaires et volontiers rétractés au volant ou devant les écrans.</p>
<p>Enfin, à Jumeaux souples, les saphènes internes seraient parfois siège de reflux majeur et les talalgies (à radios &#8220;normales&#8221; sans épine) auraient alors fait volontiers consulter le psy et descendre les escaliers en marche arrière pendant des années… avant la crossectomie salvatrice bilatérale (sous AL&#8230;).</p>
<p>Rarement, il pourrait s&#8217;agir (chez l&#8217;homme surtout), d&#8217;une forme de début d&#8217;un rhumatisme particulier.</p>
<p>Aux dernières nouvelles, l’assouplissement sélectif du Court Fléchisseur Plantaire « marcherait » encore moins mal (plus régulièrement) que celui des Jumeaux…</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Virtual Earth] D&eacute;veloppement Microsoft Virtual Earth Web Services &ndash; Part 3 : Imagery Service]]></title>
<link>http://sebastiencourtois.wordpress.com/2009/04/08/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-3-imagery-service/</link>
<pubDate>Wed, 08 Apr 2009 15:00:00 +0000</pubDate>
<dc:creator>sebastiencourtois</dc:creator>
<guid>http://sebastiencourtois.wordpress.com/2009/04/08/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-3-imagery-service/</guid>
<description><![CDATA[Liens des posts sur le sujet sur ce blog : Introduction à Microsoft Virtual Earth (Part 1) Géocoding]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Liens des posts sur le sujet sur ce blog : </p>
<ol>
<li><a href="http://sebastiencourtois.wordpress.com/2009/03/12/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-1/" target="_blank">Introduction à Microsoft Virtual Earth (Part 1)</a> </li>
<li><a href="http://sebastiencourtois.wordpress.com/2009/04/07/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-2-gocoding-service/" target="_blank">Géocoding / Géocoding Inverse (Part 2)</a> </li>
<li><a href="http://sebastiencourtois.wordpress.com/2009/04/08/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-3-imagery-service/" target="_blank">Récupération des images satellites (Part 3)</a> </li>
<li><a href="http://sebastiencourtois.wordpress.com/2009/04/24/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-4-route-service/" target="_blank">Calcul d’itinéraires (Part 4)</a> </li>
</ol>
<p>Dans ce post, nous allons parler la partie la plus intéressante de Virtual Earth : La récupération des images satellites.</p>
<p>Tout d’abord, il est nécessaire d’ajouter une référence vers le service d’imagerie de Virtual Earth : <a href="http://staging.dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc">http://staging.dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc</a>. On instancie ensuite une classe proxy nommée <strong><em>ImageryServiceClient</em></strong> afin d’avoir accès au service.</p>
<pre>ImageryServiceClient imagerySvc = <span style="color:#0000ff;">new</span> ImageryServiceClient();</pre>
<p>On peut utiliser ce service pour récupérer les images de deux manières : Récupération des images à la demande et Récupération des images à la volée (Tiles).</p>
<ul>
<li><strong><u>
<p>Récupération des images à la demande : MapUriRequest</p>
<p>      </u></strong></li>
</ul>
<p>Il est possible de récupérer des images satellites en fournissant des coordonnées géographiques puis de spécifier des informations supplémentaires pour avoir l’image souhaitée.</p>
<p>On utilise pour cela la classe <strong><em>MapUriRequest</em></strong> que l’on va fournir en paramètre de la méthode <strong><em>GetMapUri</em></strong> de la classe <strong><em>ImageryServiceClient</em></strong>. </p>
<p>Cette classe <strong><em>MapUriRequest</em></strong> est composée des propriétés spécifiques suivantes : (je ne mets que les propriétés spécifiques aux requêtes <strong><em>MapUri</em></strong>. Pour les autres paramètres, voir les <a href="http://sebastiencourtois.wordpress.com/2009/04/07/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-2-gocoding-service/" target="_blank">posts précédents</a>).</p>
<table border="1" cellspacing="0" cellpadding="2" width="906">
<tbody>
<tr>
<td valign="top" width="152"><u><strong>Nom de la propriété</strong></u></td>
<td valign="top" width="752"><u><strong>Description</strong></u></td>
</tr>
<tr>
<td valign="top" width="152"><strong><em>Center</em></strong></td>
<td valign="top" width="752">Coordonnées géographiques du point central de l’image (classe <strong><em>Location</em></strong> avec des propriétés Latitude/Longitude/Altitude)</td>
</tr>
<tr>
<td valign="top" width="152"><strong><em>MajorRoutesDestination</em></strong></td>
<td valign="top" width="752">Paramètre ne fonctionnant pas chez moi et dont je ne comprends pas l’intérêt. Voir <a href="http://msdn.microsoft.com/en-us/library/cc966744.aspx" target="_blank">la documentation MSDN</a>.</td>
</tr>
<tr>
<td valign="top" width="152"><strong><em>Options</em></strong></td>
<td valign="top" width="752">Options de paramétrage de l’image sous la forme d’une classe <strong><em>MapUriOptions</em></strong>. Cette classe est décrite par la suite.</td>
</tr>
<tr>
<td valign="top" width="152"><strong><em>Pushpins</em></strong></td>
<td valign="top" width="752">Ajout de puce pour indiquer les emplacements importants. Il s’agit d’un tableau de <strong><em>Pushpin</em></strong>. Il est possible de définir, pour chaque puce, sa position, son nom ainsi que l’icône à utiliser parmi une liste prédéfini par Microsoft (<a href="http://msdn.microsoft.com/en-us/library/cc980903.aspx" target="_blank">Liste des icones disponible par défaut</a>). Le nombre maximum d’icones est de 10 par image.</td>
</tr>
</tbody>
</table>
<ul>
<ul>
<li><u>MapUriOptions</u> </li>
</ul>
</ul>
<p>La classe MapUriOptions permet de définir un certain nombre de paramètres sur l’image que l’on souhaite obtenir.</p>
<table border="1" cellspacing="0" cellpadding="2" width="907">
<tbody>
<tr>
<td valign="top" width="200"><u><strong>Nom de la propriété</strong></u></td>
<td valign="top" width="705"><u><strong>Description</strong></u></td>
</tr>
<tr>
<td valign="top" width="200"><strong><em>DisplayLayers</em></strong></td>
<td valign="top" width="705">Il est possible de superposer sur l’image des calques d’informations. Pour cela, il suffit de fournir une chaine de caractères contenant la liste des <a href="http://msdn.microsoft.com/en-us/library/cc981085.aspx" target="_blank">calques disponibles</a>.</td>
</tr>
<tr>
<td valign="top" width="200"><strong><em>ImageSize</em></strong></td>
<td valign="top" width="705">Taille de l’image souhaitée (valeurs entre 80 et 830 pixels sur les deux dimensions)</td>
</tr>
<tr>
<td valign="top" width="200"><strong><em>ImageType</em></strong></td>
<td valign="top" width="705">Format de l’image (GIF, JPEG, PNG). Par défaut, cela dépend du style de carte voulue. (voir <a href="http://msdn.microsoft.com/en-us/library/cc980869.aspx" target="_blank">la documentation MSDN</a>)</td>
</tr>
<tr>
<td valign="top" width="200"><strong><em>PreventIconCollision</em></strong></td>
<td valign="top" width="705">Valeur booléen pour indiquer si l’on souhaite que les icones (pushpins) se superposent lorsqu’ils sont proche.</td>
</tr>
<tr>
<td valign="top" width="200"><strong><em>Style</em></strong></td>
<td valign="top" width="705">Type de carte parmi les suivantes : Route (Road), Aérien (Aerial), Aérien avec titre (AerialWithLabels).<br />
        <br />Les images de type&#160; Birdseye <strong>et</strong> BirdseyeWithLabel ne sont pas disponible sur le Web Service.</td>
</tr>
<tr>
<td valign="top" width="200"><strong><em>UriScheme</em></strong></td>
<td valign="top" width="705">Type d’URL : HTTP ou HTTPS </td>
</tr>
<tr>
<td valign="top" width="200"><strong><em>ZoomLevel</em></strong></td>
<td valign="top" width="705">Niveau de zoom compris entre 1 et 21. (1 étant le plus éloigné et 21 étant le plus proche de la cible).</td>
</tr>
</tbody>
</table>
<ul>
<ul>
<li><u>Un exemple d’utilisation </u></li>
</ul>
</ul>
<p>N.B : Les variables <em>positions</em> et <em>token</em> sont reprises des exemples précédents.</p>
<pre>MapUriRequest mapUriRequest = <span style="color:#0000ff;">new</span> MapUriRequest();
mapUriRequest.Credentials = <span style="color:#0000ff;">new</span> VETutorial.ImageryService.Credentials();
mapUriRequest.Credentials.Token = token;

mapUriRequest.Center  = <span style="color:#0000ff;">new</span> VETutorial.ImageryService.Location() { Latitude = position.Latitude, Longitude = position.Longitude };
mapUriRequest.Options = <span style="color:#0000ff;">new</span> MapUriOptions()
{
	ImageSize = <span style="color:#0000ff;">new</span> VETutorial.ImageryService.SizeOfint() {  Width=800, Height = 600},
	ImageType = ImageType.Jpeg,
	Style = MapStyle.AerialWithLabels,
	UriScheme = UriScheme.Https,
	ZoomLevel = 18
};
mapUriRequest.Pushpins = <span style="color:#0000ff;">new</span> Pushpin[] { <span style="color:#0000ff;">new</span> Pushpin() { Location = <span style="color:#0000ff;">new</span> VETutorial.ImageryService.Location() { Latitude = position.Latitude, Longitude = position.Longitude } } };

MapUriResponse reponseMapUrl = imagerySvc.GetMapUri(mapUriRequest);
<span style="color:#0000ff;">string</span> finalUrl = reponseMapUrl.Uri.Replace(&#34;<span style="color:#8b0000;">{token}</span>&#34;,token);</pre>
<p>L’exemple ci-dessus, crée une requête MapUri et lui indique le token d’authentification à utiliser (ne pas oublier cette étape). On définit ensuite les différents paramètres comme la position centrale, taille et format de l’image et niveau de zoom. Après l’appel de la méthode <strong><em>GetMapUri</em></strong>, on obtient un objet <strong><em>MapUriResponse</em></strong> contenant une propriété <strong><em>Uri</em></strong> contenant un modèle d’URL pour récupérer l’image. Ce modèle permet de construire soit même l’url pour récupérer l’image. </p>
<p>Dans mon cas, je reçois l’url suivant : <a title="https://staging.tiles.virtualearth.net/api/GetMap.ashx?c=48.868681,2.334231&#38;ppl=48.868681,2.334231&#38;w=800&#38;h=600&#38;o=jpeg&#38;b=h,mkt.en-US&#38;z=18&#38;token={token}" href="https://staging.tiles.virtualearth.net/api/GetMap.ashx?c=48.868681,2.334231&#38;ppl=48.868681,2.334231&#38;w=800&#38;h=600&#38;o=jpeg&#38;b=h,mkt.en-US&#38;z=18&#38;token={token}">https://staging.tiles.virtualearth.net/api/GetMap.ashx?c=48.868681,2.334231&#38;ppl=48.868681,2.334231&#38;w=800&#38;h=600&#38;o=jpeg&#38;b=h,mkt.en-US&#38;z=18&#38;token={token}</a></p>
<p>Sans rentrer dans les détails des différentes paramètres contenues dans cette url, nous nous intéresserons sur le dernier paramètre : &#38;token={token}. Au sein des services Virtual Earth, le modèle URL contiennent des zones “à remplacer” toujours représenté par des {}. Dans ce cas précis, il faut remplacer le {token} par la valeur de notre token. La façon la plus simple pour remplacer ces zones est d’utiliser la méthode Replace de la classe String. On arrive finalement à une adresse finale qui pourra être utilisé dans un navigateur, WebClient ou autres pour récupérer l’image.</p>
<p>L’image obtenue est la suivante : <img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="GetMap" border="0" alt="GetMap" src="http://sebastiencourtois.files.wordpress.com/2009/04/getmap-thumb.jpg?w=499&#038;h=375" width="499" height="375" /></p>
<p>&#160; Un des trucs sympas est que l’on peut mettre cet adresse sur la propriété <strong><em>Source</em></strong> des contrôles d’images (Winforms,ASP.NET …) et l’image est téléchargée directement et affichée.</p>
<ul>
<li><u><strong>Récupération des images à la volée (Tiles)</strong></u> </li>
</ul>
</p>
<p>Demander à Virtual Earth de générer une image pour nous est pratique. Toutefois, il y a un certain cout en termes de performance qui fait que cela n’est utilisable que pour afficher des images ponctuellement. Un déplacement fluide sur une carte avec l’API MapURI n’est pas envisageable. C’est pourquoi Virtual Earth fournit une autre façon de récupérer des images : Le Tile System.</p>
<ul>
<ul>
<li><u>Qu’est ce que le Tile System ?</u> </li>
</ul>
</ul>
<p>Un Tile est une image d’une taille fixe représentant une partie d’une image plus grande. Dans le cas de la cartographie, ces images représentent un morceau du monde et, une fois l’ensemble de ces Tiles assemblés, on obtient une image du monde. Au sein de Virtual Earth, ces Tiles font 256&#215;256 pixels. Le nombre de Tiles représentant le monde dépend du zoom. Au zoom le plus haut, on a 4 Tiles. Au zoom suivant on a 16 Tiles et ainsi de suite. Chaque Tile est numéroté en fonction de son emplacement et son zoom. Ce concept est décrit par le schéma suivant : </p>
<p><a href="http://sebastiencourtois.files.wordpress.com/2009/04/tilesystem.jpg"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="tilesystem" border="0" alt="tilesystem" src="http://sebastiencourtois.files.wordpress.com/2009/04/tilesystem-thumb.jpg?w=650&#038;h=384" width="650" height="384" /></a></p>
<p>Afin d’obtenir chacune des images, il est nécessaire de construire l’url vers l’image. On obtient l’url d’un Tile de la façon suivante : </p>
<p><a title="https://staging.tiles.virtualearth.net/tiles/h1.jpeg?g=275&#38;mkt={culture}&#38;token={token}" href="https://staging.tiles.virtualearth.net/tiles/{type}{code}.jpeg?g={version}&#38;mkt={culture}&#38;token={token}">https://staging.tiles.virtualearth.net/tiles/{type}{code}.jpeg?g={version}&#38;mkt={culture}&#38;token={token}</a></p>
<table border="1" cellspacing="0" cellpadding="2" width="906">
<tbody>
<tr>
<td valign="top" width="72"><u><strong>Nom</strong></u></td>
<td valign="top" width="832"><u><strong>Description</strong></u></td>
</tr>
<tr>
<td valign="top" width="72">{type}</td>
<td valign="top" width="832">Type de carte représenté par un caractère : h pour Hybrid (Aérien avec textes), a pour Aerial (Aérien), r pour Road (Carte routière)</td>
</tr>
<tr>
<td valign="top" width="72">{code}</td>
<td valign="top" width="832">Identifiant du tile comme décrit dans le schéma ci-dessus</td>
</tr>
<tr>
<td valign="top" width="72">{version}</td>
<td valign="top" width="832">Numéro de version de Virtual Earth (275 au moment de l’écriture de ce tutorial)</td>
</tr>
<tr>
<td valign="top" width="72">{culture}</td>
<td valign="top" width="832">Culture à utiliser dans l’affichage du texte (‘en-US’, ‘fr-FR’ …)</td>
</tr>
<tr>
<td valign="top" width="72">{token}</td>
<td valign="top" width="832">Token d’authentification</td>
</tr>
</tbody>
</table>
<p>Exemple : <a title="https://staging.tiles.virtualearth.net/tiles/h0331.jpeg?g=275&#38;mkt=fr-FR&#38;token=12345" href="https://staging.tiles.virtualearth.net/tiles/h0331.jpeg?g=275&#38;mkt=fr-FR&#38;token=12345">https://staging.tiles.virtualearth.net/tiles/h0331.jpeg?g=275&#38;mkt=fr-FR&#38;token=12345</a>&#160;&#160; </p>
<p><a href="http://sebastiencourtois.files.wordpress.com/2009/04/h0331.jpg"><img style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" title="h0331" border="0" alt="h0331" src="http://sebastiencourtois.files.wordpress.com/2009/04/h0331-thumb.jpg?w=244&#038;h=244" width="244" height="244" /></a></p>
</p>
<ul>
<ul>
<li><u>Informations sur les Tiles</u> </li>
</ul>
</ul>
<p>Il est possible d’avoir des informations d’un Tile en fonction de son emplacement (coordonnées géographiques). Pour cela, on utilise la classe <strong><em>ImageryMetadataRequest</em></strong>. Cette classe contient les&#160; mêmes propriétés que la classe MapUriRequest décrit plus haut. La seule différence se trouve dans la propriété <strong><em>Options</em></strong> qui est une classe <strong><em>ImageryMetadataOptions</em></strong>. Elle contient les propriétés suivantes : </p>
<table border="1" cellspacing="0" cellpadding="2" width="850">
<tbody>
<tr>
<td valign="top" width="168"><u><strong>Nom de la propriété</strong></u></td>
<td valign="top" width="680"><u><strong>Description</strong></u></td>
</tr>
<tr>
<td valign="top" width="168"><strong><em>Heading</em></strong></td>
<td valign="top" width="680">Orientation de la carte ( 0° = Nord en haut)</td>
</tr>
<tr>
<td valign="top" width="168"><strong><em>Location</em></strong></td>
<td valign="top" width="680">Centre de la carte (coordonnées géographiques)</td>
</tr>
<tr>
<td valign="top" width="168"><strong><em>ReturnImageryProviders</em></strong></td>
<td valign="top" width="680">Booléen indiquant si l’on souhaite récupérer les données sur les fournisseurs des cartes (copyrights …)</td>
</tr>
<tr>
<td valign="top" width="168"><strong><em>UriScheme</em></strong></td>
<td valign="top" width="680">Type d’URL : HTTP ou HTTPS </td>
</tr>
<tr>
<td valign="top" width="168"><strong><em>ZoomLevel</em></strong></td>
<td valign="top" width="680">Niveau de zoom</td>
</tr>
</tbody>
</table>
<pre>ImageryMetadataRequest metadataRequest = <span style="color:#0000ff;">new</span> ImageryMetadataRequest();
metadataRequest.Credentials = <span style="color:#0000ff;">new</span> VETutorial.ImageryService.Credentials();
metadataRequest.Credentials.Token = token;

metadataRequest.Style = MapStyle.AerialWithLabels;
metadataRequest.Options = <span style="color:#0000ff;">new</span> ImageryMetadataOptions()
{
	Heading = <span style="color:#0000ff;">new</span> VETutorial.ImageryService.Heading() { Orientation = 0 } ,
	Location = <span style="color:#0000ff;">new</span> VETutorial.ImageryService.Location() { Latitude = position.Latitude, Longitude = position.Longitude },
	ZoomLevel = 8,
	ReturnImageryProviders = <span style="color:#0000ff;">true</span>,
	UriScheme = UriScheme.Https
};

ImageryMetadataResponse resultImageMetadata = imagerySvc.GetImageryMetadata(metadataRequest);</pre>
<p>En réponse de la méthode <strong><em>GetImageryMetadata</em></strong>, on récupère une classe&#160; <strong><em>ImageryMetadataResponse</em></strong>&#160; contenant une propriété Result étant représenté par un tableau de <strong><em>ImageryMetadataResult</em></strong> celui-ci contient les informations suivantes : </p>
<table border="1" cellspacing="0" cellpadding="2" width="600">
<tbody>
<tr>
<td valign="top" width="147"><u><strong>Nom de la propriété</strong></u></td>
<td valign="top" width="451"><u><strong>Description</strong></u></td>
</tr>
<tr>
<td valign="top" width="147"><strong><em>ImageryProvider</em></strong></td>
<td valign="top" width="451">Liste des fournisseurs de données</td>
</tr>
<tr>
<td valign="top" width="147"><strong><em>ImageSize</em></strong></td>
<td valign="top" width="451">Taille de l’image (normalement 256&#215;256 pixels)</td>
</tr>
<tr>
<td valign="top" width="147"><strong><em>ImageUri</em></strong></td>
<td valign="top" width="451">Schéma de l’URL pour récupérer l’image (voir plus loin dans ce post)</td>
</tr>
<tr>
<td valign="top" width="147"><strong><em>ImageUriSubDomains</em></strong></td>
<td valign="top" width="451">Liste des sous domaines disponible pour cette image</td>
</tr>
<tr>
<td valign="top" width="147"><strong><em>Vintage</em></strong></td>
<td valign="top" width="451">Date de validité des images</td>
</tr>
<tr>
<td valign="top" width="147"><em><strong>ZoomRange</strong></em></td>
<td valign="top" width="451">Zoom lié à l’image</td>
</tr>
</tbody>
</table>
<p>L’une des informations importantes de cette structure de données est <strong><em>ImageUri</em></strong>. Il est nécessaire de la modifier comme décrit ci-dessus. Ainsi, dans mon exemple, on obtient : <a title="https://t1.staging.tiles.virtualearth.net/tiles/h12022001.jpeg?g=275&#38;mkt={culture}&#38;token={token}" href="https://t1.staging.tiles.virtualearth.net/tiles/h12022001.jpeg?g=275&#38;mkt={culture}&#38;token={token">https://t1.staging.tiles.virtualearth.net/tiles/h12022001.jpeg?g=275&#38;mkt={culture}&#38;token={token}</a>. Il suffit de remplacer {culture} et {token} pour avoir accès à l’image centrée sur la propriété <strong><em>Location</em></strong> définie dans la requête.</p>
<p>Ainsi se conclut la description du service d’imagerie de Virtual Earth. Comme certains d’entre vous l’auront remarqué, il manque de nombreuses fonctionnalités comme le BirdEye ou la 3D. Cela est du au fait que les services Web Virtual Earth ne sont pas aussi complète que le contrôle ASP.NET. Ces fonctionnalités arriveront par la suite.</p>
<p>Dans les prochains posts nous parlerons du service de calcul d’itinéraire ainsi que du moteur de recherche d’entités (magasins, écoles, points d’intérêt …) de Virtual Earth. Je vais aussi faire une démo intégrant l’ensemble des services décrit afin de montrer les possibilités de Virtual Earth de façon plus parlante. Cette démo sera surement en WPF ou en Silverlight (selon mes envies du moment).</p>
<p>N’hésitez pas à me faire des retours sur ces posts. Si vous avez des idées de sujets à traiter pour ce blog, merci de les indiquer dans les commentaires ci-dessous.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Virtual Earth] D&eacute;veloppement Microsoft Virtual Earth Web Services &ndash; Part 2 : G&eacute;ocoding Service]]></title>
<link>http://sebastiencourtois.wordpress.com/2009/04/07/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-2-gocoding-service/</link>
<pubDate>Tue, 07 Apr 2009 19:40:00 +0000</pubDate>
<dc:creator>sebastiencourtois</dc:creator>
<guid>http://sebastiencourtois.wordpress.com/2009/04/07/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-2-gocoding-service/</guid>
<description><![CDATA[Cet article est une suite de l’article se trouvant ici. Il était question de créer un compte Virtual]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Cet article est une suite de l’article se trouvant <a href="http://sebastiencourtois.wordpress.com/2009/03/12/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-1/">ici</a>. Il était question de créer un compte Virtual Earth et se connecter en C# aux différents services Web de Virtual Earth.</p>
<p>Liens des posts sur le sujet sur ce blog : </p>
<ol>
<li><a href="http://sebastiencourtois.wordpress.com/2009/03/12/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-1/" target="_blank">Introduction à Microsoft Virtual Earth (Part 1)</a> </li>
<li><a href="http://sebastiencourtois.wordpress.com/2009/04/07/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-2-gocoding-service/" target="_blank">Géocoding / Géocoding Inverse (Part 2)</a> </li>
<li><a href="http://sebastiencourtois.wordpress.com/2009/04/08/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-3-imagery-service/" target="_blank">Récupération des images satellites (Part 3)</a> </li>
<li><a href="http://sebastiencourtois.wordpress.com/2009/04/24/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-4-route-service/" target="_blank">Calcul d’itinéraires (Part 4)</a></li>
</ol>
<p>L’article courant va parler de l’utilisation de un de ces services : Le Géocoding/Géocoding inverse.</p>
<h3><strong><u>Géocoding</u></strong></h3>
<p>Comme expliqué dans l’article précédent, le Géocoding est le processus permettant de retrouver des coordonnées géographiques d’un lieu à partir d’informations sur celui-ci (nom,adresse postale…). Un service de Virtual Earth est entièrement dédié à cette tache : Le <strong><em>GeocodeService</em></strong>.</p>
<p>Afin d’accéder aux informations de ce service, il faut d’abord générer la classe proxy permettant de communiquer avec ce service. Ce service étant un service WCF, il suffit d’ajouter la référence de service suivante (“Add Service Reference”) à votre projet : <a href="http://staging.dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc">http://staging.dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc</a> (nous travaillons toujours dans l’environnement de test).</p>
<p>Un fois la référence rajoutée, vous devriez avoir accès aux classes suivantes : </p>
<ul>
<li>GeocodeServiceClient : Classe proxy principale gérant la connexion avec le service </li>
<li>GeocodeRequest : Classe permettant de fournir les données pour une requête de Géocoding </li>
<li>GeocodeResponse : Classe contenant les informations renvoyés par le service suite à un requête de Géocoding ou de Géocoding inverse. </li>
<li>ReverseGeocodeRequest : Classe permettant de fournir les données pour une requête de Géocoding inverse. </li>
</ul>
<p><strong><u>Fonctionnement générale d’une requête de Géocoding</u></strong></p>
<p>Avant de commencer, il est nécessaire d’avoir un token d’authentification valide (voir <a href="http://sebastiencourtois.wordpress.com/2009/03/12/virtual-earth-dveloppement-microsoft-virtual-earth-web-services-part-1/">le tutorial précédent</a>). Ensuite, on utilise le code suivant : </p>
<pre>GeocodeServiceClient geoCodeSvc = <span style="color:#0000ff;">new</span> GeocodeServiceClient();
GeocodeRequest geoCodeRequest = <span style="color:#0000ff;">new</span> GeocodeRequest();
geoCodeRequest.Credentials = <span style="color:#0000ff;">new</span> Credentials();
geoCodeRequest.Credentials.Token = token;
geoCodeRequest.Query = &#34;<span style="color:#8b0000;">Paris</span>&#34;;
GeocodeResponse result = geoCodeSvc.Geocode(geoCodeRequest);</pre>
<p>On crée le proxy vers le service de Géocoding en utilisant le constructeur par défaut. On crée ensuite une requête de Géocoding. On lui fournit les données d’authentification au travers de la propriété <em><strong>Credentials</strong></em> de la requête. On remplit la donnée token afin de prouver notre identité au serveur Virtual Earth. On remplit ensuite les données qui seront utilisées pour la requête (on utilise ici la propriété <em><strong>Query</strong></em> par simplicité, mais nous verrons plus loin qu’il y a beaucoup plus de possibilités). La requête proprement dite se réalise par la méthode <em><strong>Geocode</strong></em> de la classe proxy <em><strong>GeocodeServiceClient</strong></em> en lui fournissant les données de la requête. On récupère le résultat dans une classe <em><strong>GeocodeResponse</strong></em>. </p>
<p><strong><u>Découverte de la classe GeocodeRequest </u></strong></p>
<p>Pierre angulaire du système de Géocoding, la classe <em><strong>GeocodeRequest</strong></em> regroupe de nombreuses propriétés permettant d’affiner sa recherche géographique au maximum.</p>
<ul>
<li><strong>Query</strong> </li>
</ul>
<p>La propriété la plus simple est la propriété Query. Cette propriété est une chaine de caractères dans laquelle il est possible de rentrer plusieurs mot clés (nom de pays,ville …). Cette propriété sera ensuite comparé par Virtual Earth avec la base de données d’entités géographiques afin de renvoyer les résultats les plus pertinents. </p>
<ul>
<li><strong>Options</strong> </li>
</ul>
<p>Il est possible de restreindre ces résultats grâce à la propriété <strong><em>Options</em></strong>. Cette propriété possède une propriété Count permettant de définir le nombre maximal de réponses (5 par défaut). Il est aussi possible de définir des filtres (propriété <strong><em>Filters</em></strong>). Ces filtres permettent de supprimer des réponses en fonction de critères supplémentaires. Ces filtres/critères sont disponible au travers de classes spécialement conçues à cette effet. Ainsi si l’on souhaite n’avoir que les résultats avec une note de confiance forte, on utilisera le code suivant : </p>
<pre>GeocodeService.ConfidenceFilter[] filters = <span style="color:#0000ff;">new</span> GeocodeService.ConfidenceFilter[1];
filters[0] = <span style="color:#0000ff;">new</span> GeocodeService.ConfidenceFilter();
filters[0].MinimumConfidence = GeocodeService.Confidence.High;
GeocodeService.GeocodeOptions geocodeOptions = <span style="color:#0000ff;">new</span> GeocodeService.GeocodeOptions();
geocodeOptions.Filters = filters; </pre>
<p>Le dernier paramètre, <strong><em>ExtensionData</em></strong>, de la propriété <strong><em>Options</em></strong> est lié à WCF et ne concerne pas ce tutorial. </p>
<ul>
<li><strong>Culture : </strong>Cette propriété permet de définir la langue dans laquelle vous souhaitez que les informations soient retournées. Par défaut, c’est l’anglais (‘en-US’). </li>
<li><strong>ExecutionOptions : </strong>Cette propriété n’a qu’un booléen suppressFault. Par défaut à false, cette variable indique si vous souhaitez récupérer les erreurs Virtual Earth (false = je souhaite récupérer les erreurs). </li>
<li><strong>UserProfile :</strong> Cette propriété permet de définir des informations sur l’utilisateur courant. On peut ainsi donner les informations concernant sa position, son déplacement, s’il est sur un appareil mobile … Cela permet au serveur de choisir les informations à retourner afin qu’elle soit le plus proche possible de ce que souhaite l’utilisateur. </li>
<li><strong>Address</strong> </li>
</ul>
<p>Après Query, c’est la propriété la plus important de <strong><em>GeocodeRequest</em></strong>. Cette propriété permet de rentrer les informations pour trouver les coordonnées d’une adresse postale en fonction de critères tel que la rue, la ville, le pays, le code postal. Les informations peuvent être incomplètes (fournir le code postal uniquement avec l’adresse suffit à localiser le lieu par exemple). Un tableau sur le site MSDN décrit les données minimales à fournir pour avoir une localisation précise : <a title="http://msdn.microsoft.com/en-us/library/cc966788.aspx" href="http://msdn.microsoft.com/en-us/library/cc966788.aspx">http://msdn.microsoft.com/en-us/library/cc966788.aspx</a>.</p>
<p><em><strong>Attention :</strong></em> Au sein d’une requête GeocodeRequest, il faut remplir, au minimum, le champ Query ou le champ Address afin d’obtenir une réponse de la part du serveur. Les autres champs sont optionnels</p>
<p>Afin de tester tout cela, nous allons prendre l’exemple de l’emplacement du siège de ma société <a href="http://www.winwise.fr/">Winwise</a> (Winwise &#8211; 16 rue Gaillon,75002 PARIS). Je souhaite un seul résultat et je veux qu’il soit “sûr à 100 %”. On écrit donc le code suivant : </p>
<pre>GeocodeServiceClient geoCodeSvc = <span style="color:#0000ff;">new</span> GeocodeServiceClient();
GeocodeRequest geoCodeRequest = <span style="color:#0000ff;">new</span> GeocodeRequest();

geoCodeRequest.Credentials = <span style="color:#0000ff;">new</span> VETutorial.GeoCodeService.Credentials();
geoCodeRequest.Credentials.Token = token;

ConfidenceFilter[] filters = <span style="color:#0000ff;">new</span> ConfidenceFilter[1] { <span style="color:#0000ff;">new</span> ConfidenceFilter() { MinimumConfidence = VETutorial.GeoCodeService.Confidence.High } };
geoCodeRequest.Options = <span style="color:#0000ff;">new</span> GeocodeOptions() { Count = 1, Filters = filters};

geoCodeRequest.Address = <span style="color:#0000ff;">new</span> Address()
{
	AddressLine = &#34;<span style="color:#8b0000;">16 rue Gaillon</span>&#34;,
	PostalCode = &#34;<span style="color:#8b0000;">75002</span>&#34;,
	PostalTown = &#34;<span style="color:#8b0000;">Paris</span>&#34;,
};

GeocodeResponse result = geoCodeSvc.Geocode(geoCodeRequest);</pre>
<p>J’obtiens le résultat suivant : Longitude : 2.334231 Latitude : 48.868681 ce qui correspond bien à l’emplacement de notre société comme le montre cette image ci-dessous prise avec le service d’imagerie de Virtual Earth (sujet d’un prochain tutorial).</p>
<p><a href="http://sebastiencourtois.files.wordpress.com/2009/04/winwise.png"><img title="winwise" style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" height="244" alt="winwise" src="http://sebastiencourtois.files.wordpress.com/2009/04/winwise-thumb.png?w=244&#038;h=244" width="244" border="0" /></a><strong><u></u></strong></p>
<p><strong><u>Analyse&#160; de la classe GeocodeResponse</u></strong> </p>
<p>Nous allons maintenant apprendre à traiter la réponse de Virtual Earth suite à une requête de Géocoding. Cette réponse possède deux propriétés : <strong><em>ResponseSummary</em></strong> et <strong><em>Results</em></strong>.</p>
<ul>
<li><strong><em>ResponseSummary</em></strong> </li>
</ul>
<p>Cette propriété regroupe les informations sur le déroulement de la requête. On retrouve les informations sur les droits (propriété <strong><em>Copyright</em></strong>), l’identifiant de la requête (propriété <strong><em>TraceId</em></strong>), le statut de la requête (propriété <strong><em>StatusCode</em></strong>) indiquant s’il y a eu une erreur durant la requête. Si c’est le cas, la propriété <strong><em>FaultReason</em></strong> donne l’erreur lancée du coté Virtual Earth. Enfin la propriété <strong><em>AuthentificationResultCode</em></strong> indique si les informations concernant l’authentification sont valide.</p>
<ul>
<li><strong><em>Results</em></strong> </li>
</ul>
<p>C’est dans cette propriété que l’on retrouve les résultats de la requête proprement dite. Il s’agit d’un tableau de <strong><em>GeocodeResult</em></strong> où chacune des cases représente une réponse possible. La taille du tableau peut varier de 0 jusqu’au nombre fourni dans la propriété <strong><em>Count</em></strong> des options de la requête.</p>
<p>Chacun des <strong><em>GeocodeResult</em></strong> contient les informations suivantes : </p>
<ul>
<ul>
<li>L’adresse du point dans la propriété <strong><em>Address</em></strong>. </li>
<li>Les deux points géographiques (haut gauche et bas droit) permettant d’avoir la meilleure vue de ce que l’on souhaite voir (Propriété <strong><em>BestView</em></strong>) </li>
<li>Le niveau de confiance du résultat (Propriété <strong><em>Confidence</em></strong>) </li>
<li>Un représentation en chaine de caractères de la confiance du résultat (Propriété <strong><em>MatchCode</em></strong>) </li>
<li>Un nom pour le résultat (propriété <strong><em>DisplayName</em></strong>) </li>
<li>Le type d’entité ciblé par le résultat sous forme d’une chaine de caractère (propriété <strong><em>EntityType</em></strong>) </li>
<li>Des positions géographiques possibles pour le résultat (propriété <strong><em>Locations</em></strong>). Cette propriété contient aussi le type de calcul de calcul a été utilisé (généralement “Interpolation”). </li>
</ul>
</ul>
<p><strong><u>Parlons un peu du géocoding inverse : ReverseGeocodeRequest </u></strong></p>
<p>Bien que beaucoup moins utilisé que le Géocoding classique, le Géocoding inverse est le processus permettant de retrouver une adresse depuis des coordonnées géographiques. Pour cela, on utilise la classe <strong><em>ReverseGeocodeRequest</em></strong>. Celle ci contient les mêmes champs que <strong><em>GeocodeRequest</em></strong> décrit précédemment sauf <strong><em>Query</em></strong> et <strong>Address</strong> (ce qui est normal vu que ce n’est pas l’objet de la requête). En revanche, on remarque l’apparition d’une propriété Location sur laquelle on peut indiquer la latitude, longitude, altitude désiré.</p>
<pre>ReverseGeocodeRequest rgr = <span style="color:#0000ff;">new</span> ReverseGeocodeRequest();
rgr.Credentials = <span style="color:#0000ff;">new</span> VETutorial.GeoCodeService.Credentials();
rgr.Credentials.Token = token;

rgr.Location = <span style="color:#0000ff;">new</span> VETutorial.GeoCodeService.Location() { Longitude = 2.334231, Latitude = 48.868681 };

GeocodeResponse result2 = geoCodeSvc.ReverseGeocode(rgr);</pre>
<p>Le résultat de la requête est, comme pour le Géocoding, un <strong><em>GeocodeResponse</em></strong>.</p>
<p><strong><u>La suite au prochain épisode …</u></strong></p>
<p>Dans le prochain article, nous parlerons de la récupération de cartes (images) au travers du ImageryService. Un autre article est prévu sur le calcul d’itinéraire entre N points.</p>
<p>N’hésitez pas à me faire des commentaires sur ces articles (bons ou mauvais je m’en fiche du moment que c’est constructif et que ça me permet de faire des articles meilleurs à l’avenir).</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Dans l'assiette !]]></title>
<link>http://remouleurs.wordpress.com/2009/03/31/dans-lassiette/</link>
<pubDate>Tue, 31 Mar 2009 13:05:37 +0000</pubDate>
<dc:creator>Philogène Gagne Petit</dc:creator>
<guid>http://remouleurs.wordpress.com/2009/03/31/dans-lassiette/</guid>
<description><![CDATA[L&#8217;assiette est de taille normale avec un diamètre de 24 cm. La frise extérieure est standard t]]></description>
<content:encoded><![CDATA[L&#8217;assiette est de taille normale avec un diamètre de 24 cm. La frise extérieure est standard t]]></content:encoded>
</item>

</channel>
</rss>
