Découvrir les formats de données et de champs

Données Raster

Les données raster SIG sont des matrices de cellules discrètes qui représentent des caractéristiques / phénomènes sur, au-dessus ou au-dessous de la surface de la Terre. Chaque cellule de la grille raster a la même taille et les cellules sont généralement rectangulaires (dans QGIS, elles seront toujours rectangulaires). Les jeux de données raster typiques incluent les données de télédétection, telles que la photographie aérienne ou l’imagerie satellite et les données modélisées, telles que l’altitude ou la température.

Contrairement aux données vectorielles, les données raster n’ont généralement pas d’enregistrement de base de données associé pour chaque cellule. Ils sont géocodés par la résolution en pixels et les coordonnées X / Y d’un pixel d’angle de la couche raster. Cela permet à QGIS de positionner correctement les données sur le canevas de carte.

Le format GeoPackage est pratique pour stocker des données raster lorsque vous travaillez avec QGIS. Le format GeoTiff populaire et puissant est une bonne alternative.

QGIS utilise des informations de géoréférence à l’intérieur de la couche raster (par exemple GeoTiff) ou un fichier world associé pour afficher correctement les données.

Données Vecteurs

De nombreuses fonctionnalités et outils disponibles dans QGIS fonctionnent de la même manière, quelle que soit la source de données vectorielles. Cependant, en raison des différences de spécifications de format (GeoPackage, ESRI Shapefile, MapInfo et MicroStation file formats, AutoCAD DXF, PostGIS, SpatiaLite, DB2, Oracle Spatial, MSSQL Spatial database, et bien d’autres), QGIS peut gérer différemment certaines de leurs propriétés . Le support est fourni par la bibliothèque de fonctionnalités simples OGR <https://gdal.org/drivers/vector/index.html> `_. Cette section décrit comment travailler avec ces spécificités.

Note

QGIS prend en charge les types d’entités (multi) points, (multi) lignes, (multi) polygones, CircularString, CompoundCurve, CurvePolygon, MultiCurve, MultiSurface, tous éventuellement avec des valeurs Z et / ou M.

Vous devez également noter que certains pilotes ne prennent pas en charge certains de ces types d’entités, comme CircularString, CompoundCurve, CurvePolygon, MultiCurve, MultiSurface. QGIS les convertira.

GeoPackage

Le format GeoPackage <https://www.geopackage.org/> _ (GPKG) est indépendant de la plate-forme et est implémenté en tant que conteneur de base de données SQLite et peut être utilisé pour stocker des données vectorielles et raster. Le format a été défini par l’Open Geospatial Consortium (OGC) et a été publié en 2014.

GeoPackage peut être utilisé pour stocker les éléments suivants dans une base de données SQLite:

  • entites vecteur

  • ensembles d’images matricielles de tuiles et cartes raster

  • attributs (données non spatiales)

  • extensions

Depuis la version 3.8 de QGIS, GeoPackage peut également stocker des projets QGIS. Les couches GeoPackage peuvent avoir des champs JSON.

GeoPackage est le format par défaut pour les données vectorielles dans QGIS.

ESRI Shapefile format

Le format ESRI Shapefile est toujours l’un des formats de fichiers vectoriels les plus utilisés dans QGIS. Cependant, ce format de fichier a une limitation que certains autres formats de fichier n’ont pas (comme GeoPackage et SpatiaLite).

Un jeu de données au format Shapefile se compose de plusieurs fichiers. Les trois suivants sont requis:

  1. .shp fichier contenant la géométrie des entités;

  2. .dbf fichier contenant les attributs au format dBase;

  3. .shx fichier d’index.

Un jeu de données au format Shapefile peut également inclure un fichier avec le suffixe .prj, qui contient les informations de projection. Bien qu’il soit très utile d’avoir un fichier de projection, il n’est pas obligatoire. Un jeu de données au format Shapefile peut contenir des fichiers supplémentaires. Pour plus de détails, voir les spécifications techniques ESRI sur https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf.

Amélioration des performances des jeux de données au format Shapefile

Pour améliorer les performances de dessin d’un jeu de données au format Shapefile, vous pouvez créer un index spatial. Un index spatial améliorera la vitesse du zoom et du panoramique. Les index spatiaux utilisés par QGIS ont une extension .qix.

