Logo Pixel Pixie

Jak wykorzystać Google Maps API do standaryzacji danych adresowych

14 marca 2023

Jeśli jesteś lub planujesz zostać analitykiem danych, często będziesz mieć do czynienia z takim pojęciem jak standaryzacja danych. Co to oznacza? To proces przekształcania informacji, takich jak adresy, imiona, numery telefonów i inne wartości numeryczne lub tekstowe w sposób, który umożliwia ich porównywanie i analizowanie w jednolity sposób. Dzięki standaryzacji danych, wszystkie informacje są ujednolicone w jednym formacie, co ułatwia porównywanie wartości z różnych źródeł.

W firmach, które pracują na dużej ilości danych, zazwyczaj jednym z elementów standaryzacji jest wprowadzanie specjalnych słowników, zawierających informacje o miastach, ulicach, kodach pocztowych, firmach itp. Dzięki tym słownikom, dane są ujednolicone w jednym standardzie, co ułatwia ich analizowanie. Używanie słowników zwiększa jakość i precyzję danych, a także pozwala na automatyzację procesów biznesowych.

W tym artykule skupimy się na standaryzacji danych adresowych. Można ją wykorzystać w wielu dziedzinach, takich jak e‑commerce, usługi kurierskie, marketing czy analiza danych. Przyda się wszędzie tam, gdzie gromadzone są dane adresowe, przykładem jest chociażby sklep internetowy czy firma logistyczna. Sposobów na standaryzację danych jest sporo, ja dzisiaj pokażę jak w do tego celu użyć API Google Maps.

W jaki sposób można wykorzystać API Google Maps w celu standaryzacji danych?

API Google Maps jest niezwykle pomocne przy standaryzacji danych adresowych. Dzięki niemu można szybko i łatwo poprawić adresy, ujednolicić ich format, a nawet dodać koordynaty geograficzne. Każdy z nas używał Google Maps i wie, że jeśli wpiszemy niedokładny adres lub z literówką, Google Maps zmienia go na poprawny. Tak to wygląda na przykładzie adresu Agrykola 1, Warszawa, napisanego z literówką:

Nie tylko poprawiło nam na poprawny adres, ale widzimy tutaj również brakujące dane: kod pocztowy. Możemy wykorzystać to w momencie kiedy klient wpisuje swój adres. Dzięki temu w sklepie będzie mniej zwrotów, a więcej zadowolonych klientów. Z kolei w logistyce pozwoli precyzyjnie określić lokalizację.

Taką funkcjonalność możemy zaimplementować np. w języku Python. Potrzebujemy do tego własnego klucza API Google, który możemy uzyskać na Google Maps Platform (więcej informacji w dokumentacji na oficjalnej stronie Google Maps Documentation).

Jak już masz klucz, możesz wykorzystać poniższy kod, który wykonuje zapytanie do API Google, aby sprawdzić, czy podany adres istnieje, i wyświetla sformatowany adres, jeśli został znaleziony. Dla przykładu podaję błędny adres “Agrekola 1, Warszawa”


 # Importuj bibliotekę googlemaps oraz bibliotekę requests
import googlemaps
import pprint
        
# podaj swój klucz API
api_key = 'MOJ_KLUCZ_API'
        
# utwórz instancję klasy Client
gmaps = googlemaps.Client(key=api_key)
        
# podaj adres, który chcesz sprawdzić
address = 'Agrekola 1, Warszawa'
        
# wykonaj zapytanie do API Google
response = gmaps.geocode(address)
        
# sprawdź, czy odpowiedź zawiera wyniki
if len(response) == 0:
        print('Podany adres nie istnieje')
else:
        pp = pprint.PrettyPrinter(indent=4)
        pp.pprint(response)
        getAddress=response[0]['formatted_address']
        print(f'Adres istnieje: {getAddress}')
        

W ostatnim kroku kodu sprawdzamy, czy odpowiedź zawiera wyniki. Jeśli adres istnieje, zwracamy pełną odpowiedź z API Google Maps (dzięki temu mamy podgląd do pełnej odpowiedzi z Google Maps). Dodatkowo zwracamy odpowiedź końcową (ostatnia linijka), gdzie umieszczamy adres w sformatowanej wersji: Adres istnieje: Agrykola 1, 00-467 Warszawa, Poland

Jak widzisz, jest to naprawdę proste. Kod możemy modyfikować tak, aby zwracał dane, które są nam potrzebne. Dzięki narzędziom, takim jak API Google Maps, poprawa adresów stała się łatwa i szybka, co przekłada się na lepszą obsługę klienta oraz dokładniejszą analizę danych.