• Aucun résultat trouvé

D.2. Choix de Construction des Représentations Intermédiaires

D.2.4. Généralisation des Représentations Intermédiaires

Pour produire nos représentations intermédiaires, nous avons utilisé le logiciel Qgis1 et la plateforme GeOxygene2, tous deux disponibles en open source. Qgis est un logiciel SIG permettant la visualisation, l’analyse et le traitement de données géographiques, stockées dans notre cas dans une base de données PostGIS. Il fournit aujourd’hui de nombreux outils diversifiés et relativement puissants, partagés sous forme de plugins. L’automatisation de processus y est également possible, via des scripts python notamment. Grâce à une large communauté de géomaticiens comme de thématiciens, son utilisation est relativement documentée et facile d’accès. Nous avons essentiellement utilisé Qgis pour visualiser et analyser nos données sources, mais aussi pour opérer des traitements attributaires ou géométriques simples, comme la correction interactive des géométries invalides. GeOxygene est quant à elle basée sur des technologies Java et open source et reprend les standards OGC/ISO. Elle est développée de manière collaborative par les membres de l’équipe de recherche COGIT de l’IGN [Bucher et al., 2012]. Nous avons utilisé en particulier le module CartAGen3, qui capitalise les travaux de recherche en généralisation cartographique menés

1https://qgis.org/fr/site/forusers/index.html

2http://ignf.github.io/geoxygene/index.html

Juin 2018 131 au COGIT [Renard et al., 2010]. Nous cherchons ici à utiliser des algorithmes de généralisation déjà implémentés et relativement automatiques, pour limiter le temps de production de notre matériel de test. Néanmoins, nous nous autorisons à implémenter si nécessaire d’autres algorithmes, décrits dans la littérature, voire à réaliser certaines opérations manuellement si nous ne parvenons pas à obtenir un résultat automatique satisfaisant.

Nous avons ainsi eu accès à l’implémentation existante de nombreux algorithmes de généralisation, dont l’efficacité a déjà été démontrée dans la littérature. Cependant, ces algorithmes sont pour la plupart optimisés pour un modèle de données, une échelle et un contexte géographique en particulier. D’une part, il a nous a donc été nécessaire de créer un chargeur de données du format Scan Express dans le schéma de données standard utilisé par les algorithmes de CartAGen. Ce chargeur s’appuie sur un fichier XML, décrivant les correspondances entre les tables PostGIS de notre base de données sources et les classes d’objets Java du modèle CartAGen, ainsi que l’appariement des attributs PostGIS aux propriétés Java. Ce chargeur est donc relativement générique et peu s’adapter à n’importe quel schéma source, à condition de fournir le fichier XML adéquat. D’autre part, pour utiliser les algorithmes existants dans notre cas d’étude, nous avons dû parfois adapter leur paramétrage sinon leur implémentation, notamment à l’échelle visée. De plus, le temps d’exécution des algorithmes disponibles peut être très long et la taille de la zone géographique que nos machines sont capables de traiter est limitée. Notre zone d’étude dépasse ainsi ces capacités pour les algorithmes plus complexes, utilisés pour la généralisation du routier et du bâti. Nous avons donc choisi de la découper en trois parties, illustrées par la Figure 79 et traitées indépendamment dans le processus. Nous avons découpé notre zone selon le tracé de deux rivières, la Nivelle (à gauche) et la Nive (à droite). Cette séparation naturelle entre les différentes parties de la zone d’étude facilite la réconciliation des données généralisées a posteriori, car seuls les ponts routiers se retrouvent à cheval sur ces frontières. Cette stratégie suffit dans notre cas, mais sur une zone géographique plus étendue, il faudrait utiliser des méthodes de calcul distribué [Touya et al., 2017] qui permettent de lancer l’exécution d’un même processus sur plusieurs régions distinctes en parallèle.

Figure 79. Découpage (en violet) de notre zone d’étude en trois parties pour pallier aux limites des capacités des algorithmes de généralisation du routier et du bâti.

132 Marion Dumont D’une manière générale, bien que les algorithmes de généralisation que nous ayons utilisés soient généralement automatiques, leur enchainement a été fait manuellement. N’ayant pas de connaissances solides sur lesquelles nous appuyer pour leur paramétrage ou leur orchestration aux échelles intermédiaires, nous avons testé de nombreux paramétrages de chaque algorithme et différents enchainements d’algorithmes, pour obtenir un résultat final satisfaisant. Comme mentionné précédemment, nous avons choisi de dériver les représentations intermédiaires selon le principe de dérivation en échelle [Stoter 2005], c’est-à-dire l’une après l’autre, de la plus détaillée à la moins détaillée, pour préserver leur cohérence. Précisons ici que même si nous prenons le résultat du niveau intermédiaire précédent pour produire une nouvelle représentation, nous prenons également en compte les caractéristiques des données sources, par exemple la densité du bâti initial, pour éviter un effet de lissage au fil des échelles.

