Projet:Communes de France/Nouveaux modèles de listes/Procédure d’actualisation

Procédure d'actualisation des tables associées au module Composition Division de France modifier

  1. télécharger le fichier Table d'appartenance géographique des communes depuis https://www.insee.fr/fr/information/2028028
  2. vérifier que la liste des communes commence en ligne 7 de la feuille COM (sinon, adapter les formules plus loin) et est triées par CODGEO
  3. ajouter une nouvelle feuille nommée Feuil1 (nom par défaut sur Excel 2007 en français)
  4. sélectionner la première colonne et indiquer un format de nombre texte
  5. générer la liste des identifiants Wikidata à partir de https://query.wikidata.org avec la requête (adapter la date si nécessaire) :
    SELECT ?insee (REPLACE(STR(?item),".*Q","Q") AS ?id)
    WHERE {
      BIND ( "2021-01-01"^^xsd:dateTime as ?dateQuery )
      ?item p:P31 ?nature.
      { ?nature ps:P31 wd:Q484170. }                           # commune de France
      UNION { ?nature ps:P31 wd:Q2989454. }                    # commune nouvelle
      UNION { ?nature ps:P31 wd:Q22927616. }                   # commune française à statut particulier
      OPTIONAL { ?nature pq:P582 ?dateFin }
      OPTIONAL { ?item wdt:P576 ?dateFin. }                    # date dissolution
      FILTER ( !BOUND(?dateFin) || ?dateFin > ?dateQuery )
      OPTIONAL { ?nature pq:P580 ?dateDébut }
      OPTIONAL { ?item wdt:P571 ?dateDébut. }                  # date création
      FILTER ( !BOUND(?dateDébut) || ?dateDébut < ?dateQuery )
      FILTER ( !STRSTARTS(?insee, "98") )                      # - Polynésie
      FILTER ( !STRSTARTS(?insee, "975") )                     # - Saint-Pierre et Miquelon
      ?item wdt:P374 ?insee.
    }
    ORDER BY (?insee)
    
  6. télécharger le résultat de la requête au format tsv ou cvs
  7. coller le contenu de ce fichier dans la feuille 1
  8. si nécessaire (cvs), passer par Données / Convertir / Délimité / Tabulation et virgule / Texte
  9. ajouter dans les colonnes C (doublons) et D (existe dans le COG) les formules (données pour la ligne 2)
    • =OU(A2=A3;A2=A1)
    • =RECHERCHEV(A2;COM!$A$7:$A$36000;1;VRAI)=A2
  10. vérifier qu'il n'y a pas de doublons, et que toutes les communes de la requête sont dans le COG
  11. corriger Wikidata si ce n'est pas le cas et recommencer
  12. ajouter à la table des communes de l'onglet COM les colonnes QID, QID ? et DATA avec les formules (pour la ligne 7)
    • =SI(RECHERCHEV(A7;Feuil1!A:A;1)=A7;RECHERCHEV(A7;Feuil1!A:B;2);NA()) (équivalent de =RECHERCHEV(A7;Feuil1!A:A;1;FAUX) à condition que la colonne A est triée par ordre croissant, mais bien plus rapide)
    • =ESTNA(R7) (permet de vérifier qu'il n'y a pas de valeur #NA dans la colonne précédente, le filtre montrant un nombre limité de valeur)
    • ="["""&A7&""","""&B7&""","""&C7&""","""&G7&""","""&H7&""","""&E7&""","""&J7&""","""&M7&""","""&R7&"""]," (respectivement les colonnes CODGEO, LIBGEO, DEP, ARR, CV, EPCI, UU2020, AAV2020 et QID) ; cette colonne peut être ajouté ou remplie après l'étape 14 pour réduire les problème de performance
  13. vérifier que toutes les lignes ont un QID (grâce à la colonne QID ?)
  14. corriger Wikidata si ce n'est pas le cas et recommencer
  15. sélectionner la région 44 (Grand Est)
  16. aller sur Data:Sandbox/Zebulon84/Communes Grand Est.tab, cliquer sur créer (ou modifier si la page existe déjà)
  17. copier le code JSON
    {
        "license": "CC0-1.0",
        "description": {
            "date": "2021-01-01",
            "en": "List of communes of the French region Grand Est",
            "fr": "Liste des communes de la région Grand Est"
        },
        "sources": "[https://www.insee.fr/fr/methodes/nomenclatures/cog/ Code Officiel Géographique] et [[w:fr:Projet:Communes de France/Nouveaux modèles de listes]]",
        "schema": {
            "fields": [
                {
                    "name": "code",
                    "type": "string",
                    "title": {
                        "fr": "Code Insee"
                    }
                },
                {
                    "name": "name",
                    "type": "string",
                    "title": {
                        "fr": "Nom de la commune"
                    }
                },
                {
                    "name": "dep",
                    "type": "string",
                    "title": {
                        "fr": "département"
                    }
                },
                {
                    "name": "arr",
                    "type": "string",
                    "title": {
                        "fr": "Arrondissement"
                    }
                },
                {
                    "name": "cv",
                    "type": "string",
                    "title": {
                        "fr": "Canton"
                    }
                },
                {
                    "name": "epci",
                    "type": "string",
                    "title": {
                        "fr": "Intercommunalité"
                    }
                },
                {
                    "name": "uu2020",
                    "type": "string",
                    "title": {
                        "fr": "Unité urbaine 2020"
                    }
                },
                {
                    "name": "aav2020",
                    "type": "string",
                    "title": {
                        "fr": "Aire d'attraction 2020"
                    }
                },
                {
                    "name": "qid",
                    "type": "string",
                    "title": {
                        "fr": "Identifiant Wikidata"
                    }
                }
            ]
        },
        "data": [
    ["","","","","","","","",""]
        ]
    }
    
  18. remplacer si nécessaire le nom de la région et la date des données dans le champ description
  19. copier toutes les lignes de la dernière colonne du fichier Excel et les coller dans le JSON à la place de la ligne de data vide
  20. supprimer la dernière virgule du texte qui vient d'être collé
  21. enregistrer
  22. recommencer à l'étape 15 pour les autres régions

Le fichier résultant pour 2018 (sur dropbox, 4.7 Mo)