API della matrice di distanza di Google | Utilizza l'API per raccogliere dati ed eseguire analisi

Contenuti

Avviso importante prima di immergerci nel codice; assumiamo che lo sviluppo di quei distretti possa essere identificato dalla dimensione della famiglia. Certo, questo non è vero al cento per cento, tuttavia, per questo caso facciamo questa ipotesi.

Per favore, non rimanere bloccato in significati teorici, lo scopo di questo post sul blog è estrarre con successo i dati ed eseguire l'analisi dei dati su di essi. Non si tratta di provare qualcosa per davvero.

2. Estrai dati

Estraiamo i dati dalla piattaforma open data della municipalità di Istanbul (ibb) con su API. Puoi trovare diversi set di dati aperti della municipalità di Istanbul.

Vai al collegamento dati di seguito e fai clic sul pulsante "API dati".

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

Quando facciamo clic sul pulsante Data API, si apre questa finestra, copieremo il collegamento nel rettangolo rosso sottostante e lo incolleremo nel nostro codice.

1s1zmq3v-zbtj-iycawmcg-6198214

Successivamente, elimineremo '$ top = 5 &’ per estrarre tutti i dati, non solo il primo 5. Puoi vedere il codice sotto per estrarre i dati dal sito Web e cambiarlo nel formato del frame di dati usando i panda.

URL = 'https://data.ibb.gov.tr/datastore/odata3.0/25077460-ddfb-45b6-b32c-4615f0ad2d57?$formato=json' #URL della dimensione della famiglia in base ai distretti
def pulldataToDataframe(URL):
 query = urllib.request.urlopen(URL) # Connessione API
 data = json.loads(query.leggi().decodificare()) # Passa al tipo json
 data = data.get("valore") # Ottenere solo il valore dei dati
 return pd.DataFrame(dati) # Passa al dataframe
df = df.drop(colonne=”_id”) # Rimozione della colonna ID
df = pulldataToDataframe(URL)
Stampa(df.colonne)

Abbiamo estratto i dati e li abbiamo spostati nel data frame. Vediamo il 5 Dati principali.

df.head() #Dataframe prima colonna: Quartieri, 2nd colonna: dimensione della famiglia secondo i distretti
1xjqciikxjhnsplbxwyo2xw-4121939

Istanbul ha 2 parti; Europea e Asiatica. Useremo Kadikoy per il centro della parte asiatica e Besiktas per la parte europea. Separiamo i distretti per la parte asiatica (kadikoy_list) e la parte europea (besiktas_list)

kadikoy_list = ['Kadikoy', 'Aquila', 'Sile', 'Uskudar', 'Pendik', 'Umraniye', 'Maltepe', 'Sultanbeyli', 'Tuzla', 'Ataşehir', 'Cekmekoy', 'Santaktepe', 'Beykoz']
besiktas_list = ['Besiktas', 'Bakirkoy', 'Beyoglu', 'Catalca', 'Lavoro', 'Conquistatore', 'Gaziosmanpasa', 'Sarıyer', 'Silivrì', 'Nebbioso', 'Zeytinburnu', 'Buyukcekmece', 'Kagithane', 'Küçükçekmece', 'Bayrampasa', "Cacciatori", 'Bagcillare', 'Arnuvutköy', 'Basaksehir', 'Beylikduzu', 'Esenyurt', "Sultangazi", 'Esenler', 'Gungoren', 'Bahcelievler']
kadikoy_dist = []
besiktas_dist = []

3. API di GOOGLE

Bene, ora vediamo la parte dell'API di Google. Ci sono molte API disponibili per l'uso su Google Cloud Platform. Puoi controllarli qui: https://cloud.google.com/

1y1juphnzpfttmssmc1j3vw-1692172

Devi creare il tuo account e richiedere una chiave API. È spiegato bene qui; https://developers.google.com/maps/documentation/javascript/get-api-key

1qatudoj1zqw5t2rqqowlua-6566093

Ho scaricato le API di seguito. tuttavia, come potete vedere, Uso solo l'API di array di distanza e l'API di utilizzo del servizio. Ti consiglio di scaricare anche le API JavaScript di Geocoding, geolocalizzazione, posti, indicazioni stradali e mappe. Se vuoi lavorare con i dati di GoogleMaps.

1upjxmshtvwvolid3h-10qq-6870988

Ora vediamo il codice di come utilizziamo l'API. Nel codice commenti qui sotto, Penso sia spiegato bene.

richieste di importazione, json
api_key ='QsatasdjıgwedSDFJW-A1lkjasdbUQ' #Devi inserire qui la tua chiave API
 
# URL variabile store url 
url = ‘https://maps.googleapis.com/maps/api/distancematrix/json?'
#Per ogni distretto nella parte asiatica, troviamo la sua distanza tra
#(kadikoy) e aggiungi la nostra lista 'kadikoy_dist'.
per dest in kadikoy_list:   
    fonte = 'kadiköy'
    r = richieste.get(URL + 'origini=' + fonte +
    '&destinazioni=' + destinazione +
    '&chiave=' + api_key)
    kadikoy_dist.append(r.json()["righe"][0]['elementi'][0]['distanza']['valore'])
#Per ogni distretto in parte europea, troviamo la sua distanza tra
#(besiktas) e aggiungi la nostra lista 'besiktas_dist'.
per dest in besiktas_list:
    source = 'besiktas'
    r = richieste.get(URL + 'origini=' + fonte +
    '&destinazioni=' + destinazione +
    '&chiave=' + api_key)
    besiktas_dist.append(r.json()["righe"][0]['elementi'][0]['distanza']['valore'])

Come potete vedere, abbiamo estratto i dati dai distretti, dimensione media della famiglia con ibb data API, e abbiamo generato una nuova funzione con l'API della matrice di distanza dall'API di Google e l'abbiamo chiamata come colonna Distanze.

1vzmr1yhg4xee_ylx2wpqzw-7904585
Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.