API de matrice de distance Google | Utiliser l'API pour collecter des données et effectuer des analyses

Contenu

Avis important avant de plonger dans le code; nous supposons que le développement de ces quartiers peut être identifié par la taille de la famille. Bien sûr, ce n'est pas vrai à cent pour cent, cependant, pour ce cas, nous faisons cette hypothèse.

S'il vous plait, ne vous enlisez pas dans les significations théoriques, le but de cet article de blog est d'extraire avec succès des données et d'effectuer une analyse de données dessus. Il ne s'agit pas d'essayer quelque chose pour de vrai.

2. Extraire les données

Extrayons les données de la plateforme de données ouvertes de la municipalité d'Istanbul (ibb) avec sur API. Vous pouvez trouver plusieurs ensembles de données ouvertes de la municipalité d'Istanbul.

Allez au lien des données ci-dessous et cliquez sur le bouton ‘API de données’.

https://data.ibb.gov.tr/en/dataset/ilce-bazli-ortalama-hane-halki-buyuklugu/resource/25077460-ddfb-45b6-b32c-4615f0ad2d57?view_id=c369d9ea-237e-448a-b6ea- cca1e803f98f

1078kh12ovk7q7cawjhzalw-1401920

Lorsque nous cliquons sur le bouton Data API, cette fenêtre s'ouvre, nous allons copier le lien dans le rectangle rouge ci-dessous et le coller dans notre code.

1s1zmq3v-zbtj-iycawmcg-6198214

Après cela, nous supprimerons ‘$ top = 5 &’ pour extraire toutes les données, pas seulement le premier 5. Vous pouvez voir ci-dessous le code pour extraire les données du site Web et les modifier au format de trame de données à l'aide de pandas.

URL = 'https://data.ibb.gov.tr/datastore/odata3.0/25077460-ddfb-45b6-b32c-4615f0ad2d57?$format=json' #URL de la taille de la famille selon les quartiers
def pulldataToDataframe(URL):
 requête = urllib.request.urlopen(URL) # Connexion API
 données = json.charges(requête.lire().décoder()) # Passer au type json
 données = données.get("valeur") # Obtenir uniquement la valeur des données
 retourner pd.DataFrame(Les données) # Passer au cadre de données
df = df.drop(colonnes="_id") # Suppression de la colonne id
df = pulldataToDataframe(URL)
imprimer(df.colonnes)

Nous avons extrait les données et les avons déplacées dans le bloc de données. Voyons le 5 Donnée principale.

df.head() #Dataframe 1ère colonne: Les quartiers, 2ème colonne: taille de la famille selon les quartiers
1xjqciikxjhnsplbxwyo2xw-4121939

Istanbul a 2 les pièces; Européen et Asiatique. Nous utiliserons Kadikoy pour le centre de la partie asiatique et Besiktas pour la partie européenne. On sépare les quartiers pour la partie asiatique (liste_kadikoy) et la partie européenne (liste_besiktas)

liste_kadikoy = ['Kadikoy', 'Aigle', 'Silé', 'Uskudar', 'Pendik', 'Umraniye', 'Maltepe', « Sultanbeyli », « Tuzla », 'Ataşehir', 'Cekmekoy', 'Sancaktepe', 'Beykoz']
liste_besiktas = [« Besiktas », 'Bakirkoy', 'Beyoglu', 'Catalca', 'Travail', 'Conquérant', 'Gaziosmanpasa', 'Sariyer', 'Silivri', 'Brumeux', 'Zeytinburnu', 'Buyukcekmece', 'Kagithane', 'Küçükçekmece', 'Bayrampasa', 'Chasseurs', 'Baccilar', « Arnuvutköy », 'Basaksehir', 'Beylikduzu', 'Esenyurt', 'Sultangazi', 'Esenler', 'Gungoren', 'Bahcelievler']
kadikoy_dist = []
besiktas_dist = []

3. API de GOOGLE

Bien, Voyons maintenant la partie de l'API Google. De nombreuses API sont disponibles pour une utilisation sur Google Cloud Platform. Vous pouvez les consulter ici: https://cloud.google.com/

1y1juphnzpfttmssmc1j3vw-1692172

Vous devez créer votre compte et demander une clé API. c'est bien expliqué ici; https://developers.google.com/maps/documentation/javascript/get-api-key

1qatudoj1zqw5t2rqqowlua-6566093

J'ai téléchargé les API ci-dessous. Cependant, Comme vous pouvez le voir, J'utilise uniquement l'API de tableau de distance et l'API d'utilisation de service. Je vous recommande également de télécharger les API JavaScript de géocodage, géolocalisation, endroits, itinéraires et cartes. Si vous souhaitez travailler avec des données de GoogleMaps.

1upjxmshtvwvolid3h-10qq-6870988

Voyons maintenant le code de la façon dont nous utilisons l'API. Dans les commentaires du code ci-dessous, je pense que c'est bien expliqué.

demandes d'importation, json
api_key ='QsatasdjıgwedSDFJW-A1lkjasdbUQ' #Vous devez mettre votre clé api ici
 
# URL variable store url 
url = ‘https://maps.googleapis.com/maps/api/distancematrix/json?'
#Pour chaque quartier de la partie asiatique, on trouve sa distance entre
#(kadikoy) et ajoutez notre liste 'kadikoy_dist'.
pour dest dans kadikoy_list:   
    source = 'kadiköy'
    r = requêtes.get(URL + 'origines=' + la source +
    '&destinations=’ + destin +
    '&clé=’ + clé API)
    kadikoy_dist.append(r.json()['Lignes'][0]['éléments'][0]['distance']['valeur'])
#Pour chaque quartier de la partie européenne, on trouve sa distance entre
#(besiktas) et ajoutez notre liste 'besiktas_dist'.
pour dest dans besiktas_list:
    source = « besiktas »
    r = requêtes.get(URL + 'origines=' + la source +
    '&destinations=’ + destin +
    '&clé=’ + clé API)
    besiktas_dist.append(r.json()['Lignes'][0]['éléments'][0]['distance']['valeur'])

Comme tu peux le voir, nous avons extrait les données des districts, taille moyenne de la famille avec l'API de données ibb, et nous avons généré une nouvelle fonction avec l'API de matrice de distance de l'API Google et l'avons nommée colonne Distances.

1vzmr1yhg4xee_ylx2wpqzw-7904585
Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.

Haut-parleur de données