﻿{"id":4305,"date":"2018-01-09T08:49:53","date_gmt":"2018-01-09T07:49:53","guid":{"rendered":"http:\/\/www.sigterritoires.fr\/?p=4305"},"modified":"2018-01-09T08:49:53","modified_gmt":"2018-01-09T07:49:53","slug":"geoserver-avance-le-tuilage-principes","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/","title":{"rendered":"Geoserver avanc\u00e9 : le tuilage (principes)"},"content":{"rendered":"<p>Une des fonctionnalit\u00e9s les plus int\u00e9ressantes de <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/debuter-avec-geoserver\/\">Geoserver<\/a> est sa capacit\u00e9 \u00e0 g\u00e9rer\u00a0 un service d&rsquo;images en cache.\u00a0 Nous verrons dans cet article comment exploiter compl\u00e8tement cette fonctionnalit\u00e9.<\/p>\n<h2><!--more-->Petit rappel de la notion de tuilage<\/h2>\n<p>Dans l&rsquo;image suivante vous verrez la repr\u00e9sentation de deux modes de fonctionnement d&rsquo;un serveur de cartes.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/im0.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4308\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/im0\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/im0.png?fit=653%2C518&amp;ssl=1\" data-orig-size=\"653,518\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im0\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/im0.png?fit=640%2C508&amp;ssl=1\" class=\"aligncenter size-full wp-image-4308\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/im0.png?resize=640%2C508\" alt=\"fonctionnement d'un serveur de cartes avec et sans tuilage\" width=\"640\" height=\"508\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/im0.png?w=653&amp;ssl=1 653w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/im0.png?resize=300%2C238&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>A gauche vous avez le fonctionnement d&rsquo;un serveur classique de cartes:<\/p>\n<ul>\n<li>une application cliente g\u00e9n\u00e8re une requ\u00eate pour afficher une carte<\/li>\n<li>le serveur re\u00e7oit la requ\u00eate<\/li>\n<li>il proc\u00e8de \u00e0 extraire les donn\u00e9es n\u00e9cessaires \u00e0 la fabrication de la carte \u00e0 partir d&rsquo;une base de donn\u00e9es contenant les diff\u00e9rentes couches g\u00e9ographiques<\/li>\n<li>le r\u00e9sultat de cette extraction est mise en forme pour constituer la carte demand\u00e9e<\/li>\n<li>la carte est transmise \u00e0 l&rsquo;application client pour affichage<\/li>\n<\/ul>\n<p>A chaque requ\u00eate cliente, le serveur doit interroger la base de donn\u00e9es et mettre en forme les donn\u00e9es extraites.<\/p>\n<p>L&rsquo;image de droite montre le fonctionnement d&rsquo;un serveur avec la fonction \u00ab\u00a0tuilage\u00a0\u00bb activ\u00e9e:<\/p>\n<ul>\n<li>une application cliente g\u00e9n\u00e8re une requ\u00eate pour afficher une carte<\/li>\n<li>le serveur re\u00e7oit la requ\u00eate<\/li>\n<li>selon l&#8217;emprise de la carte demand\u00e9e, le serveur s\u00e9lectionne des images pr\u00e9-calcul\u00e9es, dans le cache du serveur, correspondantes \u00e0 l&#8217;emprise et le niveau de zoom demand\u00e9<\/li>\n<li>les images sont transmises \u00e0 l&rsquo;application client pour affichage<\/li>\n<\/ul>\n<p>Tout le travail d&rsquo;extraction et de mise en forme a \u00e9t\u00e9 r\u00e9alis\u00e9 au pr\u00e9alable et une seule fois. Dans cette deuxi\u00e8me configuration il suffit d&rsquo;un simple calcul pour d\u00e9terminer quelles images doivent \u00eatre retourn\u00e9es \u00e0 l&rsquo;application client. Le gain de temps et de ressources n\u00e9cessaires et r\u00e9ellement important.<\/p>\n<p>On produit la carte selon une symbologie de mise en forme,puis on d\u00e9coupe cette image en tuiles de m\u00eame taille. Ce travail est fait une seule fois pour toutes<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4310\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png?fit=1051%2C464&amp;ssl=1\" data-orig-size=\"1051,464\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png?fit=640%2C283&amp;ssl=1\" class=\"aligncenter size-full wp-image-4310\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png?resize=640%2C283\" alt=\"tuilage\" width=\"640\" height=\"283\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png?w=1051&amp;ssl=1 1051w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png?resize=300%2C132&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png?resize=768%2C339&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image1.png?resize=1024%2C452&amp;ssl=1 1024w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Chaque tuile repr\u00e9sente les donn\u00e9es mises en forme et peut \u00eatre \u00ab\u00a0servie\u00a0\u00bb tr\u00e8s rapidement. Par contre, la seule chose possible est l\u2019affichage car on ne peut \u00a0pas acc\u00e9der ni aux donn\u00e9es sous-jacentes ni modifier leur mise en forme.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image2.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4311\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image2\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image2.png?fit=497%2C486&amp;ssl=1\" data-orig-size=\"497,486\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image2.png?fit=497%2C486&amp;ssl=1\" class=\"aligncenter size-full wp-image-4311\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image2.png?resize=497%2C486\" alt=\"eemple de tuile\" width=\"497\" height=\"486\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image2.png?w=497&amp;ssl=1 497w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image2.png?resize=300%2C293&amp;ssl=1 300w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><\/a><\/h2>\n<p>Par contre, si on zoome sur cette tuile, rapidement on va atteindre le niveau de pixellisation. Pour r\u00e9soudre ce probl\u00e8me, on va cr\u00e9er plusieurs cartes, \u00e0 diff\u00e9rents niveaux de zoom. Chaque carte sera divis\u00e9e en tuiles. Lors de la r\u00e9ception d&rsquo;une requ\u00eate, on calculera le niveau de zoom correspondant et on servira les tuiles correspondantes \u00e0 ce niveau l\u00e0.<\/p>\n<p>Typiquement, on proc\u00e8de par pas de 4 tuiles. La couche la plus d\u00e9taill\u00e9 est divis\u00e9e en tuiles, le plus g\u00e9n\u00e9ralement de 256 x 256 pixels. On calculera une couche au-dessus correspondant \u00e0 2&#215;2 tuiles ( \u00e0 partir de 4 tuiles de 256 x 256 pixels on calcule une seule tuile de 256 x 256 pixels). Et ainsi de suite jusqu&rsquo;au niveau o\u00f9 on ne retrouve qu&rsquo;une seule tuile.<\/p>\n<p>Cette s\u00e9rie de couches est appel\u00e9e une pyramide.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/pyramid.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4314\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/pyramid\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/pyramid.jpg?fit=857%2C457&amp;ssl=1\" data-orig-size=\"857,457\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"pyramid\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/pyramid.jpg?fit=640%2C341&amp;ssl=1\" class=\"aligncenter size-full wp-image-4314\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/pyramid.jpg?resize=640%2C341\" alt=\"pyramide d'imags tuil\u00e9es\" width=\"640\" height=\"341\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/pyramid.jpg?w=857&amp;ssl=1 857w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/pyramid.jpg?resize=300%2C160&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/pyramid.jpg?resize=768%2C410&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Tuiles raster et tuiles vectorielles.<\/h2>\n<p>Jusque l\u00e0 nous avons parl\u00e9 d&rsquo;un serveur de cartes sous forme d&rsquo;images (raster). M\u00eame si les donn\u00e9es dans la base de donn\u00e9es sont des donn\u00e9es vecteur (rues, b\u00e2timents, parcs, &#8230;), le rendu est appliqu\u00e9 \u00e0 ces couches vecteur pour produire une image raster, qui sera le r\u00e9sultat de la requ\u00eate.<\/p>\n<p>Ce type de service est appel\u00e9 WMS.<\/p>\n<p>Depuis quelques ann\u00e9es, un nouveau type de service permet de fournir des donn\u00e9es\u00a0 sous forme de tuiles, appel\u00e9 <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/integrer-un-service-wmts-de-tuiles-raster-dans-qgis-3-et-felt\/\">WMTS<\/a>. Dans gGeoserver, ce service est impl\u00e9ment\u00e9 pour fournir des tuiles de donn\u00e9es de type vecteur.<\/p>\n<p>Le principe est le m\u00eame que pour le tuiles raster:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image4.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4313\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image4\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image4.png?fit=805%2C454&amp;ssl=1\" data-orig-size=\"805,454\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image4.png?fit=640%2C361&amp;ssl=1\" class=\"aligncenter size-full wp-image-4313\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image4.png?resize=640%2C361\" alt=\"\" width=\"640\" height=\"361\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image4.png?w=805&amp;ssl=1 805w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image4.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image4.png?resize=768%2C433&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>On divise l&rsquo;espace en carr\u00e9s et on extrait les donn\u00e9es vecteur (entit\u00e9s) correspondantes \u00e0 chaque tuile:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image3.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4312\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image3\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image3.png?fit=510%2C389&amp;ssl=1\" data-orig-size=\"510,389\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image3.png?fit=510%2C389&amp;ssl=1\" class=\"aligncenter size-full wp-image-4312\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image3.png?resize=510%2C389\" alt=\"\" width=\"510\" height=\"389\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image3.png?w=510&amp;ssl=1 510w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image3.png?resize=300%2C229&amp;ssl=1 300w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/a>Lors de la r\u00e9ception d&rsquo;un requ\u00eate, on proc\u00e8de comme pour les tuiles raster: on d\u00e9termine le niveau de zoom appropri\u00e9, puis on envoie les donn\u00e9es pr\u00e9-extraites \u00e0 l&rsquo;application client.<\/p>\n<h2>G\u00e9n\u00e9ration des tuiles<\/h2>\n<p>La proc\u00e9dure de g\u00e9n\u00e9ration des tuiles est la m\u00eame, qu&rsquo;il s&rsquo;agisse de tuiles raster ou vectorielles.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/img1.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4318\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/img1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/img1.png?fit=245%2C479&amp;ssl=1\" data-orig-size=\"245,479\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"img1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/img1.png?fit=245%2C479&amp;ssl=1\" class=\"size-full wp-image-4318 alignleft\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/img1.png?resize=245%2C479\" alt=\"\" width=\"245\" height=\"479\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/img1.png?w=245&amp;ssl=1 245w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/img1.png?resize=153%2C300&amp;ssl=1 153w\" sizes=\"auto, (max-width: 245px) 100vw, 245px\" \/><\/a>La premi\u00e8re \u00e9tape est l&rsquo;extraction des donn\u00e9es correspondantes \u00e0 la requ\u00eate \u00e0 partir de la\u00a0 base de donn\u00e9es.<\/p>\n<p>La plupart du temps ces donn\u00e9es sont des donn\u00e9es de type vectoriel (point, ligne , polygone).<\/p>\n<p>Les donn\u00e9es sont les donn\u00e9es correspondantes \u00e0 la totalit\u00e9 de l&rsquo;espace possible, pas \u00e0 une tuile.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>La deuxi\u00e8me \u00e9tape correspond \u00e0 ce que l&rsquo;on appelle \u00ab\u00a0g\u00e9n\u00e9ralisation\u00a0\u00bb.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image15.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4319\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image15\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image15.png?fit=948%2C510&amp;ssl=1\" data-orig-size=\"948,510\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image15\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image15.png?fit=640%2C344&amp;ssl=1\" class=\"aligncenter size-full wp-image-4319\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image15.png?resize=640%2C344\" alt=\"g\u00e9n\u00e9ralisation des donn\u00e9es vectorielles\" width=\"640\" height=\"344\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image15.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image15.png?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image15.png?resize=768%2C413&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Le processus essaye de ne garder que le niveau de d\u00e9tail n\u00e9cessaire au niveau de zoom pr\u00e9vu,\u00a0 en effa\u00e7ant les points superflus.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image6a.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4645\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image6a\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image6a.png?fit=245%2C479&amp;ssl=1\" data-orig-size=\"245,479\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image6a\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image6a.png?fit=245%2C479&amp;ssl=1\" class=\"size-full wp-image-4645 alignleft\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image6a.png?resize=245%2C479\" alt=\"\" width=\"245\" height=\"479\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image6a.png?w=245&amp;ssl=1 245w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/12\/image6a.png?resize=153%2C300&amp;ssl=1 153w\" sizes=\"auto, (max-width: 245px) 100vw, 245px\" \/><\/a><\/p>\n<p>La troisi\u00e8me \u00e9tape est la g\u00e9n\u00e9ration d&rsquo;un fichier permettant de traduire le syst\u00e8me de grille utilis\u00e9 pour le tuilage et un syst\u00e8me de coordonn\u00e9es de r\u00e9f\u00e9rence. Geoserver utilise des gridsets et des gridsubsets.\u00a0\u00a0 GeoWebCache ne conna\u00eet pas de syst\u00e8mes de r\u00e9f\u00e9rence. Lorsque GeoWebCache envoie une requ\u00eate au service WMS, il utilise les informations gridset et gridsubset pour convertir son index de tuiles interne en une requ\u00eate spatiale que le WMS comprendra.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>La quatri\u00e8me \u00e9tape est un deuxi\u00e8me type de g\u00e9n\u00e9ralisation, mais au lieu de simplifier les g\u00e9om\u00e9tries en r\u00e9duisant le nombre de points qui les composent, elle consiste \u00e0 enlever les entit\u00e9s trop petites ou redondantes.<a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image16.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4646\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image16\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image16.png?fit=839%2C376&amp;ssl=1\" data-orig-size=\"839,376\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image16\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image16.png?fit=640%2C287&amp;ssl=1\" class=\"size-full wp-image-4646 aligncenter\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image16.png?resize=640%2C287\" alt=\"\" width=\"640\" height=\"287\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image16.png?w=839&amp;ssl=1 839w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image16.png?resize=300%2C134&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image16.png?resize=768%2C344&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>L&rsquo;avant-derni\u00e8re \u00e9tape et le d\u00e9coupage (clip) en tuiles. Nous n&rsquo;avons pas encore appliqu\u00e9 de mise en forme des entit\u00e9s. Si on extrait exactement la zone demand\u00e9e pour chaque tuile, au moment d&rsquo;appliquer une symbologie nous risquons d&rsquo;avoir des artefacts au niveau de la <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/jointure-table-qgis\/\">jointure<\/a> des tuiles, comme montr\u00e9 dans cette image.<a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image7.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4647\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image7\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image7.png?fit=947%2C587&amp;ssl=1\" data-orig-size=\"947,587\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image7\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image7.png?fit=640%2C397&amp;ssl=1\" class=\"aligncenter size-full wp-image-4647\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image7.png?resize=640%2C397\" alt=\"\" width=\"640\" height=\"397\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image7.png?w=947&amp;ssl=1 947w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image7.png?resize=300%2C186&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image7.png?resize=768%2C476&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Geoserver utilise une technique qui retourne une zone l\u00e9g\u00e8rement plus grande que celle demand\u00e9e pour la tuile. Ceci \u00e9vite les artefacts sur les bords.<\/p>\n<p>Finalement, nous retrouvons la mise en forme des entit\u00e9s avec la symbologie d\u00e9finie dans un fichier SLD:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4648\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/geoserver-avance-le-tuilage-principes\/image8\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png?fit=1199%2C471&amp;ssl=1\" data-orig-size=\"1199,471\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image8\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png?fit=640%2C251&amp;ssl=1\" class=\"aligncenter size-full wp-image-4648\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png?resize=640%2C251\" alt=\"\" width=\"640\" height=\"251\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png?w=1199&amp;ssl=1 1199w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png?resize=300%2C118&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png?resize=768%2C302&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2018\/01\/image8.png?resize=1024%2C402&amp;ssl=1 1024w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Ce fichier indique quelles entit\u00e9s on doit prendre en compte, dans quelle fourchette d&rsquo;\u00e9chelle elles doivent appara\u00eetre dans les tuiles et quel type de symbole il faut utiliser pour les dessiner.<\/p>\n<h2>Tuiles raster et tuiles vectorielles.<\/h2>\n<p>Nous avons, dans les standards de l&rsquo;OGC, trois types de service<\/p>\n<p>\u2022 WMS \u2013 Service de fourniture de cartes<br \/>\n\u2022 WMTS \u2013 service de fourniture de tuiles<br \/>\n\u2022 WFS \u2013 Service de fourniture de donn\u00e9es<\/p>\n<p>Les tuiles de type raster ou vectorielles sont donc fournies par le m\u00eame service, le WMTS.<\/p>\n<p>Si les deux types de donn\u00e9es sont fournies par des moyens similaires, il y a quand m\u00eame quelques diff\u00e9rences.<\/p>\n<p>Par rapport aux tuiles de type raster, les tuiles vectorielles sont mises en forme par le client et non pas par le serveur. Dans une application OpenLayers, par exemple, vous ne pourrez qu&rsquo;afficher des tuiles raster avec leur mise en forme d&rsquo;origine, tandis que pour les tuiles vecteur vous aurez toute latitude pour d\u00e9cider de leur symbologie.<\/p>\n<p>Un seul tuilage peut alors servir \u00e0 g\u00e9n\u00e9rer de multiples cartes diff\u00e9rentes c\u00f4t\u00e9 client. A cela il faut ajouter que le rendu des vecteurs est am\u00e9lior\u00e9, par rapport aux tuiles raster, pour les \u00e9crans haute r\u00e9solution.<\/p>\n<p>C\u00f4t\u00e9 d\u00e9savantages, il faut noter que les tuiles raster sont plus faciles \u00e0 utiliser que les tuiles vecteur. Il faut plus de connaissances techniques pour travailler avec des tuiles vecteur.<\/p>\n<p>Vous pourrez alors conclure qu&rsquo;il est plus int\u00e9ressant d&rsquo;utiliser le service de tuiles vecteur en lieu et place du service WFS classique de donn\u00e9es vecteur.<\/p>\n<p>Si c&rsquo;est vrai que les deux retournent des donn\u00e9es vecteur \/ attributaires sans mise en forme, il faut savoir que le service WFS retourne les donn\u00e9es sous-jacentes NON MODIFIEES, tandis que le service WMTS retourne les donn\u00e9es sous-jacentes MODIFIEES : les entit\u00e9s sont pr\u00eates \u00e0 \u00eatre affich\u00e9es.<\/p>\n<p>Dans le premier cas vous avez acc\u00e8s \u00e0 la totalit\u00e9 des attributs des entit\u00e9s, tandis que dans le deuxi\u00e8me vous n&rsquo;avez que les attributs d\u00e9finis dans le fichier SLD du tuilage.<\/p>\n<p>Dans l&rsquo;article suivant nous verrons concr\u00e8tement comment mettre en place le service de tuiles raster\/vecteur dans Geoserver.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une des fonctionnalit\u00e9s les plus int\u00e9ressantes de Geoserver est sa capacit\u00e9 \u00e0 g\u00e9rer\u00a0 un service d&rsquo;images en cache.\u00a0 Nous verrons dans cet article comment exploiter compl\u00e8tement cette fonctionnalit\u00e9.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"give_campaign_id":0,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[314,147],"tags":[315,1305,1303,132,1307],"class_list":["post-4305","post","type-post","status-publish","format-standard","hentry","category-geoserver","category-images","tag-geoserver","tag-tuilage","tag-tuiles","tag-wms","tag-wmts"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-17r","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/4305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/comments?post=4305"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/4305\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=4305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=4305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=4305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}