1234567891011121314151617181920212223 |
- import csv
-
- import GeoIP
-
- gi6 = GeoIP.open("/usr/share/GeoIP/GeoIPv6.dat",GeoIP.GEOIP_STANDARD)
-
- countries = {}
- with open('mapData/countries.csv') as csvfile:
- reader = csv.DictReader(csvfile, delimiter=',', quotechar='"')
- rows = [r for r in reader]
- countries = {row['Alpha-2 code']:{'lon':row['Longitude (average)'],'lat': row['Latitude (average)']}
- for row in rows}
- countries.update({row['Alpha-3 code']:{'lon':row['Longitude (average)'],'lat': row['Latitude (average)']}
- for row in rows})
-
- def ip62coord(ipv6):
- res = gi6.country_code_by_addr_v6(ipv6)
- if res is not None:
- if res in countries:
- coord = countries[res]
- return float(coord['lon']), float(coord['lat'])
- return None
|