NSI : importer et traiter un fichier json

On désire réaliser une carte avec le module Folium affichant les parkings vélos mis à disposition des usagers des transports publics sur la métropole de Lille.

Méthode 1

On peut utiliser une API pour récupérer les données à partir de la page : https://opendata.lillemetropole.fr/explore/dataset/ilevia-abrisvelos/information/

on utilisera alors le code suivant :

import requests
parking_velos=requests.get("https://opendata.lillemetropole.fr/api/records/1.0/search/?dataset=ilevia-abrisvelos&q=&facet=nom&facet=codepostal&facet=commune&facet=modeabri").json()

Méthode 2

On peut récupérer un fichier json sur la page : https://opendata.lillemetropole.fr/explore/dataset/ilevia-abrisvelos/export/

Le fichier :

https://labodemaths.fr/NSI/stations_velo_ilevia/ilevia-abrisvelos.json

1. Mise en place

  • Créer un dossier Tp_json_parking_velos
  • Y enregistrer le fichier précédent avec le nom : ilevia-abrisvelos.json
  • ouvrir un nouveau fichier python et l’enregistrer dans votre dossier avec le nom tp_json_parking_velos.py

2. Comment ouvrir et traiter un fichier json en python

Copier et coller le code suivant dans votre programme python :

import json

with open('ilevia-abrisvelos.json') as json_data:
    mes_donnees = json.load(json_data)

Exercice 1

Aprés avoir exécuté le code ci-dessus, utiliser la console pour répondre aux questions suivantes :
1. Quelle est le type de la variable mes_donnees ?
2. Combien d’éléments contient-elle ?
3. Quel est le type de chacun des éléments de mes_donnees ?
4. Déterminer l’adresse et le nom de la première station de nos données ainsi que sa géolocalisation.

Travaux Pratiques :

En vous inspirant du dernier tp réalisé avec Folium sur la géolocalisation de la zone terrestre survolée par la station spatiale ISS, écrire un programme permettant de générer une carte au format html permettant de situer les parkings vélos mis à disposition de ses usagers par Ilévia dans la métropole de Lille. On affichera le nombre de places disponibles pour chaque station.