﻿{"id":3569,"date":"2016-08-31T07:31:23","date_gmt":"2016-08-31T06:31:23","guid":{"rendered":"http:\/\/www.sigterritoires.fr\/?p=3569"},"modified":"2016-08-31T07:31:23","modified_gmt":"2016-08-31T06:31:23","slug":"recettes-python-pour-qgis-acceder-aux-donnees-vecteur-postgisspatialite","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/recettes-python-pour-qgis-acceder-aux-donnees-vecteur-postgisspatialite\/","title":{"rendered":"Recettes Python pour QGis: acc\u00e9der aux donn\u00e9es vecteur (postgis,spatialite)"},"content":{"rendered":"<p>Dans cette s\u00e9rie d&rsquo;articles nous abordons comment acc\u00e9der aux donn\u00e9es de type vecteur avec Python et QGis. Tout d&rsquo;abord nous avons vu dans l&rsquo;article pr\u00e9c\u00e9dent (<a href=\"http:\/\/www.sigterritoires.fr\/index.php\/recettes-python-pour-qgis-acceder-aux-donnees-vecteurshapefile\/\">Recettes Python pour QGis: acc\u00e9der aux donn\u00e9es vecteur (shapefile)<\/a>) comment charger un fichier <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/frshapefile-vs-geopackage-quel-format-choisir\/\">shapefile<\/a>. Dans celui-ci nous verrons comment charger une table Postgresql\/Postgis et une table Spatialite. <!--more--><\/p>\n<h2>Charger une couche Postgis<\/h2>\n<p>L&rsquo;autre source de donn\u00e9es habituelle pour une application QGis est une couche vecteur contenue dans une base de donn\u00e9es Postgres\/Postgis. Nous allons voir comment la charger \u00e0 partir du code Python.<\/p>\n<p>Le principe est le m\u00eame que pour une couche shapefile, sauf que nous allons utiliser un autre fournisseur de donn\u00e9es (data provider) et que, contrairement \u00e0 un fichier shp, il faut cr\u00e9er la connexion \u00e0 la base de donn\u00e9es.<\/p>\n<p>Dans ScripRunner cr\u00e9ez un nouveau script et nommez-le <em><strong>charger_database.py<\/strong><\/em>.<\/p>\n<p>Rentrez le code suivant:<\/p>\n<div class='stb-container stb-style-grey'><div class='stb-caption'><div class='stb-logo'><img class='stb-logo__image' src='data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN\/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz\/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH\/w\/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA\/g88wAAKCRFRHgg\/P9eM4Ors7ONo62Dl8t6r8G\/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt\/qIl7gRoXgugdfeLZrIPQLUAoOnaV\/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl\/AV\/1s+X48\/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H\/LcL\/\/wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93\/+8\/\/UegJQCAZkmScQAAXkQkLlTKsz\/HCAAARKCBKrBBG\/TBGCzABhzBBdzBC\/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD\/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q\/pH5Z\/YkGWcNMw09DpFGgsV\/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY\/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4\/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L\/1U\/W36p\/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N\/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26\/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE\/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV\/MN8C3yLfLT8Nvnl+F30N\/I\/9k\/3r\/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt\/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi\/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a\/zYnKOZarnivN7cyzytuQN5zvn\/\/tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO\/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3\/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA\/0HIw6217nU1R3SPVRSj9Yr60cOxx++\/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3\/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX\/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8\/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb\/1tWeOT3dvfN6b\/fF9\/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR\/cGhYPP\/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF\/6i\/suuFxYvfvjV69fO0ZjRoZfyl5O\/bXyl\/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o\/2j5sfVT0Kf7kxmTk\/8EA5jz\/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5\/wAAgOkAAHUwAADqYAAAOpgAABdvkl\/FRgAAD41JREFUeNrsmnl0lOW9xz\/v7PtkliyTsGUhCQQCYYeyirSCQLXttcqil0Vse9uqrUvrbattbW0PiqJXa61el1YxgAQwyL6VsoNECCQhCZDNTJaZzL69M\/PeP3y5h+PBXhW8vbfH55znvGeemXne+fyW7+95f2cESZL4ZxgK\/knGlyBfgnxBQ\/UF7VsEdKTT6SJBEHoFQUjI657\/DyDmi5dafgRS385de++fNuUrm8+erZ8\/Zsyov3m9Xkem09ngcDr2BALBgqws52pAB8Su182F6yC\/pprTp3\/f3Ng0aP++A3MGDMyXIuGokF9YQDwWIycvL+X3BZTZ2Zm9CiktWSzmjvyCgVU+X6B\/YeHAe2RjJv6hIKFQeO65s+e+s\/LJlTfPmT2PaDxBVnYOfr+PPl+QRCJGPJ5Ar9OTYbOT5XCQm+tKxuMxlV6vae7fz7XZHwhYSkuLl\/8jQUZ977v3rJ8yeXp+SckQjEYT1du2sXXbNto6LhGPiYhikqQoggAqpRKLyUL5iArKR4ykfPhwFKkkOoO2tbAwf6NGo2nOzXM9+78K0tPTM2rXju3vlpUNy7U7MjFbLPz0kX9n647tpFJpJCkNgoSYEEmnkhj0OhSCmmAkQiwWJRGLkV9QyDe\/8S8MGzoEn7eP6TdMXV9UVPB7hULZrlQq3F84SDqdymptaVv\/7DNPTvnxgz9Do9bw\/Xvv5YPaWswmLXa7NTG4sKDLbLH0JGIJw\/nGhkKrxay227MIRyJEY3Eam5tparqI3+tl+owZLF6wmNxcl7\/X06uaN2\/OIovFvPELV63TZ84sX1+5dsqDD\/+CdEri17\/5LfVNzZgtZkaWFX\/44osvrlAqVUdEUSxubWl9UqczDjYZTUiSRDQWw9PrpbHpPLv37Gb3vv3s3bcfr7eP5ctWWAf2zwt4vd4pkUjYmpOT8wbwqa2sfOyxxz41RDyeKO5o63whO9tptmU4OHzkCG9WVuJwOhEEBV6fT9u\/X257hjXDf+TI0WddOf3GGY1mRTKZxBsI0enuJRSJoNeZGD6sjLy8bDo6P+TMB7U0NNYxduxYbWND48SsbKc3MzNz0xdW2S9cbLn\/pZf\/4BJQYndksmffLvRGAyqVCo1Gg88f1CxYtOCnt337G\/vycvNG6fUGkkkRUUzT0tZJd4+HhJgkGk8SCMYpKx3Bwtu\/TX5RPs2NTfzljdfIsNno6faMOHz46F+ArOseWqlUqvBcXf0tixbcSU52Nm3trTRdbMFkMiKlIZWCpJgi4AvisDsU2c4skmIcjVbP7j3bePrZ58jOyycz00lZ8WAqKsaQFkUmjJvK8ePHiEYi7Nm3h4qKUeTlDRhdVlZqBITr7pG2jo6bPjj9Qc7ad9agUqvx+XzEE3EEQYkkSUhpiMViJOJxcrJyUalVKFQCCgW8+ZfXudDSiccT4N3N1Ty16nf4A30YrCY0OgPjxkzEYjWhN1jYsXMbDruNaDSeffTo8WcB0\/X0iMrfF5jUPzePebNnk5mZRafbjUIAQSFASgLSRGMRADq73CTTKVRKJQqFwMD8fC51RQiFgqSTUTrcLdSe+YDCgiIS8RhFg0tw2DIRRRXnztXR6+lFTCZtFqsxA0heT484W1taJ7jdnaxc+ThebzdanfojCCn9kSxLEkkxDgg0NJynt7sLpaAmEU9y95Kl5Pd30flhK73uFjRaDWNHlWOz6LCa9dhtGahVSsxmI6m0RG3tafr160c8lhze0f7hPdcTJJnhsHk6uzpYtmwFWdnZ6LQaVIKSdDqFSq1AEATUKj2g5NKlVjZVV6NQgiSkGFxcxDNP\/oof\/XAp96y4m41VVUz6ykQQUlgsZjyeXmJiEqvVisFo5Oy5WkDByZPHXIJCSFy30EqlUoOamy4O7td\/EFUbNxKJhJg8ZTpWix53dwAJAa1Wj9Vmo8vdSUJMsHbd24wcWcHkyZMQRZGsrGwe\/PEDKBQK4vE4wUAQjVqHUqXkfOPZVCAQUmbYtOj1JoLBEJIEw4aNTIVD4RGAEkhds0eUSuXZcWPH\/K21tQWEFOPGTUSlUrPgjjv8v3z0kRdvmDrxeP3ZU9hsNrJy8jCYbPT2eHj66VX87cAhdFoDWq2BcFQkFImTTEoYDBY0ai3Hjx+JLF++\/Adr33rjtwohHQsFAygEBVarhTO1NcqOjjbtpymMVy2IS5cuZdOmTbjdblwuFxaLxVJz+uwDrS0tmf0HFrC28k1cLhdTpswQzWbjz5PJ5DMKIT2zob7RlZXtQhCU6HQGxJRIY3MrcVHC6bSj0elQqjQk4klaLl1kzbq32L17Z9+ihYv\/LSsrq9rn7Z3x3pZ3C4oGD+bmOXMxGSwMKsg\/63DYN\/5PMFcNrVdfffW\/r3a7nSVLlvjv\/eG9j4uJG\/\/wu5WPW8qHDqV8+Ggi4ZjZ6\/U99Oqrr952yy3z92zfsXNUliuXDJsZ0GBz2EhKCt7btosT79dgt1mJRHx0d3bQ0tKMu8vDwoUL2gA\/4NAbtAJAefkI1BoN+\/66Xcqw3xopLi6UrjnZvV6v4qmnnko1NjdLoXDYnD9gACNGjeeRnz9Ebe0pXK7cr82adeN9wWC4efLkie0N9TVYrVa0GgXRSIRkWkJr0BEKh9m\/fx9r1qxhc3U1Le1dFBSWMHPGjJcWLFggtrW1ZdTU1BQLCpg2dRqRSJRRoyYIQ4YMOQmkrxVEAagB038891yzIImrFyxcFnr5T88TDoYoKhpCJBwR5tx888MnTpwY1uXu3VReVho4feoYCgH0GjXBPg+tF5poOl9Pb68Hvc5CYWEZZUMrWLHsrrdWrXrqtcrKSpqaGsfs2LE1d\/r06YwePY6mpjpOnDjYrdVq669Vfi9DGICcqqoNqdoztWjVamNpSSmjxkzkwYfu5ZX\/fIlMZ47x0Ucfvdtut48Mh2J1Y0ePjNTVngJBIiMjA6vVit1up7CwkGHDhzMov4D+\/ftJSqXicFXVxuTiRYuNZ07X3BMORxQ\/e+Qx2lsv0d7ayl13LX3fZDLtvxYQQc4fA5AJ5ANjqrdUZ2zduunct761KHb69Cnq6mqZMnkmx44dJRqLaFavfuYr48ePHxgOR\/uGDy9NxWIhVGolao0arVaLRqNBrVYjSWm6unuEAwePrFi+fNmSwYMLHliz5s3pLzz\/MsXFJQgKgeam+qDT6Xj+mh6sBEFQyhBOGWI4MBQYNHr06PynnnyucNfu9wSVSiOEYzGOHNzLE088ydAhQ5FIc\/z4cfHd6o3K+vPNCrXWhFqtQ6VUkpY+slA6nUZMpgj6+zDopHROVqZi8Z1LmDZ1Jlu2VPHWmrd55unVb+bmuX4it5CinxdEA2QAA2SI8cAwoJ\/D4cwoKxuqmzBhkmL02Anq1c8+QUX5GObe\/HWqt2zk\/vvvp7CwCL\/Px\/unTnHw8EHON17C7\/cTi4lIpFGpFBh0BnJzMpkwYSJfnXUTKpWCw0cOY9QbOHTkIIvvXHpBCTqjyXhOpVa8otfr1\/+9c9cngehlb5QAY4FJQKkcZlpAePjhR1RlQ4fRfKFeyB9UpHi78s8gwMqVq9hctYGly+4mx+UCSSIhinR3d9Pr8YCURq\/Xk5Odg0ajRW\/Qs3\/vXwkEg2g0Wpqampnz9VtJJuL0eXqw2Wz4fQFyc7NX5+blPPRJrSPV38kRJaABjPLUXfH55B\/\/+ELM6XRITzyx0pKIx0GAufO+wWuvv8HBA3u4Y+EiHnzgPubPv4Wc3DxUKgWlJcX4fD60Gi0XLjZjMBh55eU\/MXvOPGprz9LS2szkyTORxASP\/vwntHcHGTBgILOmTyEQCN5rNptOmi2mP38WEEnWblHuBsZlS4jyesTn8\/nj8Xhq184dYiQa0d1513fMubku1le+yew589my9T2qNlUxdfoNvPDi84yqGMOAgQPYsX0by5av4DdPPM4PvvdDztU30NPrp7GxnnDEz7y5t9LefomLbV0MGFhES0szle908v17vktHh3txqaWo8mpe+STVSskAfUAn8CHQLVfgMBACuqLRaP0fX3rx2M6dO9q8np5I1Ttr49+6bQE3zZ7L\/r17WLrsu7S3t3O+oR5Xbj\/+\/MbrWK0OqjZsYHDhMN6urGJ4xUTKyysoKhyM05mFRqPBZDQzftw4vN4uxESchrozSKkU4XCkNJ1OOz9LjlyWXgdQAFQA5UAhYJdDzy8DBgCzIJBjMpmzf\/mrX7sOHTyouvHGWerSoWW8V72JcRMmEQr4aGg4z5AhQ+jp8TBowMDGi23tme7uroza0x+QYbFis5mZecNsCgryCQT9vLulmvqGOirKK5g7Zz42u2VvcUnhTVfzyCeBXFkML0vwEDnhB8mAannDgOwlCTCo1epsURT7z50339rW1qooKS4RSkqHcOr9k9K0adOFAwf2x\/r1G9BqNOrfKy4tvWPL1h3ZN06bQXNzI8FgiJk3zGLM2JGo1RqcTqfcvJCoqzuHz+ePzPrqjFt1Ou2OT5sjaVnqokCvHGohoEf2Qj7gAqwylEPOI1EUxSQgVr+7OQmoas+cEVKplABIe\/fukcLhMIDC4XCMvvOuJYq5X5vDiZOH8AdCGIxmotEQsWgIf1CBLTObFCkaG+s4deoUI0aMqNPptBc\/6xElLVs8LANcAE4Ce4Ed8vV94JIMefkU4JD3FQExlUqJslHS4XA4LRtvUCgUGltUmG91u1tpbr7E6Iqx5Lhy6PZ4qGtoI9M1kD5fmAMHDrF7zy5UKjXFJUUHN2x4p\/Gz5MjHYZXyD9AAesAsF8xsefaXPXTZO0a5+6GVp0reQ7isiEajUX377bdb9AaDsrioFHOGkcOHDmPQm5l38zzCsQDZmS6OHz+Gw5GJ290ZjEZD3\/nFo794SxTFz\/Wom5ZvnpItG5e95JHDTC9DWWQhyLgCVCuvq+SckmQ1TITD4axXXnllwn333ZdfPrKMynXr6OkL8M0pM9i4uZJeTy\/\/etcyTtW8z6KFd7KhqvL0unXrW+S9kp+3HSRdMa8Eisoe65Etrr5iauT3tJefRuXvxuVrARDzeDymdWvXOg1anbDg27fR7e6gpqaG225bxNGjx5g0cSrPrF4V3bRpY6fsUeHzhtYnVX6u2Fj42NrfM8TlG2YAo4GvARNXrVo1PJVMalrb2jSTJk0Rurs7EUWJ7du2uHfu2nkI2AjsAtzSVX705wX5JLArX0tXgfl47hlkOS\/Nzc0d0eV2Z40dNz6voCA\/c\/v27b12uz3a2Nh4GtgHnAO8H7XQJL4okGsZSvkclyELhEnOsdgV8t9zZRH8vwpytZIgXCUU+cwgX\/7z4UuQL0H++UD+awDc\/MMFLMO8WgAAAABJRU5ErkJggg==' alt='img'\/><\/div><div class='stb-caption-content'><\/div><div class='stb-tool'><\/div><\/div><div class='stb-content'style='background-image:linear-gradient(to bottom, 828282 30%, #dddddd 90%);'># Customize this starter script by adding code<br \/>\n# to the run_script function. See the Help for<br \/>\n# complete information on how to create a script<br \/>\n# and use Script Runner.<\/p>\n<p>\u00ab\u00a0\u00a0\u00bb\u00a0\u00bb Your Description of the script goes here \u00ab\u00a0\u00a0\u00bb\u00a0\u00bb<\/p>\n<p># Some commonly used imports<\/p>\n<p>from PyQt4.QtCore import *<br \/>\nfrom PyQt4.QtGui import *<br \/>\nfrom qgis.core import *<br \/>\nfrom qgis.gui import *<\/p>\n<p>def run_script(iface):<br \/>\nuri = QgsDataSourceURI()<br \/>\nuri.setConnection(\u00ab\u00a0localhost\u00a0\u00bb, \u00ab\u00a05432\u00a0\u00bb, \u00ab\u00a0postgres\u00a0\u00bb,\u00a0\u00bbuser1&Prime;, \u00ab\u00a0user1\u00a0\u00bb)<br \/>\nuri.setDataSource(\u00ab\u00a0public\u00a0\u00bb, \u00ab\u00a0details\u00a0\u00bb, \u00ab\u00a0geom\u00a0\u00bb,\u00a0\u00bbversion=1&Prime;)<br \/>\nlayer = QgsVectorLayer(uri.uri(), \u00ab\u00a0Recifs\u00a0\u00bb, \u00ab\u00a0postgres\u00a0\u00bb)<br \/>\nif not layer.isValid():<br \/>\nprint \u00ab\u00a0Layer %s did not load\u00a0\u00bb % layer.name()<br \/>\nQgsMapLayerRegistry.instance().addMapLayers([layer])<\/div><\/div>\n<p>Le script doit ressembler \u00e0 \u00e7a:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv10.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3523\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/recettes-python-pour-qgis-acceder-aux-donnees-vecteurshapefile\/pv10\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv10.png?fit=716%2C498&amp;ssl=1\" data-orig-size=\"716,498\" 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=\"pv10\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv10.png?fit=640%2C445&amp;ssl=1\" class=\"aligncenter size-full wp-image-3523\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv10.png?resize=640%2C445\" alt=\"pv10\" width=\"640\" height=\"445\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv10.png?w=716&amp;ssl=1 716w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv10.png?resize=300%2C209&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a>Vous observerez que la ligne de code qui cr\u00e9e le layer<\/p>\n<p><em><strong>layer = QgsVectorLayer(uri.uri(), \u00ab\u00a0Recifs\u00a0\u00bb, \u00ab\u00a0postgres\u00a0\u00bb)<\/strong><\/em><\/p>\n<p>contient un fournisseur <em><strong>postgres<\/strong> <\/em>\u00e0 la place de <em><strong>ogr <\/strong><\/em>et que le nom de fichier est remplac\u00e9 par un objet <em><strong>uri<\/strong><\/em>. C&rsquo;est cet objet qui est en charge de la connexion avec la base <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/debuter-avec-postgrespostgis\/\">Postgis<\/a>.<\/p>\n<p><em><strong> uri = QgsDataSourceURI()<\/strong><\/em><\/p>\n<p>cr\u00e9e l&rsquo;objet,<\/p>\n<p><em><strong>uri.setConnection(\u00ab\u00a0localhost\u00a0\u00bb, \u00ab\u00a05432\u00a0\u00bb, \u00ab\u00a0postgres\u00a0\u00bb,\u00a0\u00bbuser1&Prime;, \u00ab\u00a0user1\u00a0\u00bb)<\/strong><\/em><\/p>\n<p>cr\u00e9e la cha\u00eene de connexion:<\/p>\n<ul>\n<li>adresse du serveur (ici <em>localhost<\/em>)<\/li>\n<li>port d&rsquo;\u00e9coute de postgres (ici <em>5432<\/em>)<\/li>\n<li>nom de la base de donn\u00e9es(ici <em>postgres<\/em>)<\/li>\n<li>nom de l&rsquo;utilisateur (ici <em>user1<\/em>)<\/li>\n<li>mot de passe de l&rsquo;utilisateur (ici <em>user1<\/em>)<\/li>\n<\/ul>\n<p>Si vous voulez ex\u00e9cuter le script sur votre machine, vous devez modifier ces valeurs pour celles d&rsquo;une base de donn\u00e9es existante sur votre poste (si vous gardez localhost) ou rentrer une adresse de base accessible par Internet.<\/p>\n<p><em><strong> uri.setDataSource(\u00ab\u00a0public\u00a0\u00bb, \u00ab\u00a0details\u00a0\u00bb, \u00ab\u00a0geom\u00a0\u00bb,\u00a0\u00bbversion=1&Prime;)<\/strong><\/em><\/p>\n<p>Cette ligne d\u00e9fini quelles table Postgis utiliser dans la base de donn\u00e9es connect\u00e9e:<\/p>\n<ul>\n<li>nom du sch\u00e9ma (ici <em>public<\/em>)<\/li>\n<li>nom de la table (ici <em>details<\/em>)<\/li>\n<li>nom du champ g\u00e9om\u00e9trie de la table (ici <em>geom<\/em>)<\/li>\n<li>\u00e9ventuellement une clause SQL de type WHERE.<\/li>\n<\/ul>\n<p>Ici <em><strong>version=1<\/strong><\/em> correspond \u00e0 une clause<\/p>\n<p><em>SELECT * FROM details WHERE <strong>version=1<\/strong><\/em><\/p>\n<p>Si vous ne voulez pas appliquer un filtre \u00e0 la table, rentrez simplement \u00ab\u00a0\u00a0\u00bb.<\/p>\n<h2>Charger une couche Spatialite<\/h2>\n<p>Trop peu utilis\u00e9es et pourtant tellement pratiques et puissantes, les bases Spatialite peuvent aussi \u00eatre charg\u00e9es simplement avec Python.<\/p>\n<p>Voici le code pour un script comparable au pr\u00e9c\u00e9dent mais qui charge une table d&rsquo;une base Sopatialite:<\/p>\n<div class='stb-container stb-style-grey'><div class='stb-caption'><div class='stb-logo'><img class='stb-logo__image' src='data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN\/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz\/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH\/w\/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA\/g88wAAKCRFRHgg\/P9eM4Ors7ONo62Dl8t6r8G\/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt\/qIl7gRoXgugdfeLZrIPQLUAoOnaV\/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl\/AV\/1s+X48\/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H\/LcL\/\/wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93\/+8\/\/UegJQCAZkmScQAAXkQkLlTKsz\/HCAAARKCBKrBBG\/TBGCzABhzBBdzBC\/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD\/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q\/pH5Z\/YkGWcNMw09DpFGgsV\/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY\/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4\/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L\/1U\/W36p\/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N\/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26\/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE\/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV\/MN8C3yLfLT8Nvnl+F30N\/I\/9k\/3r\/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt\/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi\/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a\/zYnKOZarnivN7cyzytuQN5zvn\/\/tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO\/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3\/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA\/0HIw6217nU1R3SPVRSj9Yr60cOxx++\/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3\/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX\/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8\/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb\/1tWeOT3dvfN6b\/fF9\/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR\/cGhYPP\/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF\/6i\/suuFxYvfvjV69fO0ZjRoZfyl5O\/bXyl\/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o\/2j5sfVT0Kf7kxmTk\/8EA5jz\/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5\/wAAgOkAAHUwAADqYAAAOpgAABdvkl\/FRgAAD41JREFUeNrsmnl0lOW9xz\/v7PtkliyTsGUhCQQCYYeyirSCQLXttcqil0Vse9uqrUvrbattbW0PiqJXa61el1YxgAQwyL6VsoNECCQhCZDNTJaZzL69M\/PeP3y5h+PBXhW8vbfH55znvGeemXne+fyW7+95f2cESZL4ZxgK\/knGlyBfgnxBQ\/UF7VsEdKTT6SJBEHoFQUjI657\/DyDmi5dafgRS385de++fNuUrm8+erZ8\/Zsyov3m9Xkem09ngcDr2BALBgqws52pAB8Su182F6yC\/pprTp3\/f3Ng0aP++A3MGDMyXIuGokF9YQDwWIycvL+X3BZTZ2Zm9CiktWSzmjvyCgVU+X6B\/YeHAe2RjJv6hIKFQeO65s+e+s\/LJlTfPmT2PaDxBVnYOfr+PPl+QRCJGPJ5Ar9OTYbOT5XCQm+tKxuMxlV6vae7fz7XZHwhYSkuLl\/8jQUZ977v3rJ8yeXp+SckQjEYT1du2sXXbNto6LhGPiYhikqQoggAqpRKLyUL5iArKR4ykfPhwFKkkOoO2tbAwf6NGo2nOzXM9+78K0tPTM2rXju3vlpUNy7U7MjFbLPz0kX9n647tpFJpJCkNgoSYEEmnkhj0OhSCmmAkQiwWJRGLkV9QyDe\/8S8MGzoEn7eP6TdMXV9UVPB7hULZrlQq3F84SDqdymptaVv\/7DNPTvnxgz9Do9bw\/Xvv5YPaWswmLXa7NTG4sKDLbLH0JGIJw\/nGhkKrxay227MIRyJEY3Eam5tparqI3+tl+owZLF6wmNxcl7\/X06uaN2\/OIovFvPELV63TZ84sX1+5dsqDD\/+CdEri17\/5LfVNzZgtZkaWFX\/44osvrlAqVUdEUSxubWl9UqczDjYZTUiSRDQWw9PrpbHpPLv37Gb3vv3s3bcfr7eP5ctWWAf2zwt4vd4pkUjYmpOT8wbwqa2sfOyxxz41RDyeKO5o63whO9tptmU4OHzkCG9WVuJwOhEEBV6fT9u\/X257hjXDf+TI0WddOf3GGY1mRTKZxBsI0enuJRSJoNeZGD6sjLy8bDo6P+TMB7U0NNYxduxYbWND48SsbKc3MzNz0xdW2S9cbLn\/pZf\/4BJQYndksmffLvRGAyqVCo1Gg88f1CxYtOCnt337G\/vycvNG6fUGkkkRUUzT0tZJd4+HhJgkGk8SCMYpKx3Bwtu\/TX5RPs2NTfzljdfIsNno6faMOHz46F+ArOseWqlUqvBcXf0tixbcSU52Nm3trTRdbMFkMiKlIZWCpJgi4AvisDsU2c4skmIcjVbP7j3bePrZ58jOyycz00lZ8WAqKsaQFkUmjJvK8ePHiEYi7Nm3h4qKUeTlDRhdVlZqBITr7pG2jo6bPjj9Qc7ad9agUqvx+XzEE3EEQYkkSUhpiMViJOJxcrJyUalVKFQCCgW8+ZfXudDSiccT4N3N1Ty16nf4A30YrCY0OgPjxkzEYjWhN1jYsXMbDruNaDSeffTo8WcB0\/X0iMrfF5jUPzePebNnk5mZRafbjUIAQSFASgLSRGMRADq73CTTKVRKJQqFwMD8fC51RQiFgqSTUTrcLdSe+YDCgiIS8RhFg0tw2DIRRRXnztXR6+lFTCZtFqsxA0heT484W1taJ7jdnaxc+ThebzdanfojCCn9kSxLEkkxDgg0NJynt7sLpaAmEU9y95Kl5Pd30flhK73uFjRaDWNHlWOz6LCa9dhtGahVSsxmI6m0RG3tafr160c8lhze0f7hPdcTJJnhsHk6uzpYtmwFWdnZ6LQaVIKSdDqFSq1AEATUKj2g5NKlVjZVV6NQgiSkGFxcxDNP\/oof\/XAp96y4m41VVUz6ykQQUlgsZjyeXmJiEqvVisFo5Oy5WkDByZPHXIJCSFy30EqlUoOamy4O7td\/EFUbNxKJhJg8ZTpWix53dwAJAa1Wj9Vmo8vdSUJMsHbd24wcWcHkyZMQRZGsrGwe\/PEDKBQK4vE4wUAQjVqHUqXkfOPZVCAQUmbYtOj1JoLBEJIEw4aNTIVD4RGAEkhds0eUSuXZcWPH\/K21tQWEFOPGTUSlUrPgjjv8v3z0kRdvmDrxeP3ZU9hsNrJy8jCYbPT2eHj66VX87cAhdFoDWq2BcFQkFImTTEoYDBY0ai3Hjx+JLF++\/Adr33rjtwohHQsFAygEBVarhTO1NcqOjjbtpymMVy2IS5cuZdOmTbjdblwuFxaLxVJz+uwDrS0tmf0HFrC28k1cLhdTpswQzWbjz5PJ5DMKIT2zob7RlZXtQhCU6HQGxJRIY3MrcVHC6bSj0elQqjQk4klaLl1kzbq32L17Z9+ihYv\/LSsrq9rn7Z3x3pZ3C4oGD+bmOXMxGSwMKsg\/63DYN\/5PMFcNrVdfffW\/r3a7nSVLlvjv\/eG9j4uJG\/\/wu5WPW8qHDqV8+Ggi4ZjZ6\/U99Oqrr952yy3z92zfsXNUliuXDJsZ0GBz2EhKCt7btosT79dgt1mJRHx0d3bQ0tKMu8vDwoUL2gA\/4NAbtAJAefkI1BoN+\/66Xcqw3xopLi6UrjnZvV6v4qmnnko1NjdLoXDYnD9gACNGjeeRnz9Ebe0pXK7cr82adeN9wWC4efLkie0N9TVYrVa0GgXRSIRkWkJr0BEKh9m\/fx9r1qxhc3U1Le1dFBSWMHPGjJcWLFggtrW1ZdTU1BQLCpg2dRqRSJRRoyYIQ4YMOQmkrxVEAagB038891yzIImrFyxcFnr5T88TDoYoKhpCJBwR5tx888MnTpwY1uXu3VReVho4feoYCgH0GjXBPg+tF5poOl9Pb68Hvc5CYWEZZUMrWLHsrrdWrXrqtcrKSpqaGsfs2LE1d\/r06YwePY6mpjpOnDjYrdVq669Vfi9DGICcqqoNqdoztWjVamNpSSmjxkzkwYfu5ZX\/fIlMZ47x0Ucfvdtut48Mh2J1Y0ePjNTVngJBIiMjA6vVit1up7CwkGHDhzMov4D+\/ftJSqXicFXVxuTiRYuNZ07X3BMORxQ\/e+Qx2lsv0d7ayl13LX3fZDLtvxYQQc4fA5AJ5ANjqrdUZ2zduunct761KHb69Cnq6mqZMnkmx44dJRqLaFavfuYr48ePHxgOR\/uGDy9NxWIhVGolao0arVaLRqNBrVYjSWm6unuEAwePrFi+fNmSwYMLHliz5s3pLzz\/MsXFJQgKgeam+qDT6Xj+mh6sBEFQyhBOGWI4MBQYNHr06PynnnyucNfu9wSVSiOEYzGOHNzLE088ydAhQ5FIc\/z4cfHd6o3K+vPNCrXWhFqtQ6VUkpY+slA6nUZMpgj6+zDopHROVqZi8Z1LmDZ1Jlu2VPHWmrd55unVb+bmuX4it5CinxdEA2QAA2SI8cAwoJ\/D4cwoKxuqmzBhkmL02Anq1c8+QUX5GObe\/HWqt2zk\/vvvp7CwCL\/Px\/unTnHw8EHON17C7\/cTi4lIpFGpFBh0BnJzMpkwYSJfnXUTKpWCw0cOY9QbOHTkIIvvXHpBCTqjyXhOpVa8otfr1\/+9c9cngehlb5QAY4FJQKkcZlpAePjhR1RlQ4fRfKFeyB9UpHi78s8gwMqVq9hctYGly+4mx+UCSSIhinR3d9Pr8YCURq\/Xk5Odg0ajRW\/Qs3\/vXwkEg2g0Wpqampnz9VtJJuL0eXqw2Wz4fQFyc7NX5+blPPRJrSPV38kRJaABjPLUXfH55B\/\/+ELM6XRITzyx0pKIx0GAufO+wWuvv8HBA3u4Y+EiHnzgPubPv4Wc3DxUKgWlJcX4fD60Gi0XLjZjMBh55eU\/MXvOPGprz9LS2szkyTORxASP\/vwntHcHGTBgILOmTyEQCN5rNptOmi2mP38WEEnWblHuBsZlS4jyesTn8\/nj8Xhq184dYiQa0d1513fMubku1le+yew589my9T2qNlUxdfoNvPDi84yqGMOAgQPYsX0by5av4DdPPM4PvvdDztU30NPrp7GxnnDEz7y5t9LefomLbV0MGFhES0szle908v17vktHh3txqaWo8mpe+STVSskAfUAn8CHQLVfgMBACuqLRaP0fX3rx2M6dO9q8np5I1Ttr49+6bQE3zZ7L\/r17WLrsu7S3t3O+oR5Xbj\/+\/MbrWK0OqjZsYHDhMN6urGJ4xUTKyysoKhyM05mFRqPBZDQzftw4vN4uxESchrozSKkU4XCkNJ1OOz9LjlyWXgdQAFQA5UAhYJdDzy8DBgCzIJBjMpmzf\/mrX7sOHTyouvHGWerSoWW8V72JcRMmEQr4aGg4z5AhQ+jp8TBowMDGi23tme7uroza0x+QYbFis5mZecNsCgryCQT9vLulmvqGOirKK5g7Zz42u2VvcUnhTVfzyCeBXFkML0vwEDnhB8mAannDgOwlCTCo1epsURT7z50339rW1qooKS4RSkqHcOr9k9K0adOFAwf2x\/r1G9BqNOrfKy4tvWPL1h3ZN06bQXNzI8FgiJk3zGLM2JGo1RqcTqfcvJCoqzuHz+ePzPrqjFt1Ou2OT5sjaVnqokCvHGohoEf2Qj7gAqwylEPOI1EUxSQgVr+7OQmoas+cEVKplABIe\/fukcLhMIDC4XCMvvOuJYq5X5vDiZOH8AdCGIxmotEQsWgIf1CBLTObFCkaG+s4deoUI0aMqNPptBc\/6xElLVs8LANcAE4Ce4Ed8vV94JIMefkU4JD3FQExlUqJslHS4XA4LRtvUCgUGltUmG91u1tpbr7E6Iqx5Lhy6PZ4qGtoI9M1kD5fmAMHDrF7zy5UKjXFJUUHN2x4p\/Gz5MjHYZXyD9AAesAsF8xsefaXPXTZO0a5+6GVp0reQ7isiEajUX377bdb9AaDsrioFHOGkcOHDmPQm5l38zzCsQDZmS6OHz+Gw5GJ290ZjEZD3\/nFo794SxTFz\/Wom5ZvnpItG5e95JHDTC9DWWQhyLgCVCuvq+SckmQ1TITD4axXXnllwn333ZdfPrKMynXr6OkL8M0pM9i4uZJeTy\/\/etcyTtW8z6KFd7KhqvL0unXrW+S9kp+3HSRdMa8Eisoe65Etrr5iauT3tJefRuXvxuVrARDzeDymdWvXOg1anbDg27fR7e6gpqaG225bxNGjx5g0cSrPrF4V3bRpY6fsUeHzhtYnVX6u2Fj42NrfM8TlG2YAo4GvARNXrVo1PJVMalrb2jSTJk0Rurs7EUWJ7du2uHfu2nkI2AjsAtzSVX705wX5JLArX0tXgfl47hlkOS\/Nzc0d0eV2Z40dNz6voCA\/c\/v27b12uz3a2Nh4GtgHnAO8H7XQJL4okGsZSvkclyELhEnOsdgV8t9zZRH8vwpytZIgXCUU+cwgX\/7z4UuQL0H++UD+awDc\/MMFLMO8WgAAAABJRU5ErkJggg==' alt='img'\/><\/div><div class='stb-caption-content'><\/div><div class='stb-tool'><\/div><\/div><div class='stb-content'style='background-image:linear-gradient(to bottom, 949494 30%, #dddddd 90%);'># Customize this starter script by adding code<br \/>\n# to the run_script function. See the Help for<br \/>\n# complete information on how to create a script<br \/>\n# and use Script Runner.<\/p>\n<p>\u00ab\u00a0\u00a0\u00bb\u00a0\u00bb Your Description of the script goes here \u00ab\u00a0\u00a0\u00bb\u00a0\u00bb<\/p>\n<p># Some commonly used imports<\/p>\n<p>from PyQt4.QtCore import *<br \/>\nfrom PyQt4.QtGui import *<br \/>\nfrom qgis.core import *<br \/>\nfrom qgis.gui import *<\/p>\n<p>def run_script(iface):<br \/>\nuri = QgsDataSourceURI()<br \/>\nuri.setDatabase(\u00ab\u00a0H:\/repertoiresblog\/QGis\/validation.sqlite\u00a0\u00bb)<br \/>\nuri.setDataSource(\u00ab\u00a0\u00a0\u00bb, \u00ab\u00a0com2011orig\u00a0\u00bb, \u00ab\u00a0geom\u00a0\u00bb,\u00a0\u00bbcod_reg=9&Prime;)<br \/>\nlayer = QgsVectorLayer(uri.uri(), \u00ab\u00a0Communes\u00a0\u00bb, \u00ab\u00a0spatialite\u00a0\u00bb)<br \/>\nif not layer.isValid():<br \/>\nprint \u00ab\u00a0Layer %s did not load\u00a0\u00bb % layer.name()<br \/>\nQgsMapLayerRegistry.instance().addMapLayers([layer])<\/div><\/div>\n<p>Votre script doit ressembler \u00e0 \u00e7a:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv11.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3526\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/recettes-python-pour-qgis-acceder-aux-donnees-vecteurshapefile\/pv11\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv11.png?fit=711%2C499&amp;ssl=1\" data-orig-size=\"711,499\" 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=\"pv11\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv11.png?fit=640%2C449&amp;ssl=1\" class=\"aligncenter size-full wp-image-3526\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv11.png?resize=640%2C449\" alt=\"pv11\" width=\"640\" height=\"449\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv11.png?w=711&amp;ssl=1 711w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2016\/08\/pv11.png?resize=300%2C211&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><em><strong>uri.setDatabase(\u00ab\u00a0H:\/repertoiresblog\/QGis\/validation.sqlite\u00a0\u00bb)<\/strong><\/em><\/p>\n<p>Cette ligne d\u00e9fini le chemin et nom de la base Spatialite concern\u00e9e.<\/p>\n<p><em><strong>\u00a0 uri.setDataSource(\u00ab\u00a0\u00a0\u00bb, \u00ab\u00a0com2011orig\u00a0\u00bb, \u00ab\u00a0geom\u00a0\u00bb,\u00a0\u00bbcod_reg=9&Prime;)<\/strong><\/em><\/p>\n<p>Le premier param\u00e8tre, sch\u00e9ma, ne s&rsquo;applique pas aux bases Spatialite.<\/p>\n<ul>\n<li>nom de la table \u00e0 charger (ici <em>com2011orig<\/em>)<\/li>\n<li>nom du champ g\u00e9om\u00e9trie (ici <em>geom<\/em>)<\/li>\n<li>clause de filtrage SQL, optionnelle (ici <em>cod_reg=9<\/em>)<\/li>\n<\/ul>\n<p><em><strong>\u00a0layer = QgsVectorLayer(uri.uri(), \u00ab\u00a0Communes\u00a0\u00bb, \u00ab\u00a0spatialite\u00a0\u00bb)<\/strong><\/em><\/p>\n<p>On cr\u00e9e la couche avec l&rsquo;objet uri que nous venons de construire et nous faisons appel au fournisseur de donn\u00e9es <em><strong>spatialite<\/strong><\/em>.<\/p>\n<h2>Les autres fournisseurs de donn\u00e9es disponibles<\/h2>\n<p>Nous avons vu trois fournisseurs de donn\u00e9es pour QgsVectorLayer: <em><strong>ogr<\/strong><\/em>, <em><strong>postgres<\/strong><\/em>, et <em><strong>spatialite<\/strong><\/em>. Le premier est en r\u00e9alit\u00e9 une biblioth\u00e8que qui permet l&rsquo;acc\u00e8s \u00e0 de nombreux formats.<\/p>\n<p>En plus de ces trois fournisseurs, vous pouvez utiliser les suivants:<\/p>\n<ul>\n<li><em><strong>memory<\/strong> <\/em>qui permet de charger des couches cr\u00e9\u00e9es en m\u00e9moire<\/li>\n<li><em><strong>mssql<\/strong> <\/em>qui permet de charger une couche d&rsquo;une base Microsoft SQL<\/li>\n<li><em><strong>wfs<\/strong> <\/em>qui permet de charger une couche d&rsquo;un flux WFS<\/li>\n<li><em><strong>delimitedtext<\/strong> <\/em>qui permet de charger une couche \u00e0 partir d&rsquo;un fichier texte<\/li>\n<li><em><strong>gpx<\/strong> <\/em>qui charge des routes et des waypoints \u00e0 partir d&rsquo;un fichier gpx<\/li>\n<li><em><strong>grass<\/strong> <\/em>qui charge une couche GRASS<\/li>\n<\/ul>\n<p>Dans l&rsquo;article suivant nous verrons comment consulter les attributs et les g\u00e9om\u00e9tries des couches vecteur charg\u00e9e dans QGis.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cette s\u00e9rie d&rsquo;articles nous abordons comment acc\u00e9der aux donn\u00e9es de type vecteur avec Python et QGis. Tout d&rsquo;abord nous avons vu dans l&rsquo;article pr\u00e9c\u00e9dent (Recettes Python pour QGis: acc\u00e9der aux donn\u00e9es vecteur (shapefile)) comment charger&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":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[311,222,62],"tags":[227,312,131,58,223,199,21],"class_list":["post-3569","post","type-post","status-publish","format-standard","hentry","category-postgresql","category-python","category-qgis-2","tag-postgis","tag-postgresql","tag-python","tag-qgis","tag-script","tag-spatialite","tag-vecteur"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-Vz","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/3569","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=3569"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/3569\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=3569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=3569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=3569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}