Voici les étapes de création d’un index spatial :

  1. Charger un jeu de données au format Shapefile (voir Le panneau Explorateur)

  2. Ouvrez la boîte de dialogue Propriétés de la couche en double-cliquant sur le nom de la couche dans la légende ou en cliquant avec le bouton droit et en choisissant :menuselection:` Propriétés …` dans le menu contextuel

  3. Dans l’onglet Source, cliquez sur le bouton Créer un index spatial

Problème de chargement de fichier .prj

Si vous chargez un jeu de données au format Shapefile avec un fichier .prj et que QGIS n’est pas en mesure de lire le système de référence de coordonnées à partir de ce fichier, vous devrez définir manuellement la projection appropriée dans Propriétés de la couche -> onglet Source en cliquant sur le bouton setProjection Sélectionner le SCR. Cela est dû au fait que .prj ne fournissent souvent pas les paramètres de projection complets tels qu’utilisés dans QGIS et répertoriés dans la boîte de dialogue SCR.

Pour la même raison, si vous créez un nouvel ensemble de données au format Shapefile avec QGIS, deux fichiers de projection différents sont créés: un .prj avec des paramètres de projection limités, compatible avec le logiciel ESRI, et un .qpj `fichier, fournissant tous les paramètres du SCR. Chaque fois que QGIS trouve un fichier :file:.qpj`, il sera utilisé à la place du fichier .prj.

Fichiers de Texte Délimité

Les fichiers texte délimités sont très courants et largement utilisés en raison de leur simplicité et de leur lisibilité - les données peuvent être visualisées et modifiées dans un éditeur de texte brut. Un fichier texte délimité est constitué de données tabulaires avec des colonnes séparées par un caractère défini et des lignes séparées par des sauts de ligne. La première ligne contient généralement les noms des colonnes. Un type courant de fichier texte délimité est un CSV (Comma Separated Values), avec des colonnes séparées par des virgules. Les fichiers texte délimités peuvent également contenir des informations de position (voir Stockage des informations de géométrie dans des fichiers texte délimités).

QGIS vous permet de charger un fichier texte délimité sous forme de couche ou de table ordinaire (voir Le panneau Explorateur ou Importation d’un fichier texte délimité). Vérifiez d’abord que le fichier répond aux exigences suivantes:

  1. Le fichier doit avoir une ligne d’en-tête délimitée de noms de champs. Il doit s’agir de la première ligne des données (idéalement la première ligne du fichier texte).

  2. Si la géométrie doit être activée, le fichier doit contenir des champs qui définissent la géométrie. Ces champs peuvent avoir n’importe quel nom.

  3. Les champs de coordonnées X et Y (si la géométrie est définie par des coordonnées) doivent être spécifiés sous forme de nombres. Le système de coordonnées n’est pas important.

  4. Si vous avez un fichier CSV avec des colonnes non-chaîne (pas de type texte), vous devez avoir un fichier CSVT d’accompagnement (voir la section Utilisation du fichier CSVT pour contrôler la mise en forme des champs).

Le fichier de données de point d’élévation elevp.csv dans l’exemple de jeu de données QGIS (voir la section Téléchargement des données exemple) est un exemple de fichier texte valide:

X;Y;ELEV
-300120;7689960;13
-654360;7562040;52
1640;7512840;3
[...]