En termes d’évaluation, nous avons pris en compte les quatre contraintes énoncées précédemment dans cette thèse, que doit respecter le contenu de nos représentations intermédiaires :

être lisible sur l’intervalle d’échelles d’affichage visé ;

avoir un degré de généralisation adapté à l’intervalle d’échelles d’affichage visé ;

être cohérent avec les autres représentations existantes ;

évoluer de manière progressive au regard du contenu des autres représentations existantes. Le respect de la contrainte de lisibilité a été intégré directement dans l’implémentation de certains algorithmes, en paramétrant les tailles et distances minimales des objets en fonction de l’échelle. Une analyse visuelle nous a permis de compléter cette vérification, mais aussi de nous assurer de l’adéquation du degré de généralisation choisi vis à vis de l’intervalle d’échelles d’affichage visé, indépendamment pour chacune des représentations intermédiaires.

En ce qui concerne la contrainte de cohérence, le contenu d’une représentation intermédiaire doit être cohérent avec les représentations existantes à plus grande et plus petite échelle. Les objets présents dans la représentation intermédiaire doivent avoir un homologue dans la représentation existante à plus grande échelle (au 1 : 25k ici). Lorsque l’on produit plusieurs représentations intermédiaires, cette contrainte s’applique aussi avec la représentation intermédiaire précédente. Cette contrainte est vérifiée de fait par nos processus de généralisation puisque l’on repart systématiquement de celle-ci. A l’inverse, tous les objets présents dans la représentation existante à plus petite échelle (au 1 : 100k ici) doivent être préservés dans les représentations intermédiaires. Pour prendre en compte cette contrainte dans le processus de généralisation, nous devons apparier les objets entre les deux cartes existantes, pour détecter les objets homologues et les marquer comme devant être préservés. La difficulté réside ici dans la différence de niveaux de détail et de données sources entre ces deux cartes. Un processus d’appariement multicritères [Olteanu-Raimond et al., 2015] aurait sans doute été utile ici, mais il nous a semblé moins coûteux de vérifier cette contrainte a posteriori (§A.2.4), c’est-à-dire après avoir produit toutes les représentations intermédiaires. Nous avons ainsi identifié les objets présents au 1 : 100k qui avaient disparu dans les représentations intermédiaires et les avons restaurés. Nous avons appliqué cette méthode par manque de temps, mais il est clair qu’elle ne permet pas de prendre en compte la cohérence des changements appliqués, par exemple des déplacements d’objets. Pour affiner nos résultats, nous avons corrigé manuellement les erreurs de ce type que nous avons pu détecter.

Juin 2018 133 mesures analytiques pour affiner l’évolution du contenu de nos représentations intermédiaires. Nous avons par exemple calculé l’évolution de la longueur ou de l’aire totale des objets entre les différentes échelles. Ces indicateurs nous ont permis d’ajuster nos processus de généralisation, mais nous nous sommes essentiellement appuyés sur une analyse visuelle de la pyramide résultante pour valider la progressivité de simplification. Nous avons ainsi navigué d’une échelle à l’autre pour déterminer si les changements entre représentations nous semblaient réguliers. Lorsque ce n’était pas le cas, selon le coût de la modification, nous avons corrigé la généralisation du contenu cartographique en utilisant un nouveau paramétrage, modifié l’intervalle d’échelles d’affichage pour optimiser son adéquation avec le degré de généralisation ou bien simplement modifié la symbolisation des données pour affiner l’aspect visuel de la représentation. Il nous est donc ici apparu que ces trois leviers permettaient d’améliorer le résultat, tout en étant très liés. Pour produire une pyramide multi-échelle, il pourrait être intéressant pour un producteur cartographique de disposer d’une interface où l’on puisse jouer sur ces paramètres, à la volée. Malheureusement, les capacités de généralisation à la volée sont encore limitées à des algorithmes simples (filtrage de points, lissage de lignes). Dans notre cas, nous avons donc amélioré au mieux la qualité de nos résultats, dans la limite du temps disponible.

Nous avons donc choisi de produire trois représentations intermédiaires pour simplifier la transition existante entre nos cartes initiales au 1 : 25k et au 1 : 100k. Comme expliqué précédemment, nous avons choisi de produire plusieurs pyramides différentes en faisant varier la représentation du thème bâti, comme nous le présentons dans la partie §D.4. Pour chacun des autres thèmes que nous utilisons, dits invariants, nous présentons dans la partie suivante les choix de symbolisation et les processus de généralisation utilisés pour produire nos 3 représentations intermédiaires.