Projet:Communes de France/Section Géologie et relief/Bot
Cette page présente une méthode de rédaction automatique de la section géologie dans les articles des communes de France. Le texte peut ensuite être complété par des informations spécifiques en tant que de besoin.
Elle a été réalisée spécifiquement pour le Loiret, mais peut être adaptée à d’autres départements.
Observations liminaires
modifierCette page s’adresse principalement à @Poudou! Mais aussi à tout contributeur intéressé. Les préalables sont :
- bien maitriser le logiciel QGis ;
- avoir des connaissances minimales en géologie (c’est souhaitable) ;
- connaître un peu le VBA ou a minima les principes de programmation.
Le code est vraiment spécifique au Loiret. Tout doit donc être adapté en conséquence. Mais ce n’est pas complexe en soi.
Le code n’a pas été conçu ni présenté dans un but pédagogique. Il y aurait bien mieux à faire pour mieux appréhender le sujet, mais cela aurait pris plus de temps.
Communes éligibles au bot
modifierCommunes couvertes par un Siges
modifierCe code n’est utilisable en première intention que pour les départements couverts par le Siges (Système d’information pour la gestion des eaux souterraines). Certaines régions ont un système d’information différent. Or c'est sur le SIGES que le bot va récupérer à la volée les références de la ou des cartes géologiques concernant la commune, ainsi que leurs notices associées.
Communes non couvertes par un Siges
modifierPour les communes dans une région non couverte par un Siges (Aubergne-Rhône-Alpes ou PACA), la question n'est toutefois pas rédhibitoire. Au lieu d'une récupération à la volée, il faut alors passer par une table intermédiaire donnant pour chaque commune le ou les numéros de feuilles géologiques concernées.
La création de cette table relève toutefois du niveau expert de QGis. Il faut en effet :
- créer dans QGis un quadrillage de la région concernée, chaque point de la grille étant une commune sur laquelle se croisent des feuilles (ces communes étant identifiables en balayant quelques notices géologiques, le quadrillage étant identifié en bas de la première page de la notice) ;
- créer une intersection (géotraitement dans QGis) de ce quadrillage avec la couche des périmètres communaux ;
- récupérer les données de l'intersection en copiant la table d'attributs ;
- Faire quelques manips pour copier la ou les numéros de feuilles en vis-à-vis de chaque commune.
... Qui veut s'essayer ?!
Documents de travail
modifierContenu
modifierPour le texte, le contenu suivant a été retenu :
- un texte sur le bassin parisien (bon tout le Loiret est dans le bassin parisien, c’est donc facile). Pour un autre département, il faudra adapter le texte de ce premier paragraphe à la réalité gologique du département et le positionnement de la commune dans cet ensemble ;
- un texte sur les couches affleurantes de la commune : l'ère (ou les ères), les roches les plus anciennes et les plus récentes, renvoi vers les notices géologiques qui sont explicitement définies (récupération à la volée sur le Siges)
- un texte sur le relief et la superficie.
Fichier à télécharger
modifierRésultats
modifierPar exemple : Patay - Pers-en-Gâtinais - Pierrefitte-ès-Bois - Poilly-lez-Gien - Préfontaines - Pressigny-les-Pins - Puiseaux - Ramoulu - Rebréchien - Rouvray-Sainte-Croix - Rouvres-Saint-Jean - Rozières-en-Beauce - Rozoy-le-Vieil - Ruan
Adaptation à un autre département
modifierCartes communales géologiques (QGis)
modifierLa première des choses est de produire les cartes avec la fonction atlas de QGis.
Précisions : les tutoriels produits jusqu'alors préconisent de produire des cartes en .png, alors qu'un fichier en .svg est bien mieux (lisibilité, adapation à l'échelle). Ceci est dû au fait que dans certains cas, rarissimes, les fichiers en .svg sont très volumineux et dépassent les 10Mo admis en .svg sur Commons. Mais il vaut vraiment mieux avoir des fichiers .svg, d'autant que la cadence de production des .svg est semble-t-ilplus rapide qu'en .png.
Couches géologiques par communes (QGis)
modifierDans QGis faire l’intersection des deux couches suivantes qui doivent être toutes les deux en Lambert 93 (EPSG:2154):
- communes au 1er janvier de l’année (utiliser Admin express) ;
- géologie du département au 1/50 000ème
Pour l’intersection : vecteur / outils de géotraitement / intersection.
Observation : l’onglet outils de géotraitement peut ne pas apparaître par défaut dans le menu vecteur. Il faut alors l’activer dans Extensions / Installer-gérer les extensions / puis cocher la case processing.
Ouvrir la table des attributs, sélectionner et copier dans Excel. Supprimer la première colonne (périmètres) qui perturbe la mise en page. Ne garder en colonne que les variables : CODE_LEG, NOTATION, DESCR, NOM, INSEE_COM
Trier par ordre de code Insee. Cette page devient ainsi la feuille Liste du classeur final.
Feuilles dans Excel
modifierFeuille Liste
modifierOn a vu qu’elle venait de QGis.
Feuille Période
modifier- Avant de remplir complètement cette feuille, la première tâche est de disposer de la liste des CODE_LEG provenant de la feuille Liste (tri par Code_Leg puis élimination des doublons).
- remplissage à partir des descriptions
- wikification.
- actualiser la plage de valeurs du nom PERIODE.
Feuille Table
modifierCette feuille est le cœur du système. Elle présente en lignes les communes et en colonnes les couches géologiques.
Elle est établie à partir de la feuille Liste en utilisant le programme Dispatching (en VBA). Ce programme doit bien entendu être adapté selon les nombres de communes et de couches.
Noter que la colonne 5 est importante. Le nom de la commune doit être codé en Unicode.
Feuille Caissons
modifierIci aussi la feuille est spécifique au Loiret. En gris, les plages fixes ; En jaune, les caissons variables
Observation : Il n’y a que 6 lignes dans les caissons car dans le Loiret le nombre maximum est de 6. En cas de nombre supérieur, il faut déplacer la fin du caisson (lignes 78 et 79) autant que nécessaire et ajouter les lignes que l’on veut.
Précision : les codes qui apparaissent sur fond bleu ciel sont remplis automatiquement par le bot.
Il y a deux blocs correspondant aux ères (Cénozoïque et Mésozoïque), car il n’y a que ces deux ères dans le Loiret. Si d’autres ères sont présentes, il faut ajouter d’autres blocs conçus sur le même principe.
Feuille Table-Géol
modifierCette feuille présente la liste des notices géologiques (lignes 42 à 160).
Il n’existe pas de base de données de ces notices (c’est pour cela qu’elle est incomplète). Si le département n’est pas représenté, il faut récupérer le code de la notice en utilisant le Siges. Le tout est d’avoir au moins une notice pour le département. Exemple pour le Loiret, on part de Adon : https://sigescen.brgm.fr/?page=ficheMaCommune&codeCommune=45001
Puis en cliquant sur Carte géologique, on trouve que c’est la n° 400. On clique sur le lien Notice. Il suffit ensuite de savoir que les notices se succèdent d’ouest en est et du nord au sud. En une dizaine de clics on a toutes les notices. Précisions : les url du Siges sont dans la feuille Annexe lignes 60 à 69.
Actualiser la plage de valeurs du nom NOTICE.
Feuille PageRecup
modifierElle n’est là que pour récupérer le contenu de la page du SIGES et trouver ensuite automatiquement le numéro de la notice de la commune.
Feuille Code
modifierA adapter en fonction du texte retenu pour le département.
Code du bot
modifierOuvrir VBA
modifierPetit rappel pour ouvrir VBA :
- sur une version ancienne d'Excel : Outils / Macro / Visual Basic Editor
- sur une version récente d'Excel : Développeur / Visual Basic
Principes
modifierLe bot s’intitule Géologie.
A adapter en tant que de besoin.
Pour les caissons, j’aurais pu créer un sous-programme et ne garder dans le principal que les variables propres à chaque caisson. Mais c’est plus compréhensible pour une première approche.
Tâches préliminaires obligatoires
modifier- Créer une feuille test spécifique et remplacer l’url de le feuille de test, en remplaçant Roland45 par le nom d’utilisateur dans la ligne suivante :
IE.navigate https://fr.wiki.x.io/w/index.php?title=Utilisateur:Roland45/test1&action=edit - tant qu’on est en phase de test, neutraliser la ligne de chargement dans l’article proprement dit, sinon on peut générer des dégâts à grande échelle rapidement. Pour neutraliser mettre en début de ligne une apostrophe, la ligne apparaît alors en vert.
- tester, tester et retester. Pour cela faire des points d’arrêt avec des Goto FinCode et des MsgBox pour visualiser les variables qu’on veut tester.
Adaptation du texte
modifierLe premier paragraphe présente la localisation de la commune dans la ou les région(s) géologique(s) qui la concerne. Ces régions géologiques peuvent être récupérées sur la carte géologique au 1 000 000ème, variable région (faire dans Qgis une catégorisation par rapport à Région, on visualise immédiatement les régions, voir la carte de l'Ariège ci-après). Elles sont les suivantes : Alpes-Jura, Apennins, Ardenne-Hunsrück-Taunus , Atlantique, Avant-Pays alpin, Bassin d'Aquitaine, Bassin de Londres, Bassin de Paris, Brabant, Cornouaille, Corse, Formations superficielles, Graben du Rhin, Ibérie, Manche, Massif armoricain, Massif central, Méditerranée, Pyrénées, Vosges-Forêt noire.
Départements de plaine
modifierCas par exemple du Loiret ou de l'Essonne.
Noter que Fondations superficielles constitue en soi une région, même si elle concerne l'ensemble du territoire métropolitain. Ainsi le Loiret est concerné par deux régions : le Bassin parisien (= Bassin de Paris) et Formations superficielles (correspondant essentiellement au lit majeur de la Loire et du Loing). L'expression formations superficielles utilisée dans le texte recouvre toutefois un ensemble plus grand de couches, puisqu'il s'agit de l'ensemble des couches du Quaternaire (alluvions et colluvions), qui ne sont pas des roches.
-
Régions géologiques du Loiret.
-
Régions géologiques de l'Essonne.
Départements majoritairement de montagne
modifierBeaucoup de départements sont découpés en failles structurantes et impactant le paysage. Il est alors souhaitable de subdiviser la région en sous-régions. Pour les Pyrénées par exemple : zone axiale, nord-pyrénéenne, sous-pyrénéenne.
Cette information n'est (a priori) pas directement accessible dans la BD au 1/50 000eme mais peut être trouvée dans n'importe quel description de la géologique à l'échelle du département, de la région ou du massif. Le problème c'est qu'à un moment ou un autre, il faut ramener ceci à la commune!
Ci-contre le cas de l'Ariège.
Département mixte (Dordogne)
modifier- Massif central
- Bassin d'Aquitaine
- Formations superficielles