Google Distance Matrix-API | Verwenden Sie die API, um Daten zu sammeln und Analysen durchzuführen

Inhalt

Wichtiger Hinweis, bevor wir in den Code eintauchen; wir gehen davon aus, dass die Entwicklung dieser Stadtteile anhand der Familiengröße erkennbar ist. Natürlich, das ist nicht hundertprozentig wahr, aber trotzdem, für diesen Fall machen wir diese Annahme.

Bitte, bleib nicht in theoretischen Bedeutungen hängen, Der Zweck dieses Blogbeitrags ist es, Daten erfolgreich zu extrahieren und eine Datenanalyse durchzuführen. Es geht nicht darum, etwas wirklich auszuprobieren.

2. Daten extrahieren

Lassen Sie uns Daten aus der Open-Data-Plattform der Stadt Istanbul extrahieren (ibb) mit auf API. Sie können mehrere offene Datensätze der Gemeinde Istanbul finden.

Gehen Sie auf den unten stehenden Datenlink und klicken Sie auf die Schaltfläche ‚Daten-API‘.

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

Wenn wir auf die Schaltfläche Daten-API klicken, dieses Fenster öffnet sich, wir kopieren den Link in das rote Rechteck unten und fügen ihn in unseren Code ein.

1s1zmq3v-zbtj-iycawmcg-6198214

Danach, wir werden entfernen ‚$ top = 5 &‘ um alle Daten zu extrahieren, nicht nur der erste 5. Sie können den folgenden Code sehen, um Daten von der Website zu extrahieren und mit Pandas in das Datenrahmenformat zu ändern.

URL = ‘https://data.ibb.gov.tr/datastore/odata3.0/25077460-ddfb-45b6-b32c-4615f0ad2d57?$format=json' #URL der Familiengröße nach Bezirken
def pulldataToDataframe(URL):
 query = urllib.request.urlopen(URL) # API-Verbindung
 data = json.loads(query.read().dekodieren()) # Zum json-Typ wechseln
 data = data.get("Wert") # Nur Datenwert erhalten
 Rückgabe pd.DataFrame(Daten) # Zum Datenrahmen wechseln
df = df.drop(Spalten=”_id”) # Entfernen der ID-Spalte
df = pulldataToDataframe(URL)
drucken(df.spalten)

Wir haben die Daten extrahiert und in den Datenrahmen verschoben. Mal sehen 5 Hauptinformationen.

df.kopf() #Datenrahmen 1. Spalte: Bezirke, 2nd Spalte: Familiengröße nach Bezirken
1xjqciikxjhnsplbxwyo2xw-4121939

Istanbul hat 2 Teile; europäisch und asiatisch. Wir werden Kadiköy für das Zentrum des asiatischen Teils und Besiktas für den europäischen Teil verwenden. Wir trennen die Bezirke für den asiatischen Teil (kadiköy_list) und der europäische teil (besiktas_list)

kadiköy_list = ['Kadiköy', 'Adler', 'Silen', 'Usküdar', 'Pendik', 'Umraniye', 'Maltepe', 'Sultanbeyli', „Tuzla“, 'Ataşehir', 'Cekmeköy', 'Sancaktepe', 'Beykoz']
besiktas_list = ['Besiktas', 'Bakirköy', 'Beyoglu', 'Katalka', 'Job', 'Eroberer', 'Gaziosmanpasa', 'Sarıyer', 'Silivri', 'Neblig', 'Zeytinburnu', 'Buyukcekmece', 'Kagithan', 'Küçükçekmece', 'Bayrampasa', 'Jäger', 'Beutel', ‘Arnuvutköy’, 'Basaksehir', 'Beylikduzu', 'Esenyurt', 'Sultangazi', 'Esenler', 'Gungoren', 'Bahcelievler']
kadiköy_dist = []
besiktas_dist = []

3. API von GOOGLE

Gut, Sehen wir uns nun den Teil der Google API an. Es stehen viele APIs zur Verwendung auf der Google Cloud Platform zur Verfügung. Sie können sie hier überprüfen: https://cloud.google.com/

1y1juphnzpfttmssmc1j3vw-1692172

Sie müssen Ihr Konto erstellen und einen API-Schlüssel anfordern. Hier ist es gut erklärt; https://developers.google.com/maps/documentation/javascript/get-api-key

1qatudoj1zqw5t2rqqowlua-6566093

Ich habe die folgenden APIs heruntergeladen. Aber trotzdem, Wie du siehst, Ich verwende nur die Distance-Array-API und die Dienstnutzungs-API. Ich empfehle Ihnen, auch die JavaScript-APIs für die Geokodierung herunterzuladen, Geolokalisierung, setzt, Wegbeschreibungen und Karten. Wenn Sie mit Daten von GoogleMaps arbeiten möchten.

1upjxmshtvwvolid3h-10qq-6870988

Sehen wir uns nun den Code an, wie wir die API verwenden. In den Code-Kommentaren unten, Ich finde es gut erklärt.

Importanfragen, json
api_key =’QsatasdjıgwedSDFJW-A1lkjasdbUQ’ #Du musst hier deinen API-Schlüssel eingeben
 
# URL Variable store url 
url = ‘https://maps.googleapis.com/maps/api/distancematrix/json?'
#Für jeden Bezirk im asiatischen Teil, wir finden seinen Abstand zwischen
#(kadiköy) und fügen Sie unsere Liste 'kadikoy_dist' hinzu.
für dest in kadiköy_list:   
    source = ‘kadiköy’
    r = Anfragen.get(URL + 'Ursprung=' + Quelle +
    ‘&Reiseziele=’ + dest +
    ‘&Schlüssel=’ + API-Schlüssel)
    kadiköy_dist.append(r.json()['Reihen'][0][„Elemente“][0]['Distanz']['Wert'])
#Für jeden Bezirk im europäischen Teil, wir finden seinen Abstand zwischen
#(besiktas) und fügen Sie unsere Liste 'besiktas_dist' hinzu.
für dest in besiktas_list:
    source = ‘besiktas’
    r = Anfragen.get(URL + 'Ursprung=' + Quelle +
    ‘&Reiseziele=’ + dest +
    ‘&Schlüssel=’ + API-Schlüssel)
    besiktas_dist.append(r.json()['Reihen'][0][„Elemente“][0]['Distanz']['Wert'])

Wie du siehst, wir haben Daten aus Bezirken extrahiert, durchschnittliche Familiengröße mit ibb data API, und wir haben eine neue Funktion mit der Distanzmatrix-API von der Google-API generiert und als Distanzspalte benannt.

1vzmr1yhg4xee_ylx2wpqzw-7904585
Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.

Datenlautsprecher