from pygeocoder import Geocoder
apik='' #file-bol illeszd be

results = Geocoder(apik).geocode("FSEGA Cluj")
print(results[0].coordinates)

"""
Explanation: Get Google Maps API key
https://developers.google.com/maps/documentation/javascript/get-api-key
https://console.cloud.google.com/marketplace/details/google/geocoding-backend.googleapis.com?id=42fea2de-420b-4bd7-bd89-225be3b8b7b0&project=altelium&folder&organizationId
End of explanation
"""


results[0].country

results[0].city

results[0].county

results[0].postal_code

results[0].formatted_address

"""
Explanation: A válaszban az összes Google Maps cím-tulajdonság benne van.
https://developers.google.com/maps/documentation/geocoding/start?csw=1#Types
End of explanation
"""


results = Geocoder(apik).reverse_geocode(46.544151, 24.560025)
print(results[0])

results[0].city

"""
Explanation: Fordított geokódolás
End of explanation
"""


df=pd.read_excel('df5.xlsx')

results = Geocoder(apik).geocode('Hungary')
print(results[0].coordinates)

"""
Explanation: Alkalmazás
End of explanation
"""


koordinatak=[]
for orszag in list(df['Destinatie_tara2']):
    try:
        koord=Geocoder(apik).geocode(orszag)[0].coordinates
        koordinatak.append(koord)
        print(orszag,'geokódolva')
    except:
        print(orszag,'hiba')
        if orszag=='Cseh':
            koord=Geocoder(apik).geocode('Czech Republic')[0].coordinates
            koordinatak.append(koord)
            print(orszag,'geokódolva másodszorra')

df['koord']=koordinatak

"""
Explanation: Geokódólás és hibakezelés
End of explanation
"""


df['lat']=df['koord'].astype(str).str.split(',').str[0].str.replace('(','').astype(float)
df['lon']=df['koord'].astype(str).str.split(',').str[1].str.replace(')','').astype(float)

"""
Explanation: Két új oszlopot készítünk a koordinátákból, mert külön kell választani a hosszúságot és a szélességet. Itt három String függvényt alkalmazunk az str előtaggal. Ugyanakkor először str típusba konvertáljuk azt a Dataframe oszlpot, amelyre szükségünk van, a végén pedig a szélességeket és hosszúságokat vissza számmá, azaz float típusba.
End of explanation
"""


df.to_excel('koordinatak.xlsx')

"""
Explanation: Kimentjük a viz-t Flourishba
End of explanation
"""