Quelques points à noter sur le fichier texte:

  1. L’exemple de fichier texte utilise ; (point-virgule) comme délimiteur (n’importe quel caractère peut être utilisé pour délimiter les champs).

  2. La première ligne est la ligne d’en-tête. Elle contient les champs X, Y et ELEV.

  3. Aucun guillemet (") n’est utilisé pour délimiter les champs de texte

  4. Les coordonnées X sont contenues dans le champ X

  5. Les coordonnées Y sont contenues dans le champ Y

Stockage des informations de géométrie dans des fichiers texte délimités

Les fichiers texte délimités peuvent contenir des informations de géométrie sous deux formes principales:

  • Comme coordonnées dans des colonnes séparées (par exemple, Xcol, Ycol …), pour les données de géométrie ponctuelle;

  • Représentation textuelle bien connue (WKT) de la géométrie dans une seule colonne, pour tout type de géométrie.

Les entites avec des géométries courbes (CircularString, CurvePolygon et CompoundCurve) sont prises en charge. Voici quelques exemples de types de géométrie dans un fichier texte délimité avec des géométries codées WKT

Label;WKT_geom
LineString;LINESTRING(10.0 20.0, 11.0 21.0, 13.0 25.5)
CircularString;CIRCULARSTRING(268 415,227 505,227 406)
CurvePolygon;CURVEPOLYGON(CIRCULARSTRING(1 3, 3 5, 4 7, 7 3, 1 3))
CompoundCurve;COMPOUNDCURVE((5 3, 5 13), CIRCULARSTRING(5 13, 7 15,
  9 13), (9 13, 9 3), CIRCULARSTRING(9 3, 7 1, 5 3))

Les fichiers texte délimités prennent également en charge les coordonnées Z et M dans les géométries

LINESTRINGZ(10.0 20.0 30.0, 11.0 21.0 31.0, 11.0 22.0 30.0)

Utilisation du fichier CSVT pour contrôler la mise en forme des champs

Lors du chargement de fichiers CSV, le pilote OGR suppose que tous les champs sont des chaînes (c’est-à-dire du texte) sauf indication contraire. Vous pouvez créer un fichier CSVT pour indiquer à OGR (et QGIS) le type de données des différentes colonnes:

Type

Nom

Exemple

Nombre entier

Entier

4

Nombre décimal

Réel

3.456

Date

Date (YYYY-MM-DD)

2016-07-28

Temps

Temps (HH:MM:SS+nn)

18:33:12+00

Date & Heure

DateTime (YYYY-MM-DD HH:MM:SS+nn)

2016-07-28 18:33:12+00

Le fichier CSVT est un fichier texte brut d”UNE ligne avec les types de données entre guillemets et séparés par des virgules, par exemple:

"Integer","Real","String"

Vous pouvez même spécifier la largeur et la précision de chaque colonne, par exemple:

"Integer(6)","Real(5.5)","String(22)"

Ce fichier est sauvegardé dans le même dossier que le fichier .csv, avec le même nom, mais en tant qu’extension .csvt

Vous pouvez trouver plus d’informations sur GDAL CSV Driver <https://gdal.org/drivers/vector/csv.html> _.

Couches PostGIS

Les couches PostGIS sont stockées dans une base de données PostgreSQL. Les avantages de PostGIS sont les capacités d’indexation spatiale, de filtrage et d’interrogation. À l’aide de PostGIS, les fonctions vectorielles telles que la sélection et l’identification du travail sont plus précises qu’elles ne le font avec les couches OGR dans QGIS.

Astuce

Couches PostGIS

Normalement, une couche PostGIS est identifiée par une entrée dans la table geometry_columns. QGIS peut charger des couches qui n’ont pas d’entrée dans la table geometry_columns. Cela inclut à la fois les tableaux et les vues. Reportez-vous à votre manuel PostgreSQL pour plus d’informations sur la création de vues.

Cette section contient quelques détails sur la façon dont QGIS accède aux couches PostgreSQL. La plupart du temps, QGIS devrait simplement vous fournir une liste des tables de base de données qui peuvent être chargées, et il les chargera sur demande. Cependant, si vous rencontrez des difficultés pour charger une table PostgreSQL dans QGIS, les informations ci-dessous peuvent vous aider à comprendre les messages QGIS et vous donner des instructions pour modifier la table PostgreSQL ou afficher la définition pour permettre à QGIS de la charger.

Clé primaire

QGIS demande que les couches PostgreSQL aient un champ pouvant être utilisé comme clé unique pour la couche. Pour les tables, cela signifie qu’elles doivent avoir une clé primaire ou un champ ayant une contrainte d’unicité. De plus, QGIS impose que cette colonne soit de type int4 (un entier de 4 octets). Alternativement, la colonne ctid peut être utilisée comme clé primaire. Si une table ne respecte pas ces conditions, le champ oid sera utilisé à la place. Les performances seront améliorées si le champ est indexé (notez que les clés primaires sont automatiquement indexées dans PostgreSQL).

QGIS propose une case à cocher Sélectionner à l’id qui est activée par défaut. Cette option obtient les identifiants sans les attributs, ce qui est plus rapide dans la plupart des cas.

Vue

Si la couche PostgreSQL est une vue, les mêmes conditions s’appliquent, mais elles n’ont pas toujours de clé primaire ou de champ ayant une contrainte d’unicité. Dans ce cas, vous devez définir une clé primaire (de type entier) avant de charger la vue. Si aucun champ ne convient, QGIS ne chargera pas la vue. Si cela arrive, la solution est de modifier la vue de sorte qu’elle inclue un champ qui convient (de type entier et qui soit une clé primaire ou ayant une contrainte d’unicité, de préférence indexé).

Comme pour les tables, une case à cocher Sélectionner par identifiant est activée par défaut (voir ci-dessus pour la signification de la case à cocher). Ça peut avoir du sens de désactiver cette option lorsque vous utilisez des vues coûteuses.

Table QGIS layer_style et sauvegarde de la base de données

Si vous voulez faire une sauvegarde de votre base de données PostGIS en utilisant les commandes pg_dump et pg_restore et que les styles par défaut des couches sauvés par QGIS ne sont pas restaurés, vous devez définir l’option XML à DOCUMENT et la restauration fonctionnera.

SET XML OPTION DOCUMENT;

Filtrer côté base de données

QGIS permet de filtrer les entites déjà côté serveur. Vérifier :menuselection: Paramètres -> Options -> Sources de données -> checkbox Exécuter des expressions côté serveur si possible pour le faire. Seules les expressions prises en charge seront envoyées à la base de données. Les expressions utilisant des opérateurs ou des fonctions non pris en charge se replieront avec une évaluation locale.

Types de données supportés par PostgreSQL

Les types de données pris en charge par le fournisseur PostgreSQL incluent: entier, flottant, booléen, objet binaire, varchar, géométrie, horodatage, tableau, hstore et json.

Importer des données dans PostgreSQL

Différents outils, notamment le Gestionnaire de bases de données (BD Manager plugin) ou les outils en ligne de commande comme sh2pgsql ou ogr2ogr, permettent d’importer les données dans une base de données PostgreSQL/PostGIS.

DB Manager

QGIS est livré avec un plugin principal nommé dbManager DB Manager. Il peut être utilisé pour charger des données et inclut la prise en charge des schémas. Voir la section Extension DB Manager pour plus d’informations.

shp2pgsql

PostGIS comprend un utilitaire appelé shp2pgsql, qui peut être utilisé pour importer des jeux de données au format Shapefile dans une base de données PostGIS. Par exemple, pour importer un jeu de données au format Shapefile nommé lacs.shp dans une base de données PostgreSQL nommée gis_data, utilisez la commande suivante

shp2pgsql -s 2964 lakes.shp lakes_new | psql gis_data

Cela crée une nouvelle couche nommée lacs_new dans la base de données gis_data. La nouvelle couche aura un identifiant de référence spatiale (SRID) de 2964. Voir la section Utiliser les projections pour plus d’informations sur les systèmes de référence spatiale et les projections.

Astuce

Exporter des jeux de données depuis PostGIS

Il existe également un outil pour exporter les jeux de données PostGIS au format Shapefile: pgsql2shp. Il est expédié dans votre distribution PostGIS.

ogr2ogr

En plus de shp2pgsql et DB Manager, il existe un autre outil pour alimenter les données géographiques dans PostGIS: ogr2ogr. Il fait partie de votre installation GDAL.

Pour importer un jeu de données au format Shapefile dans PostGIS, procédez comme suit:

ogr2ogr -f "PostgreSQL" PG:"dbname=postgis host=myhost.de user=postgres
password=topsecret" alaska.shp

Cela importera le jeu de données au format Shapefile alaska.shp dans la base de données PostGIS postgis en utilisant l’utilisateur postgres avec le mot de passe topsecret sur le serveur hôte myhost.de.

Notez que OGR doit être construit avec PostgreSQL pour prendre en charge PostGIS. Vous pouvez le vérifier en tapant (dans nix)

ogrinfo --formats | grep -i post

Si vous préférez utiliser la commande COPY de PostgreSQL au lieu de la méthode INSERT INTO par défaut, vous pouvez exporter la variable d’environnement suivante (au moins disponible sur nix et osx)

export PG_USE_COPY=YES

ogr2ogr ne crée pas d’index spatiaux comme le fait shp2pgsl. Vous devez les créer manuellement, en utilisant la commande SQL normale CREATE INDEX par la suite, comme étape supplémentaire (comme décrit dans la section suivante Améliorer les performances).

Améliorer les performances

La récupération des entites d’une base de données PostgreSQL peut prendre beaucoup de temps, en particulier sur un réseau. Vous pouvez améliorer les performances de dessin des couches PostgreSQL en vous assurant qu’un index spatial PostGIS existe sur chaque couche de la base de données. PostGIS prend en charge la création d’un index GiST (Generalized Search Tree) pour accélérer la recherche spatiale (les informations d’index GiST sont extraites de la documentation PostGIS disponible sur https://postgis.net).

Astuce

Vous pouvez utiliser DBManager pour créer un index pour votre couche. Vous devez d’abord sélectionner la couche et cliquer sur Table -> Modifier la table, allez dans l’onglet Index et cliquez sur Ajouter un index spatial.

La syntaxe pour créer un index GiST est

CREATE INDEX [indexname] ON [tablename]
  USING GIST ( [geometryfield] GIST_GEOMETRY_OPS );

Notez que pour les grandes tables, la création de l’index peut prendre du temps. Une fois l’index créé, vous devez effectuer une commande VACCUM ANALYSE. Voir la documentation PostGIS (POSTGIS-PROJECT dans Bibliographie) pour plus d’informations.

L’exemple suivant crée un index GiST

gsherman@madison:~/current$ psql gis_data
Welcome to psql 8.3.0, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

gis_data=# CREATE INDEX sidx_alaska_lakes ON alaska_lakes
gis_data-# USING GIST (the_geom GIST_GEOMETRY_OPS);
CREATE INDEX
gis_data=# VACUUM ANALYZE alaska_lakes;
VACUUM
gis_data=# \q
gsherman@madison:~/current$

Couches vectorielles franchissant la ligne des 180° de longitude

De nombreux packages SIG n’emballent pas les cartes vectorielles avec un système de référence géographique (lat / lon) traversant la ligne de longitude 180 degrés (http://postgis.refractions.net/documentation/manual-2.0/ST_Shift_Longitude.html). Par conséquent, si nous ouvrons une telle carte dans QGIS, nous pourrions voir deux emplacements largement séparés, qui devraient apparaître l’un à côté de l’autre. Dans Figure_vector_crossing, le petit point à l’extrême gauche du canevas de la carte (îles Chatham) doit être dans la grille, à droite des îles principales de la Nouvelle-Zélande.

../../../_images/vectorNotWrapping.png

Carte en lat/lon de part et d’autre de la ligne des 180° longitude

Une solution est de transformer les valeurs longitudinales en utilisant PostGIS et la fonction ST_Shift_Longitude. Cette fonction lit chaque point/sommet de chacune des entités dans une géométrie et si la coordonnée de longitude est inférieure à 0°, elle lui ajoute 360°. Le résultat est une version 0° - 360° des données sur une carte centrée à 180°.

../../../_images/vectorWrapping.png

Traversée de la longitude 180° en utilisant la fonction ST_Shift_Longitude

Usage

  • Importer des données dans PostGIS (Importer des données dans PostgreSQL) en utilisant, par exemple, l’extension DB Manager.

  • Utiliser l’interface en ligne de commande PostGIS pour exécuter la commande suivante (dans cet exemple, « TABLE » est bien le nom de votre table PostGIS): gis_data=# update TABLE set the_geom=ST_Shift_Longitude(the_geom);

  • Si tout s’est bien passé, vous devriez recevoir une confirmation sur le nombre d’entités qui ont été mises à jour. Ensuite, vous pouvez charger la carte et voir la différence (Figure_vector_crossing_map).

Couches SpatiaLite

Si vous souhaitez enregistrer une couche vectorielle en utilisant le format SpatiaLite, vous pouvez le faire en suivant les instructions sur Création de nouvelles couches à partir d’une couche existante. Vous sélectionnez SpatiaLite comme Format et entrez les deux Nom de fichier et Nom de coouche.

Vous pouvez également sélectionner SQLite comme format, puis ajouter SPATIALITE=YES dans le Options personnalisées -> Source de données. Cela indique à GDAL de créer une base de données SpatiaLite. Voir également https://gdal.org/drivers/vector/sqlite.html.

QGIS prend également en charge les vues modifiables dans SpatiaLite. Pour la gestion des données SpatiaLite, vous pouvez également utiliser le plugin principal DB Manager 1.

Si vous souhaitez créer une nouvelle couche SpatiaLite, référez-vous à la section Créer une nouvelle couche SpatiaLite.

Paramètres spécifiques à GeoJSON

Quand exporting layers 1 vers GeoJSON, il y a des Options de couches spécifiques disponibles. Ces options proviennent de GDAL qui est responsable de l’écriture du fichier:

  • COORDINATE_PRECISION le nombre maximum de chiffres après le séparateur décimal pour écrire en coordonnées. La valeur par défaut est 15 (remarque: pour les coordonnées de Lat Lon, 6 est considéré comme suffisant). Une troncature se produira pour supprimer les zéros de fin.

  • RFC7946 par défaut GeoJSON 2008 sera utilisé. S’il est défini sur OUI, la norme RFC 7946 mise à jour sera utilisée. La valeur par défaut est NO (donc GeoJSON 2008). Voir https://gdal.org/drivers/vector/geojson.html#rfc-7946-write-support pour les principales différences, en bref : seul EPSG: 4326 est autorisé, les autres SCR seront transformés, les polygones seront écrits comme pour suivre la règle de droite pour l’orientation, les valeurs d’un tableau « bbox » sont [ouest, sud, est, nord], pas [minx, miny, maxx, maxy]. Certains noms d’extension sont interdits dans les objets FeatureCollection, Feature et Geometry, la précision des coordonnées par défaut est de 7 chiffres décimaux

  • WRITE_BBOX défini sur YES pour inclure la boîte englobante des géométries au niveau de l’entité et de la collection d’entités

Outre GeoJSON, il existe également une option d’exportation vers « GeoJSON - Newline Delimited » (voir https://gdal.org/drv_geojsonseq.html). Au lieu d’une FeatureCollection avec des entites, vous pouvez diffuser un type (probablement uniquement des entites) séparés séquentiellement avec des retours à la ligne.

GeoJSON - Newline Delimited propose également des options de couche spécifiques:

  • COORDINATE_PRECISION voir ci-dessus (comme pour GeoJSON)

  • RS s’il faut commencer les enregistrements avec le caractère RS = 0x1E. La différence réside dans la façon dont les entités sont séparées: uniquement par un caractère de nouvelle ligne (LF) (JSON délimité par une nouvelle ligne, geojsonl) ou en ajoutant également un caractère séparateur d’enregistrement (RS) (donnant des séquences de texte GeoJSON, geojsons). Par défaut à NO. Les fichiers reçoivent l’extension .json si l’extension n’est pas fournie.

Couches DB2 Spatial

Les produits IBM DB2 pour Linux, Unix et Windows (DB2 LUW), IBM DB2 pour z / OS (mainframe) et IBM DashDB permettent aux utilisateurs de stocker et d’analyser des données spatiales dans des colonnes de table relationnelle. Le fournisseur DB2 pour QGIS prend en charge la gamme complète de visualisation, d’analyse et de manipulation des données spatiales dans ces bases de données.

La documentation utilisateur sur ces fonctionnalités se trouve dans le DB2 z / OS KnowledgeCenter,` DB2 LUW KnowledgeCenter`_ et DB2 DashDB KnowledgeCenter.

Pour plus d’informations sur l’utilisation des capacités spatiales DB2, consultez le DB2 Spatial Tutorial sur IBM DeveloperWorks.

Le fournisseur DB2 ne prend actuellement en charge que l’environnement Windows via le pilote ODBC Windows.

Le client exécutant QGIS doit avoir l’un des éléments suivants installé:

  • DB2 LUW

  • IBM Data Server Driver Package

  • IBM Data Server Client

Pour ouvrir une donnée DB2 dans QGIS, consultez la section Le panneau Explorateur ou Chargement d’une couche de base de données.

Si vous accédez à une base de données DB2 LUW sur la même machine ou utilisez DB2 LUW en tant que client, les exécutables DB2 et les fichiers de prise en charge doivent être inclus dans le chemin Windows. Cela peut être fait en créant un fichier batch comme le suivant avec le nom db2.bat et en l’incluant dans le répertoire % OSGEO4W_ROOT%/etc/ini

@echo off
REM Point the following to where DB2 is installed
SET db2path=C:\Program Files (x86)\sqllib
REM This should usually be ok - modify if necessary
SET gskpath=C:\Program Files (x86)\ibm\gsk8
SET Path=%db2path%\BIN;%db2path%\FUNCTION;%gskpath%\lib64;%gskpath%\lib;%path%