Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

explication #153

Closed
Lambert2487 opened this issue Jun 26, 2023 · 10 comments
Closed

explication #153

Lambert2487 opened this issue Jun 26, 2023 · 10 comments

Comments

@Lambert2487
Copy link

Je suis en alternance à la DREAL NA et je dois automatiser la récupération de certains fichiers insee tels que la BPE, les déplacements domicile-travail et la population légale.

J'ai regardé le replay d'une réunion zoom :

https://ssphub.netlify.app/talk/presentation-des-packages-r-et-python-pour-acceder-a-lopen-data-de-linsee/

Un certain Hadrien Leclerc parlait de l'API pynsee.

J'aurai aimé avoir quelques informations supplémentaires sur ce sujet :

Est-ce que l'API est mise à jour sachant qu'elle reprend doremifasol qui n'est lui-même pas à jour et que l'insee est en train de préparer MELODI ?

Est-il possible de récupérer tout les fichiers que je veux ou seulement une partie ?

Merci d'avance pour vos réponses.

@hadrilec
Copy link
Contributor

hadrilec commented Jun 26, 2023

Bonjour @Lambert2487 ,

je ne sais pas quand MELODI sera prêt donc que je dirais qu'on peut le mettre de côté pour l'instant.

Avec le module pynsee.download tous les fichiers de doremifasol sont disponibles, la fonction get_file_list te permet d'obtenir la liste. Pour l'instant des fichiers concernant BPE, la mobilité ou le recensement sont bien disponibles cf exemple ci-dessous.

from pynsee.download import get_file_list

meta = get_file_list()

meta[meta.id.str.contains('BPE|MOB|RP_')]

Ensuite, avec la fonction download_file tu peux télécharger les données. Un exemple sur la date de construction des logements issue du recensement est disponible ici.

Concernant les populations légales, elles peuvent être récupérées via le module pynsee.localdata.
L'API est cependant une peu lent lorsqu'il s'agit de collecter les données.

from pynsee.localdata import get_local_metadata

metadata = get_local_metadata()

metadata[metadata.DATASET_VERSION.str.contains('POPLEG')]

Un exemple sur la pauvreté en IDF est disponible ici

La disponibilité des fichiers dépend de leur présence dans le fichier json de doremifasol.
L'idéal serait donc que si un fichier n'est pas disponible, tu cherches son lien sur insee.fr puis tu fais une issue sur doremifasol en indiquant l'url à utiliser pour trouver la donnée manquante. Se faisant tu vas enrichir le catalogue, et grâce à l'aide généreuse des mainteneurs de doremifasol, tu rendras ces fichiers disponibles pour tous via doremifasol et pynsee. Il est donc important de faire ce travail de recensement des fichiers manquants et d'inclusion de ces fichiers dans doremifasol.

Merci d'avance, n'hésite pas à poser des questions si nécessaire ;)
Tiens moi au courant de tes avancées
Bonne journée

@Lambert2487
Copy link
Author

je ne comprends pas vraiment comment récupérer le dernier fichier à jour pour la population légale avec ce code :

from pynsee.localdata import get_local_metadata

metadata = get_local_metadata()

metadata[metadata.DATASET_VERSION.str.contains('POPLEG')]

j'obtiens ce genre de sortie :

       VARIABLES    UNIT  ... DATA_DATE                   DATASET_label_fr

3543 IND_POPLEGALES POPMUN ... 2018.0 Populations légales (issue du RP)
3544 IND_POPLEGALES POPCAP ... 2018.0 Populations légales (issue du RP)
3545 IND_POPLEGALES POPTOT ... 2018.0 Populations légales (issue du RP)
3546 IND_POPLEGALES POPMUN ... 2017.0 Populations légales (issue du RP)
3547 IND_POPLEGALES POPCAP ... 2017.0 Populations légales (issue du RP)
3548 IND_POPLEGALES POPTOT ... 2017.0 Populations légales (issue du RP)
3549 IND_POPLEGALES POPMUN ... 2016.0 Populations légales (issue du RP)

N'y a-t-il pas une fonction équivalente à download_file que je pourrai utiliser pour récupérer POPLEG2018 par exemple ?

De plus, je n'arrive pas à trouver de doc concernant les déplacements domicile travail, j'ai essayer de placer RP_MOBPRO_2017 dans un fichier txt mais il y a plusieurs millions de lignes, c'est très long à récupérer.

