﻿{"id":3904,"date":"2017-03-28T08:15:32","date_gmt":"2017-03-28T07:15:32","guid":{"rendered":"http:\/\/www.sigterritoires.fr\/?p=3904"},"modified":"2017-03-28T09:56:38","modified_gmt":"2017-03-28T08:56:38","slug":"lanalyse-spatiale-avec-sql1-introduction","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/","title":{"rendered":"L&rsquo;analyse spatiale avec SQL:1-Introduction"},"content":{"rendered":"<p>Je vous propose une s\u00e9rie d&rsquo;articles pour aborder quelques id\u00e9es re\u00e7ues sur l&rsquo;utilisation du langage SQL et ses possibilit\u00e9s dans l&rsquo;analyse spatiale. Pour r\u00e9sumer l&rsquo;id\u00e9e la plus r\u00e9pandue, le langage SQL est un tr\u00e8s bon outil de requ\u00eate sur les tables <a href=\"https:\/\/www.sigterritoires.fr\/\">SIG<\/a> mais il faut un logiciel SIG tel que QGis ou ArcGis pour r\u00e9aliser les t\u00e2ches d&rsquo;analyse spatiale. Pour ce qui est de la premi\u00e8re partie de cette assertion, nous l&rsquo;analyserons dans le second article de cette s\u00e9rie. Voyons pour commencer un exemple pour tordre le cou \u00e0 la deuxi\u00e8me partie de cette phrase.<!--more-->Nous allons voir un exemple \u00e0 partir d&rsquo;une base <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/debuter-avec-postgrespostgis\/\">PostgreSQL\/Postgis<\/a> contenant deux tables: une table parcelles et une table zones inondables.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3906\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/__b1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?fit=1362%2C738&amp;ssl=1\" data-orig-size=\"1362,738\" 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=\"__b1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?fit=640%2C347&amp;ssl=1\" class=\"aligncenter size-large wp-image-3906\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1-1024x555.png?resize=640%2C347\" alt=\"couches exemple\" width=\"640\" height=\"347\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?resize=1024%2C555&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?resize=300%2C163&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?resize=768%2C416&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?resize=1200%2C650&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?w=1362&amp;ssl=1 1362w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b1.png?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h2>Requ\u00eates SQL simples<\/h2>\n<p>Voyons maintenant quelques requ\u00eates SQL, en partant d&rsquo;un exemple extr\u00eamement simple et en le complexifiant progressivement. Supposons que l&rsquo;objectif final est de savoir le prix des parcelles, par type de classe de propri\u00e9t\u00e9, qui se trouvent en zone inondable.<\/p>\n<p>Voici, tout d&rsquo;abord, une requ\u00eate des plus simples sur la table <em><strong>parcelles<\/strong><\/em><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b2.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3907\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/__b2\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b2.png?fit=987%2C523&amp;ssl=1\" data-orig-size=\"987,523\" 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=\"__b2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b2.png?fit=640%2C339&amp;ssl=1\" class=\"aligncenter size-full wp-image-3907\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b2.png?resize=640%2C339\" alt=\"requ\u00eate sur la table parcelless\" width=\"640\" height=\"339\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b2.png?w=987&amp;ssl=1 987w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b2.png?resize=300%2C159&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b2.png?resize=768%2C407&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Avec la requ\u00eate <em><strong>SELECT * FROM parcelles<\/strong><\/em> nous obtenons comme r\u00e9sultat la totalit\u00e9 des enregistrements avec tous les champs de la table.<\/p>\n<p>Un peu plus complexe, s\u00e9lectionnons seulement deux champs de la table: le type de propri\u00e9t\u00e9 et le prix du terrain:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b3.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3908\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/__b3\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b3.png?fit=985%2C520&amp;ssl=1\" data-orig-size=\"985,520\" 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=\"__b3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b3.png?fit=640%2C338&amp;ssl=1\" class=\"aligncenter size-full wp-image-3908\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b3.png?resize=640%2C338\" alt=\"requete sur le prix du terrain et classe de propri\u00e9t\u00e9\" width=\"640\" height=\"338\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b3.png?w=985&amp;ssl=1 985w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b3.png?resize=300%2C158&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b3.png?resize=768%2C405&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>On a donc, pour chaque parcelle, la valeur du terrain et le type de classe de propri\u00e9t\u00e9.<\/p>\n<p>Complexifions un peu plus: on peut obtenir le total des prix de terrains avec la requ\u00eate <em><strong>SELECT sum(prix_terrain)FROM parcelles;<\/strong><\/em><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b4.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3909\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/__b4\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b4.png?fit=993%2C522&amp;ssl=1\" data-orig-size=\"993,522\" 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=\"__b4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b4.png?fit=640%2C336&amp;ssl=1\" class=\"aligncenter size-full wp-image-3909\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b4.png?resize=640%2C336\" alt=\"reqquete SELECT sum(prix_terrain)FROM parcelles;\" width=\"640\" height=\"336\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b4.png?w=993&amp;ssl=1 993w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b4.png?resize=300%2C158&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b4.png?resize=768%2C404&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Pour un affichage plus lisible on peut convertir le r\u00e9sultat en nombre mon\u00e9taire avec la modification suivante de la requ\u00eate: <em><strong>SELECT sum(prix_terrain)::numeric::money FROM parcelles;<\/strong><\/em><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b5.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3910\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/__b5\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b5.png?fit=985%2C522&amp;ssl=1\" data-orig-size=\"985,522\" 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=\"__b5\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b5.png?fit=640%2C339&amp;ssl=1\" class=\"aligncenter size-full wp-image-3910\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b5.png?resize=640%2C339\" alt=\"requ\u00eate SELECT sum(prix_terrain)::numeric::money FROM parcelles;\" width=\"640\" height=\"339\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b5.png?w=985&amp;ssl=1 985w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b5.png?resize=300%2C159&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b5.png?resize=768%2C407&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>On a maintenant le prix total des parcelles en euros.<\/p>\n<p>En modifiant la requ\u00eate et en ajoutant une clause GROUP BY on peut avoir le prix total de chaque classe de propri\u00e9t\u00e9:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b6.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3912\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/__b6\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b6.png?fit=986%2C521&amp;ssl=1\" data-orig-size=\"986,521\" 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=\"__b6\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b6.png?fit=640%2C338&amp;ssl=1\" class=\"aligncenter size-full wp-image-3912\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b6.png?resize=640%2C338\" alt=\"clause group by\" width=\"640\" height=\"338\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b6.png?w=986&amp;ssl=1 986w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b6.png?resize=300%2C159&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b6.png?resize=768%2C406&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Le r\u00e9sultat est le prix total par classe de propri\u00e9t\u00e9, pour tous les enregistrements de la table parcelles.<\/p>\n<p>Mais si nous voulions ce r\u00e9sultat que pour les parcelles situ\u00e9es dans les zones inondables?<\/p>\n<h2>Requ\u00eate SQL \u00ab\u00a0spatiale\u00a0\u00bb<\/h2>\n<p>La requ\u00eate:<\/p>\n<p><strong>SELECT sum(prix_terrain)::numeric::money, classepropriete<\/strong><br \/>\n<strong> FROM parcelles<\/strong><br \/>\n<strong> GROUP BY classepropriete;<\/strong><\/p>\n<p>peut \u00eatre modifi\u00e9e en ajoutant la table zones_inondables \u00e0 la clause FROM<\/p>\n<p><strong>SELECT sum(prix_terrain)::numeric::money, classepropriete<\/strong><br \/>\n<strong> FROM parcelles, zones_inondables<\/strong><br \/>\n<strong> GROUP BY classepropriete;<\/strong><\/p>\n<p>et une clause de s\u00e9lection des parcelles pour ne retenir que celles dont la g\u00e9om\u00e9trie intersecte les zones inondables:<\/p>\n<p><strong>SELECT sum(prix_terrain)::numeric::money, classepropriete<\/strong><br \/>\n<strong> FROM parcelles, zones_inondables<\/strong><br \/>\n<strong> WHERE st_intersects(parcelles.geometry,zones_inondables.geometry)<\/strong><br \/>\n<strong> GROUP BY classepropriete;<\/strong><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b7.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3913\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/lanalyse-spatiale-avec-sql1-introduction\/__b7\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b7.png?fit=980%2C521&amp;ssl=1\" data-orig-size=\"980,521\" 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=\"__b7\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b7.png?fit=640%2C340&amp;ssl=1\" class=\"aligncenter size-full wp-image-3913\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b7.png?resize=640%2C340\" alt=\"requete spatiale\" width=\"640\" height=\"340\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b7.png?w=980&amp;ssl=1 980w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b7.png?resize=300%2C159&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2017\/03\/b7.png?resize=768%2C408&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Nous avons le r\u00e9sultat que nous recherchions. Maintenant je vous laisse le soin de voir l&rsquo;ensemble des op\u00e9rations \u00e0 faire avec votre logiciel SIG pr\u00e9f\u00e9r\u00e9 pour obtenir le m\u00eame r\u00e9sultat.<\/p>\n<p>Vous conviendrez que \u00e7a va\u00a0 beaucoup plus vite en \u00e9crivant cette requ\u00eate.<\/p>\n<h2>Une notion indispensable<\/h2>\n<p>Avant d&rsquo;aller plus loin, il faut s&rsquo;arr\u00eater sur une notion indispensable pour faire de l&rsquo;analyse spatiale avec SQL. Ce qui a de plus compliqu\u00e9 avec cette notion c&rsquo;est que nous pensons tous l&rsquo;avoir mais, si nous r\u00e9fl\u00e9chissons bien, on est tous loin de l&rsquo;appliquer dans notre travail quotidien.<\/p>\n<p>Si nous \u00e9tablissons la liste des types de donn\u00e9es possibles dans une base de donn\u00e9es, nous avons tout de suite en t\u00eate les nombres, les cha\u00eenes de caract\u00e8res, le type date,etc.<\/p>\n<p>Si je vous dit maintenant \u00ab\u00a0g\u00e9om\u00e9trie\u00a0\u00bb, vous direz, oui, bien s\u00fbr, il y a aussi ce type de donn\u00e9e. Mais quelque part nous la pla\u00e7ons un peu \u00e0 part. Pourtant c&rsquo;est bien quand on assimile que c&rsquo;est exactement un type de donn\u00e9e comme un autre qu&rsquo;on aborde l&rsquo;analyse spatiale gagnant.<\/p>\n<p>Vous pourrez faire de l&rsquo;analyse spatiale avec SQL \u00e0 plein quand vous trouverez\u00a0 que:<\/p>\n<ul>\n<li>si vous pouvez additionner deux nombres vous pouvez tout autant intersecter deux g\u00e9om\u00e9tries;<\/li>\n<li>Si vous pouvez d\u00e9couper (trim) une cha\u00eene de caract\u00e8res, vous pouvez d\u00e9couper une g\u00e9om\u00e9trie avec une autre g\u00e9om\u00e9trie;<\/li>\n<li>Si vous pouvez trouver une date entre deux autres dates, vous pouvez trouver une g\u00e9om\u00e9trie couverte par une autre.<\/li>\n<\/ul>\n<p>Quand vous voulez faire une op\u00e9ration entre nombres en SQL, les diff\u00e9rents op\u00e9rateurs vous viennent tout de suite \u00e0 l&rsquo;esprit. De m\u00eame, quand vous voulez traiter une cha\u00eene de texte, un ensemble d&rsquo;op\u00e9rations vous apparaissent. Le but de cette s\u00e9rie d&rsquo;articles est de vous fournir l&rsquo;\u00e9quivalent pour traiter les g\u00e9om\u00e9tries : une s\u00e9rie d&rsquo;op\u00e9rations similaires aux fonctions de texte ou aux op\u00e9rateurs arithm\u00e9tiques.<\/p>\n<p>Si l&rsquo;ensemble des op\u00e9rations r\u00e9alisables sur le type g\u00e9om\u00e9trie vous appara\u00eet clairement, vous \u00eates pr\u00eat \u00e0 faire de l&rsquo;analyse spatiale avec SQL et gagner un temps pr\u00e9cieux.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je vous propose une s\u00e9rie d&rsquo;articles pour aborder quelques id\u00e9es re\u00e7ues sur l&rsquo;utilisation du langage SQL et ses possibilit\u00e9s dans l&rsquo;analyse spatiale. Pour r\u00e9sumer l&rsquo;id\u00e9e la plus r\u00e9pandue, le langage SQL est un tr\u00e8s bon outil&hellip;<\/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_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[311,172],"tags":[377,227,312,207],"class_list":["post-3904","post","type-post","status-publish","format-standard","hentry","category-postgresql","category-tutoriel","tag-analyse-spatiale","tag-postgis","tag-postgresql","tag-requete-sql"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-10Y","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/3904","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=3904"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/3904\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=3904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=3904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=3904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}