<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sp.Blog &#187; kml</title>
	<atom:link href="http://blog.stephanepouyllau.org/tag/kml/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.stephanepouyllau.org</link>
	<description>le blog de Stéphane Pouyllau</description>
	<lastBuildDate>Sat, 07 Jan 2012 18:07:33 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>KML simple et géodonnées (partie 1)</title>
		<link>http://blog.stephanepouyllau.org/96</link>
		<comments>http://blog.stephanepouyllau.org/96#comments</comments>
		<pubDate>Thu, 18 Oct 2007 08:06:12 +0000</pubDate>
		<dc:creator>Stéphane POUYLLAU</dc:creator>
				<category><![CDATA[archives numériques]]></category>
		<category><![CDATA[kml]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.stephanepouyllau.org/kml-simple-et-geodonnees-au-service-darchives-de-science-partie-1</guid>
		<description><![CDATA[Il est possible de construire rapidement de petites applications simples permettant d&#8217;exploiter des documents issus d&#8217;archives visuelles (cartes, photos, plans) en les connectant a des données bibliographiques. Ces applications utilisent de plus en plus les langages du web (et, depuis 2005, ceux du web 2.0) et elles se développent autour d&#8217;XML. Voici une première partie/introduction [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0cm">Il est possible de construire rapidement de petites applications simples permettant d&#8217;exploiter des documents issus d&#8217;archives visuelles (cartes, photos, plans) en les connectant a des données bibliographiques.  Ces applications utilisent de plus en plus les langages du web (et, depuis 2005, ceux du web 2.0) et elles se développent autour d&#8217;XML. Voici une première partie/introduction au KML et le début d&#8217;un exemple avec le géo-référencement 2D de cartes anciennes via Google Maps, du KML et du XML.</p>
<p style="margin-bottom: 0cm">Le KML (Keyhole Markup Language) est une grammaire XML permettant d&#8217;afficher et de gérer des données dans Google Maps et Earth. Il offre la possibilité de poser des points, tracer des lignes, des polygones. Dans Google Earth, s&#8217;y ajoute les angles de vue, les objets 3D simples ou texturés. Mais l&#8217;une des fonctionnalités les plus intéressante pour la recherche reste l&#8217;enrichissement en données externes. KML peut diffuser des données XHTML riches (textes, images, videos), des images plaquées sur la photo satellitaire, etc&#8230;</p>
<p style="margin-bottom: 0cm">Il existe une version compressé du KML, le KMZ. Pour ceux qui ont utilisé comme moi du VRML (Virtual Reality Modeling Language), nous avions aussi une version &laquo;&nbsp;Gzipé&nbsp;&raquo; du langage  : le .wrz (à la place du .wrl). le KMZ encapsule aussi les images qui peuvent être liées au fichier KML. Il est possible de fabriquer du KMZ avec un simple compresseur : WinZip, Gzip, etc.</p>
<p style="margin-bottom: 0cm">Sur le plan syntaxique, le KML se présente comme du XML :</p>
<p>&lt;?xml version=&nbsp;&raquo;1.0&#8243; encoding=&nbsp;&raquo;UTF-8&#8243;?&gt;<br />
&lt;kml xmlns=&nbsp;&raquo;http://earth.google.com/kml/2.2&#8243;&gt;<br />
&lt;Placemark&gt;<br />
&lt;name&gt;Siège du CNRS&lt;/name&gt;<br />
&lt;description&gt;Paris, le siège du CNRS.&lt;/description&gt;<br />
&lt;LookAt&gt;<br />
&lt;longitude&gt;2.264605600614077&lt;/longitude&gt;<br />
&lt;latitude&gt;48.84727288728012&lt;/latitude&gt;<br />
&lt;altitude&gt;0&lt;/altitude&gt;<br />
&lt;range&gt;171.6689944655567&lt;/range&gt;<br />
&lt;tilt&gt;-6.848248640637841e-011&lt;/tilt&gt;<br />
&lt;heading&gt;0.0004740658326556625&lt;/heading&gt;<br />
&lt;/LookAt&gt;<br />
&lt;Point&gt;<br />
&lt;coordinates&gt;2.264605600614077,48.84727288728013,0&lt;/coordinates&gt;<br />
&lt;/Point&gt;<br />
&lt;/Placemark&gt;<br />
&lt;/kml&gt;</p>
<p style="margin-bottom: 0cm"> Ce petit fichier KML permet de placer dans Google Earth ou Maps, un point localisé sur le siège du CNRS, l&#8217;élément &lt;LookAt/&gt; correspondant au point de vue de la caméra qui « regarde » ce point. &lt;Placemark/&gt; encapsule le &lt;Point/&gt; géocodé présentant la latitude et la longitude. Dans le monde Earth / Maps de Google, les coordonnées géographiques sont en degrés décimaux (comptés positivement vers le Nord pour la latitude, et vers l&#8217;Est pour la longitude). Ici, le géocodage est très précis (2.264605600614077), mais si vous utilisez l&#8217;API de Maps, la précision est de l&#8217;ordre du mètre.  Autre limite, dans Google Maps, seuls certains éléments peuvent être utilisés : les points, les lignes, les polygones, les styles, les icônes et les liens et l&#8217;application de couches multiple (placage d&#8217;images), mise en œuvre de dossiers et types de vues. Pour le moment (version 2.2 du KML) la 3D n&#8217;est pas utilisée (nous sommes dans Maps, donc le royaume de la 2D).</p>
<p style="margin-bottom: 0cm">Ce petit exemple, permet de ce lancer dans la construction de fichiers KML et ainsi enrichir en information de toutes sortes de cartes dans le vaste &laquo;&nbsp;bac à sable&nbsp;&raquo; que peut être Google Maps ou Earth. De nombreux scientifiques, les géographes principalement, utilisent déjà ce format. J&#8217;ai découvert aussi <a href="http://www.discip.ac-caen.fr/histgeo/geoportail/comparaison.htm">ce site qui présente Google Earth et le KML pour les enseignants du secondaire</a>.  Le KML n&#8217;est pas le seul format XML dans le domaine des &laquo;&nbsp;géo-formats/2D/3D&nbsp;&raquo; : il y a le WMS, WFS et GML venant du monde de la géographie, les formats pour &laquo;&nbsp;services web&nbsp;&raquo; : AtomPub, GeoRSS et le KML/Z (avec <a href="http://www.rajsingh.org/blog/2007/09/19/kml-is-about-maps-not-data/">d&#8217;autres limites cependant</a>).</p>
<p style="margin-bottom: 0cm">Dans le cadre du <a href="http://www.arch.cn2sv.cnrs.fr/ead/">CN2SV</a>, nous avons publié l&#8217;inventaire d&#8217;un fonds de cartes topographiques anciennes (XIXe-XXe siècle) de la cartothèque du <a href="http://www.regards.cnrs.fr">centre de documentation REGARDS-CNRS</a>. Nous avons décidé de coupler ce fonds de cartes, après numérisation, avec une base de données bibliographique/documentaire classique. Pour cela, nous avons utilisé une base de données intermédiaire qui, à partir des données lat./long. des quatres angles d&#8217;une carte, a pour mission de stocker des données pour produire à la fois du KML (pour l&#8217;instant sous la forme de petit fichier, donc nous sommes en mode asynchrone) qui peut être utilisé dans Google Earth pour visualiser l&#8217;emprise de la carte, ces villes importantes, etc. Mais aussi du XML compatible avec l&#8217;API de Google Maps (qui est légèrement différent du KML natif, du moins dans sa version 2.2 ).</p>
<p style="margin-bottom: 0cm">Dans un second temps, j&#8217;ai développé une petit programme PHP qui exploite ces fichiers XML (pour l&#8217;API&#8230;) dans un contexte l&#8217;application riche. Du KML simple, nous passons dans un micro format XML propre (mais nous pourrions faire cela avec du KML directement, c&#8217;est juste une histoire d&#8217;optimisation du fichier pour l&#8217;API de Google Maps), ainsi pour chacune des cartes nous avons ceci :</p>
<p><a href="http://www.flickr.com/photos/stephanepouyllau/1613039316/" title="Capture d'écran de l'application CN2SV pour les géodonnées de stephane.pouyllau, sur Flickr"><img src="http://farm3.static.flickr.com/2377/1613039316_139531b4e0_o.png" width="550" height="344" alt="Capture d'écran de l'application CN2SV pour les géodonnées" /></a></p>
<p style="margin-bottom: 0cm">&nbsp;</p>
<p>&lt;?xml version=&nbsp;&raquo;1.0&#8243; encoding=&nbsp;&raquo;UTF-8&#8243;?&gt;<br />
&lt;mygeod xmlns=&nbsp;&raquo;http://www.cn2sv.cnrs.fr/xml/mygeoc/0.1&#8243;&gt;</p>
<p>&lt;markers&gt;<br />
&lt;marker lat=&nbsp;&raquo;-20.53105&#8243; lng=&nbsp;&raquo;47.24332&#8243; label=&nbsp;&raquo;Ville d&#8217;Ambositra&nbsp;&raquo; html=&nbsp;&raquo;Informations sur la ville d&#8217;Ambositra &lt;br&gt;avec la base de données REGARDS-ADES-CNRS&nbsp;&raquo; infolink=&nbsp;&raquo;query.php?value=Ambositra&nbsp;&raquo;/&gt;<br />
&lt;marker lat=&nbsp;&raquo;-20.62105&#8243; lng=&nbsp;&raquo;47.20332&#8243; label=&nbsp;&raquo;Carte de Madagascar&nbsp;&raquo; html=&nbsp;&raquo;Informations sur la ville d&#8217;Ivato &lt;br&gt;avec la base de données REGARDS-ADES-CNRS&nbsp;&raquo; infolink=&nbsp;&raquo;query.php?value=Ivato+Madagascar&nbsp;&raquo;/&gt;<br />
&lt;marker lat=&nbsp;&raquo;-19.871795326377995&#8243; lng=&nbsp;&raquo;47.03521728515625&#8243; label=&nbsp;&raquo;Carte de Madagascar&nbsp;&raquo; html=&nbsp;&raquo;Informations sur la ville d&#8217;Antsirabe &lt;br&gt;avec la base de données REGARDS-ADES-CNRS&nbsp;&raquo; infolink=&nbsp;&raquo;query.php?value=Antsirabe&nbsp;&raquo;/&gt;<br />
&lt;marker lat=&nbsp;&raquo;-20.27137605095937&#8243; lng=&nbsp;&raquo;44.31661605834961&#8243; label=&nbsp;&raquo;Carte de Madagascar&nbsp;&raquo; html=&nbsp;&raquo;Une carte est disponible&nbsp;&raquo; infolink=&nbsp;&raquo;?id=R_MADA11_04_00014&#8243;/&gt;<br />
&lt;line colour=&nbsp;&raquo;#ff0000&#8243; width=&nbsp;&raquo;5&#8243;&gt;<br />
&lt;point lat=&nbsp;&raquo;-19.40&#8243; lng=&nbsp;&raquo;45.32&#8243;/&gt;<br />
&lt;point lat=&nbsp;&raquo;-19.40&#8243; lng=&nbsp;&raquo;48.11&#8243;/&gt;<br />
&lt;point lat=&nbsp;&raquo;-21.20&#8243; lng=&nbsp;&raquo;48.11&#8243;/&gt;<br />
&lt;point lat=&nbsp;&raquo;-21.20&#8243; lng=&nbsp;&raquo;45.32&#8243;/&gt;<br />
&lt;point lat=&nbsp;&raquo;-19.40&#8243; lng=&nbsp;&raquo;45.32&#8243;/&gt;<br />
&lt;/line&gt;<br />
&lt;center lat=&nbsp;&raquo;-20.33&#8243; lng=&nbsp;&raquo;46.90&#8243; zoom=&nbsp;&raquo;8&#8243;/&gt;<br />
&lt;/markers&gt;</p>
<p>&lt;/mygeod&gt;</p>
<p>Ce fichier XML permet de délimiter la couverture de carte et de pointer des lieux (les &laquo;&nbsp;markers&nbsp;&raquo; de Google Maps). Les attributs sont très simples :</p>
<ul>
<li>label : titre de la vignette/popup</li>
<li>html : contenu de la vignette/popup</li>
<li>lat : latitude</li>
<li>lng : longitude</li>
<li>zoom (pour &lt;center/&gt;) : facteur du zoom d&#8217;entrée dans la carte</li>
<li>infolink : lien vers le connecteur de/des bases de données à interroger (mais on pourrait imaginer une chose avec  du xlink et xpointer si l&#8217;on veut rester dans le monde XML)</li>
</ul>
<p style="margin-bottom: 0cm">Il suffit d&#8217;utiliser de <a href="http://www.google.com/apis/maps/">l&#8217;API de Google Map</a> pour monter l&#8217;application. Mais cela sera pour le prochain billet&#8230;</p>
<p style="margin-bottom: 0cm">Stéphane.</p>
<p style="margin-bottom: 0cm">PS : Le format KML est relativement simple, mais un ouvrage de référence en français manque (à moins qu&#8217;il soit sous presse).</p>
<p style="margin-bottom: 0cm">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stephanepouyllau.org/96/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

