[MUSIQUE] [MUSIQUE] [MUSIQUE] Bienvenue à cette leçon qui portera sur le stockage des données géographiques. En effet, les géodonnées pour pouvoir être utilisées dans les systèmes d'information géographique doivent être stockées sur un support numérique et c'est cette question-là que nous allons aborder ce matin. Nous aborderons donc les questions suivantes. Que souhaite-t-on stocker? Quels types d'information? Quels sont les enjeux du stockage de géodonnées, notamment en termes de structuration, d'accessibilité? Et quels sont les types de supports qui sont les mieux adaptés à répondre à ces différents enjeux? Comme les choses sont passablement différentes entre le monde vecteur et le monde raster, nous traiterons ces deux cas successivement et nous allons commencer par le monde vecteur. Nous voyons dans cette image une série d'objets vectoriels, des champs, des routes et une collection d'arbres. L'information la plus fondamentale que l'on souhaite conserver par rapport à ces objets concerne leur géométrie et en particulier le type de géométrie auquel on a affaire et les coordonnées des différents sommets qui la composent. Mais qui dit coordonnées dit également système de projection, donc ces deux types d'informations devraient être conservés. Au-delà de la géométrie, ce qui nous intéresse particulièrement, c'est les caractéristiques de ces objets, en particulier le type de culture dans le cas des champs ou le propriétaire, ce que l'on résume sous le nom, la dénomination de données attributaires. Les éléments de représentation de ces objets sont également importants, en particulier dans le cas du remplissage, la couleur et la transparence, et dans le cas du contour, la couleur, la transparence mais aussi l'épaisseur. Tous éléments qui font partie de la symbologie. Mais finalement, ce qui nous intéresse également, c'est la manière dont les objets sont connectés entre eux, c'est-à -dire la topologie, en particulier dans des systèmes de réseaux, on peut penser par exemple à un réseau de cours d'eau, on aimerait savoir dans quel sens l'eau s'écoule et comment les différentes rivières sont connectées les unes aux autres. [MUSIQUE] [MUSIQUE] Si on se penche maintenant sur les enjeux du stockage de données et sur le type de supports utilisés, on peut relever que l'objectif premier du stockage, c'est la persistance des données. Une donnée est dite persistante si lorsqu'elle a été ajoutée à un support, elle reste accessible tant qu'elle n'a pas été explicitement supprimée. Au-delà de la persistance, ce qui nous intéresse, c'est la structuration des données qui constitue un aspect très fondamental, ce que l'on peut bien comprendre au travers de l'exemple qui suit. On retrouve sur cette image les parcelles de tout à l'heure avec quelques données supplémentaires concernant leurs propriétaires, le nom, le prénom et le numéro de téléphone. Chaque parcelle a un propriétaire et plusieurs parcelles peuvent avoir un même propriétaire, ce qui conduit à répéter des détails relatifs au propriétaire pour chaque parcelle avec des risques d'erreurs lors notamment des mises à jour par exemple. Pour éviter ces erreurs, il faut séparer en fait les données concernant les parcelles des données concernant les propriétaires et établir un lien entre ces deux jeux de données par le biais d'un identifiant. Nous reparlerons plus en détail de cette structuration des données dans la leçon numéro 2 de ce cours qui portera sur précisément la structuration et la modélisation des données. Parmi les autres enjeux du stockage des données, il y a la centralisation de l'accès aux données, pour des raisons de sécurité. Lorsqu'on on a des données confidentielles, on aimerait éviter de les disperser sur un grand nombre de supports dans des lieux différents. Et pour des raisons d'intégrité, plus on multiplie les versions d'une base de données, et plus il y a des risques que ces données deviennent disparates et ne soient plus conciliables. Finalement, les fonctionnalités de gestion sont également un enjeu important puisque l'on aimerait lorsque l'on veut ajouter, modifier ou rechercher des données dans une base de données, éviter de reprogrammer la chose et utiliser les outils existants dans les logiciels dédiés. [MUSIQUE] Si l'on examine maintenant les enjeux du stockage de données en relation avec les différents types de supports que l'on peut envisager d'utiliser, on voit que du point de vue de la persistance, le stockage en fichiers simples est tout à fait suffisant et si l'on souhaite ajouter une possibilité de structurer les données, il faut passer à un format un peu plus élaboré, celui de fichiers structurés. Donc, nous verrons dans la suite de cette leçon des exemples de fichiers simples et de fichiers structurés. Les éléments base de données pour la structuration seront abordés plus en détail dans la suite du cours. La question de la centralisation des accès nous amène à celle de l'architecture client-serveur avec une base de données ou des fichiers indépendants logés, hébergés sur un serveur central accessible par une multitude de clients. La question des fonctionnalités de gestion nous amène aux systèmes de gestion de bases de données disponibles sur le marché. Dans la suite de cette leçon, nous allons maintenant nous concentrer donc sur le stockage en fichiers simples et le stockage en fichiers structurés en prenant divers exemples de formats qui sont utilisés dans ce cadre. Le premier de ces formats de stockage en fichiers simples connu sous le nom de Well Known Text ou wkt est un format tout à fait transparent puisqu'il est lisible, c'est un simple fichier texte ASCII qui contient en fait les géométries décrites par un mot clé, le point linestring polygon et puis la succession des coordonnées des différents sommets qui le composent, des paires de coordonnées des sommets qui le composent. Les six formes géométriques de base qui sont listées ici sont généralement reconnues par tous les logiciels, systèmes d'informations géographiques, ce qui rend ce format extrêmement flexible et polyvalent. Dans QGIS, le format Well Known Text peut être testé à l'aide d'une extension qui s'appelle QuickWKT. Cette extension propose une fenêtre dans laquelle on peut saisir un string Well Known Text, donc le type de géométrie et les coordonnées des points qui le composent, ici un point qui se situe quelque part dans l'océan Indien, à proximité de l'île de Mahé. aux Seychelles. Un point et une ligne qui sont ajoutés en fait à la carte. L'ajout de ces éléments crée de nouvelles couches que l'on peut ensuite supprimer lorsqu'on n'en a plus besoin. Une autre manière de, d'utiliser le WKT dans QGIS, c'est de créer un fichier texte dans lequel on va ajouter en fait dans la première ligne les en-têtes des différentes colonnes qui composent les données avec le mot clé WKT qui désigne la colonne contenant les coordonnées des points. Et puis ensuite les différents attributs de la couche, ici les hôtels des Seychelles. Et on voit maintenant que l'on peut importer cette couche, donc on ajoute une couche de type vectoriel, on sélectionne le format CSV, il faut préciser le système de projection utilisé, en l'occurrence UTM 40 Sud, et la couche est ajoutée. Cette couche peut également être enregistrée au format WKT en précisant un fichier de type CSV, donc séparé par des virgules, et en précisant que la géométrie doit être décrite sous forme WKT. Le deuxième type de format de fichiers simples qu'il faut connaître, c'est le shapefile ESRI qui est devenu un standard de fait puisqu'il est utilisé, ou en tout cas reconnu par quasiment tous les logiciels de SIG. Ce format shapefile est en réalité constitué de plusieurs fichiers dont trois sont indispensables, le .shp qui contient les entités géographiques, le .dbf qui contient les données attributaires et le .shx qui contient un index des entités géographiques. A cela s'ajoute une série de fichiers accessoires, en particulier le .prj qui contient les paramètres du système de projection et d'autres encore. Dans l'exemple qui est montré ici, nous avons préparé plusieurs séries de fichiers shapefile ESRI et dans un premier temps, on montre qu'un fichier dbf peut être ouvert par un logiciel tableur, en l'occurrence LibreOffice, puisque c'est un fichier en fait qui contient des données sous forme de tables attributaires. Dans le deuxième jeu de données, on a ajouté le fichier shx et dans le troisième le fichier prj qui contient donc les paramètres du système de projection. On voit que ensuite dans QGIS, si l'on veut ajouter une couche de données vectorielles de type shapefile ESRI, on choisit d'ajouter une couche vecteur et on voit que si on sélectionne le premier cas de figure où il manque le fichier shx, en fait l'importation échoue avec un message d'erreur qui permet de se convaincre que si les trois fichiers ne sont pas présents, ça ne va pas fonctionner. Dans le deuxième exemple ici, on prend le second cas où nous avons les trois fichiers mais pas le fichier de projection. L'importation se fait mais on doit préciser le système de projection avant de pouvoir ajouter la couche sur la carte. Et finalement dans le troisième exemple, lorsque l'on a les trois fichiers de base plus le fichier de projection, qui est l'exemple C, on voit que l'importation se fait directement dans le logiciel. Le troisième type de format de fichier standard simple que l'on souhaitait aborder aujourd'hui, c'est le DXF Autocad qui est un format également très répandu puisque ça constitue un standard dans le monde des architectes et des urbanistes. Il est important de savoir qu'il s'agit, non pas d'un format de fichier SIG mais d'un format de DAO, donc de dessin assisté par ordinateur, et en fait, ce format ne contient ni attributs, ni système de projection, ni symbologie. En fait, il se résume uniquement à des géométries simples, des points, des lignes, des polygones, et à des écritures, le tout étant stocké en vrac dans un seul fichier. Dans cet extrait vidéo, on montre tout d'abord que un fichier DXF est un fichier dessin qui peut être ouvert par un logiciel de dessin, en l'occurrence, LibreOffice de nouveau et on voit que si pour la région de Dakar, si on zoome sur la région de l'aéroport, on a l'ensemble des éléments du plan directeur de la région. L'importation d'un fichier DXF dans QGIS passe par la définition du système de projection, et puis par la sélection en fait du type d'entités présentes dans le fichier que l'on souhaite importer, ici on choisit d'importer tout, points, lignes, polygones, écritures et puis ces éléments s'affichent en vrac. Nous abordons maintenant la question du stockage dans des fichiers structurés. Nous retrouvons l'image de tout à l'heure avec une ferme composée de plusieurs parcelles, de plusieurs champs et d'une série de bâtiments, chacun avec des caractéristiques différentes. Dans une approche basée sur des fichiers simples, on utiliserait deux fichiers de type well known text ou shapefile ESRI pour stocker la géométrie et les attributs des champs et des bâtiments et un fichier d'attributs pour caractériser les différentes fermes qui serait un fichier de type .csv ou .dbf. Une alternative à cette approche consiste à utiliser des fichiers structurés de type XML, donc des fichiers par balises où dans l'exemple que l'on voit ici, on a une collection de fermes en jaune qui contient des objets ferme contenant eux-mêmes des collections de bâtiments et des collections de champs et de manière hiérarchisée, on aboutit en fait à intégrer l'ensemble de l'information dans une seule structure de données. Alors, nous allons voir maintenant deux exemples de fichiers de type structuré. Nous retrouvons dans QGIS la couche des hôtels de l'île de Mahé que nous exportons. On choisit un format géographique Markup Language, format GML qui est un format de fichier structuré. On corrige deux, trois paramètres d'exportation et puis dans la foulée, on exporte le même, la même couche de données dans un autre format structuré qui est le GeoJSON, également sous le nom d'hôtels avec une extension cette fois différente. Si l'on regarde maintenant à quoi ressemblent ces fichiers en commençant par le GeoJSON, à l'aide d'un éditeur de fichiers JSON de types, on voit qu'on a une structure hiérarchique avec tout d'abord les propriétés du système de projection puis les différents objets. Donc, la géométrie et les coordonnées de l'hôtel puis les différents attributs en liste. Cette représentation hiérarchique peut aussi être visualisée sous format texte avec pour chaque élément en fait, les informations stockées sur une seule ligne. Le fichier GML a une structure similaire. C'est donc un dérivé du XML et on peut également le consulter sous forme de structure hiérarchique avec ici d'abord le bounding box avec les coordonnées de l'ensemble de la couche et puis pour chaque élément, les différentes caractéristiques, géométrie, attributs, etc. Et, comme tout à l'heure, on peut également switcher vers une version texte de ce fichier qui reproduit donc le langage par balise où l'on retrouve notamment la géométrie de l'objet. [MUSIQUE] Il est temps de passer maintenant au mode raster. Les coordonnées xy de l'origine de la grille et la taille des pixels permettent de stocker les coordonnées de la cellule auxquelles il faut ajouter les paramètres du système de projection bien évidemment. Les valeurs de la grille elle-même au travers d'une table de correspondance fournissent les valeurs de la variable finale que l'on souhaite enregistrer. [MUSIQUE] [MUSIQUE] Dans le cas du monde raster, les enjeux de stockage des données sont les mêmes que pour le monde vectoriel mais les conséquences et le type de supports sont assez différents. Du point de vue de la persistance en fait, le stockage en fichiers simples sous forme d'image ou de grille fait tout à fait l'affaire. La question de la structuration ne se pose pas vraiment dans la mesure où on a des fichiers ou des structures xyz qui sont simples. L'aspect de la centralisation des accès joue un rôle. C'est vrai qu'il est intéressant d'avoir ces fichiers raster stockés sur un serveur dans une architecture client serveur. Et puis finalement du point de vue fonctionnalités de gestion, on a des systèmes de gestion de bases de données qui offrent des fonctionnalités spécifiques à la gestion des rasters et c'est là quelque chose qui es très intéressant. [MUSIQUE] [MUSIQUE] Les formats grille utilisés pour le stockage de rasters se composent de formats matriciels qui en fait sont constitués d'un en-tête suivi d'un contenu. Alors, on a ici des exemples d'une grille ASCII ESRI avec ensuite une grille Surfer également sous format ASCII donc en fichier texte. On voit que les mêmes données sont présentées sous forme matricielle après un en-tête de cinq ou six paramètres qui caractérisent en fait la taille de la grille, les coordonnées du point origine, etc. La format liste, xyz, donc trois colonnes simplement pour décrire l'ensemble de ces données dans un format .text, .csv, .dat est aussi un grand classique. Les formats images sont également des formats matriciels constitués d'un en-tête contenant les paramètres descriptifs de l'image suivis d'un contenu sous forme de tableau. Les principaux formats images utilisés sont le tif, le jpg, le png et le gif. L'information colorimétrique peut être stockée sous deux formes : soit les différentes composantes de base de chaque pixel, rouge, vert, bleu ou éventuellement la transparence, sont stockées, soit on stocke une palette de l'ensemble des couleurs présentes dans l'image et pour chaque pixel, on stocke le numéro d'index de sa couleur dans la palette. Nous avons ici un exemple de deux couches raster, une image et un fond de carte, qui illustrent ces deux modes de stockage de l'information colorimétrique. Tout d'abord, pour l'image, si l'on regarde ses propriétés, on voit que nous avons une série de bandes correspondant au rouge, au vert et au bleu qui composent la colorimétrie de l'image. Et si l'on désactive l'une ou l'autre de ces couleurs, en fait seules restent les deux autres et cela permet de voir qu'en fait, on a dans ce type de format de stockage en fait trois images superposées qui donnent l'image de couleur finale. Dans le cas du fond de plan, on a l'autre alternative, une palette de couleurs dont seules les premières sont en fait utilisées. On voit qu'on peut changer l'une de ces couleurs, ici le vert des forêts, d'un vert un peu fluo vers un vert plus sombre, que l'on applique ou le bleu du lac également dans une teinte plus sombre, ce qui permet de manipuler en fait de manière globale la palette de couleurs de cette carte. Finalement, l'information de positionnement de l'image peut se trouver soit dans l'en-tête d'un fichier tif et on parle alors de forma GeoTiff, soit dans un world file qui accompagne le fichier image avec les extension tfw, jgw, etc. [MUSIQUE] [MUSIQUE] Ces éléments ont déjà été expliqués dans la leçon portant sur le géoréférencement du premier module de ce cours et nous vous invitons à consulter cette leçon pour davantage d'informations. [MUSIQUE] [MUSIQUE]