@Lambert2487
Copy link
Author

le fichier domicile travail que je veux récupérer provient de cette page : https://www.insee.fr/fr/statistiques/6454112#consulter

@hadrilec
Copy link
Contributor

avec les paramètres issus de get_local_metadata tu peux faire la requête, exemple ci-dessous avec les identifiants COG pour les villes de Paris et Marseille.

from pynsee import *
pop = get_local_data(dataset_version='POPLEG2018',
                       variables =  'IND_POPLEGALES',
                       nivgeo = 'COM',
                       geocodes = ['75056', '13055'])

Les identifiants COG des communes peuvent être récupérés comme suit:

from pynsee import *
comm = get_geo_list('communes')

Concernant les donnees mobilites, tu peux faire 'Copier lien', tu devrais obtenir ce lien : https://www.insee.fr/fr/statistiques/fichier/6454112/base-xlsx-flux-mobilite-domicile-lieu-travail-2019.zip

puis tu peux faire une issue en suivant ce modele:
InseeFrLab/DoReMIFaSol#80

pour la doc, si tu cliques sur l'onglet Documentation, tu devrais pouvoir trouver ceci:
https://www.insee.fr/fr/statistiques/fichier/6454112/fiche-depl-dom-travail.pdf

@Lambert2487
Copy link
Author

j'obtiens la sortie suivante lorsque j'exécute la requête contenue dans get_local_data :

CODEGEO OBS_VALUE
0 75056 NaN
1 13055 NaN

mon objectif serait de récupérer les données population légale sur la Nouvelle-Aquitaine.
Ma requête devrait ressembler à ça :

pop = get_local_data(dataset_version='POPLEG2018',
variables = 'IND_POPLEGALES',
nivgeo = 'REG',
geocodes = ['75'])

Mais j'obtiens le même problème qu'avec la requête précédente :

CODEGEO OBS_VALUE
0 75 NaN

Pour la doc, je voulais parler de celle de l'api pynsee, l'utilisation du lien de téléchargement du fichier qu'on peut trouver sur le site de l'insee n'a aucun intérêt dans notre cas, notre but est de créer une routine qui chaque année lance le code python toute seule, ce code devra télécharger le dernier fichier CSV ou bien jeu de données en date pour la BPE, domicile-travail et population légale.

@hadrilec
Copy link
Contributor

concernant les requetes sur la poulation legale en effet l'API ne renvoie aucune valeur, je viens de tester sur api.insee.fr.
Je t'encourage a envoyer une question a INSEE contact info service car le probleme ne provient pas du package pynsee

@hadrilec
Copy link
Contributor

concernant la taille du fichier RP_MOBPRO_2017, je te conseille de charger la donnee dans Python, puis tu peux separer ta dataframe en plusieurs morceaux et creer un fichier pour chacun d'eux, cela facilitera la lecture.

Le dernier fichier csv dont tu parles, doit etre rentré manuellement dans le fichier JSON du package doremifasol, si tu le trouves sur insee.fr il est essentiel que tu fasses une issue sur le github du package pour rendre ainsi le fichier disponible pour tous

@hadrilec
Copy link
Contributor

dans la derniere version du package disponible sur la branche master, tu peux obtenir la derniere population legale disponible sur les communes (pour les regions et departements il y a un pb du coté insee comme mentionné plus haut). Exemple ci-dessous:

from pynsee import *
pop = get_local_data(dataset_version='POPLEGlatest',
        variables = 'IND_POPLEGALES',
        nivgeo = 'COM',
        geocodes = ['75056'])

@hadrilec
Copy link
Contributor

hadrilec commented Jul 11, 2023

Les populations légales ne sont pas diffusées a un autre niveau de granularité que la commune, je viens de recevoir ce message de l'INSEE le confirmant:

Bonjour,
Par rapport aux autres jeux de données, le jeu de données des populations légales a pour particularité de n’être diffusé qu’au niveau commune, ce qui explique l’absence de résultat sur d’autres niveaux géographiques.
Vous pouvez retrouver cette information dans l’onglet documentation du portail des api, Documentation population légales.

Cordialement
Pôle Offre de Données Locales
Service Etudes et Diffusion, Direction Régionale des Pays de la Loire Insee

@Lambert2487
Copy link
Author

D'accord, merci pour votre aide.

@tfardet tfardet closed this as completed Jul 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants