Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ''' postal_codes102.py
- exploring the postal code zip files
- find longitude and latitude of 2 locations
- the calculate the distance between the 2 locations
- from:
- http://download.geonames.org/export/zip/
- download eg. US.zip
- then unzip to US.txt
- for instance to folder C:/Zz5/PostalCodes
- The data format is tab-delimited text (utf8 encoded), with the following 12 fields:
- country code : iso country code, 2 characters
- postal code : varchar(20)
- place name : varchar(180)
- admin name1 : 1. order subdivision (state) varchar(100)
- admin code1 : 1. order subdivision (state) varchar(20)
- admin name2 : 2. order subdivision (county/province) varchar(100)
- admin code2 : 2. order subdivision (county/province) varchar(20)
- admin name3 : 3. order subdivision (community) varchar(100)
- admin code3 : 3. order subdivision (community) varchar(20)
- latitude : estimated latitude (wgs84)
- longitude : estimated longitude (wgs84)
- accuracy : accuracy of lat/lng from 1=estimated to 6=centroid
- Note:
- latitude N(+90) to S(-90), equator = 0
- longitude W(-180) to E(+180), prime meridian (Greenwich UK) = 0
- For instance this would be one line in the text:
- US 82730 Upton Wyoming WY Weston 045 44.0893 -104.6352
- tested with Python27 and Python34 by vegaseat 19jan2015
- '''
- # modify path if necessary
- fname = "C:/Zz5/PostalCodes/US.txt"
- with open(fname) as fin:
- data_str = fin.read()
- # create a list of lists
- data_list = []
- for line in data_str.split('\n'):
- mylist = line.split('\t')
- if len(mylist) > 11:
- data_list.append(mylist)
- # find the zip code(s) given a city and state
- city = "Detroit"
- state = "Michigan"
- for sublist in data_list:
- city_from_list = sublist[2]
- state_from_list = sublist[3]
- # shows all the zip codes for this location
- if city == city_from_list and state == state_from_list:
- zip_code = sublist[1]
- print("{}, {} has zip code {}".format(city, state, zip_code))
- print('-'*40)
- # find the zip code(s) given a city and state
- city = "Chicago"
- state = "Illinois"
- for sublist in data_list:
- city_from_list = sublist[2]
- state_from_list = sublist[3]
- # shows all the zip codes for this location
- if city == city_from_list and state == state_from_list:
- zip_code = sublist[1]
- print("{}, {} has zip code {}".format(city, state, zip_code))
- print('-'*40)
- # find location given a zip code
- myzip = '48235'
- for sublist in data_list:
- zip_code = sublist[1]
- if zip_code == myzip:
- #print(sublist) # test
- location = "{}, {} {}".format(sublist[2], sublist[3], myzip)
- latitude = sublist[9]
- longitude = sublist[10]
- print(location)
- print("latitude = {}".format(latitude))
- print("longitude = {}".format(longitude))
- print('-'*40)
- # find location given a zip code
- myzip = '60290'
- for sublist in data_list:
- zip_code = sublist[1]
- if zip_code == myzip:
- #print(sublist) # test
- location = "{}, {} {}".format(sublist[2], sublist[3], myzip)
- latitude = sublist[9]
- longitude = sublist[10]
- print(location)
- print("latitude = {}".format(latitude))
- print("longitude = {}".format(longitude))
- ''' results ...
- Detroit, Michigan has zip code 48235
- Detroit, Michigan has zip code 48238
- Detroit, Michigan has zip code 48242
- Detroit, Michigan has zip code 48243
- Detroit, Michigan has zip code 48244
- Detroit, Michigan has zip code 48254
- Detroit, Michigan has zip code 48255
- Detroit, Michigan has zip code 48258
- Detroit, Michigan has zip code 48260
- Detroit, Michigan has zip code 48264
- Detroit, Michigan has zip code 48265
- Detroit, Michigan has zip code 48266
- Detroit, Michigan has zip code 48267
- Detroit, Michigan has zip code 48268
- Detroit, Michigan has zip code 48269
- Detroit, Michigan has zip code 48272
- Detroit, Michigan has zip code 48274
- Detroit, Michigan has zip code 48275
- Detroit, Michigan has zip code 48277
- Detroit, Michigan has zip code 48278
- Detroit, Michigan has zip code 48279
- Detroit, Michigan has zip code 48288
- Detroit, Michigan has zip code 48295
- Detroit, Michigan has zip code 48297
- Detroit, Michigan has zip code 48299
- ----------------------------------------
- Chicago, Illinois has zip code 60290
- Chicago, Illinois has zip code 60601
- Chicago, Illinois has zip code 60602
- Chicago, Illinois has zip code 60603
- Chicago, Illinois has zip code 60604
- Chicago, Illinois has zip code 60605
- Chicago, Illinois has zip code 60606
- Chicago, Illinois has zip code 60607
- Chicago, Illinois has zip code 60608
- Chicago, Illinois has zip code 60609
- Chicago, Illinois has zip code 60610
- Chicago, Illinois has zip code 60611
- Chicago, Illinois has zip code 60612
- Chicago, Illinois has zip code 60613
- Chicago, Illinois has zip code 60614
- Chicago, Illinois has zip code 60615
- Chicago, Illinois has zip code 60616
- Chicago, Illinois has zip code 60617
- Chicago, Illinois has zip code 60618
- Chicago, Illinois has zip code 60619
- Chicago, Illinois has zip code 60620
- Chicago, Illinois has zip code 60621
- Chicago, Illinois has zip code 60622
- Chicago, Illinois has zip code 60623
- Chicago, Illinois has zip code 60624
- Chicago, Illinois has zip code 60625
- Chicago, Illinois has zip code 60626
- Chicago, Illinois has zip code 60628
- Chicago, Illinois has zip code 60629
- Chicago, Illinois has zip code 60630
- Chicago, Illinois has zip code 60631
- Chicago, Illinois has zip code 60632
- Chicago, Illinois has zip code 60633
- Chicago, Illinois has zip code 60634
- Chicago, Illinois has zip code 60636
- Chicago, Illinois has zip code 60637
- Chicago, Illinois has zip code 60638
- Chicago, Illinois has zip code 60639
- Chicago, Illinois has zip code 60640
- Chicago, Illinois has zip code 60641
- Chicago, Illinois has zip code 60642
- Chicago, Illinois has zip code 60643
- Chicago, Illinois has zip code 60644
- Chicago, Illinois has zip code 60645
- Chicago, Illinois has zip code 60646
- Chicago, Illinois has zip code 60647
- Chicago, Illinois has zip code 60648
- Chicago, Illinois has zip code 60649
- Chicago, Illinois has zip code 60651
- Chicago, Illinois has zip code 60652
- Chicago, Illinois has zip code 60653
- Chicago, Illinois has zip code 60654
- Chicago, Illinois has zip code 60655
- Chicago, Illinois has zip code 60656
- Chicago, Illinois has zip code 60657
- Chicago, Illinois has zip code 60658
- Chicago, Illinois has zip code 60659
- Chicago, Illinois has zip code 60660
- Chicago, Illinois has zip code 60661
- Chicago, Illinois has zip code 60663
- Chicago, Illinois has zip code 60664
- Chicago, Illinois has zip code 60665
- Chicago, Illinois has zip code 60667
- Chicago, Illinois has zip code 60668
- Chicago, Illinois has zip code 60669
- Chicago, Illinois has zip code 60670
- Chicago, Illinois has zip code 60671
- Chicago, Illinois has zip code 60672
- Chicago, Illinois has zip code 60673
- Chicago, Illinois has zip code 60674
- Chicago, Illinois has zip code 60675
- Chicago, Illinois has zip code 60677
- Chicago, Illinois has zip code 60678
- Chicago, Illinois has zip code 60680
- Chicago, Illinois has zip code 60681
- Chicago, Illinois has zip code 60682
- Chicago, Illinois has zip code 60683
- Chicago, Illinois has zip code 60684
- Chicago, Illinois has zip code 60685
- Chicago, Illinois has zip code 60686
- Chicago, Illinois has zip code 60687
- Chicago, Illinois has zip code 60688
- Chicago, Illinois has zip code 60689
- Chicago, Illinois has zip code 60690
- Chicago, Illinois has zip code 60691
- Chicago, Illinois has zip code 60693
- Chicago, Illinois has zip code 60694
- Chicago, Illinois has zip code 60695
- Chicago, Illinois has zip code 60696
- Chicago, Illinois has zip code 60697
- Chicago, Illinois has zip code 60699
- Chicago, Illinois has zip code 60701
- ----------------------------------------
- Detroit, Michigan 48235
- latitude = 42.4261
- longitude = -83.1951
- ----------------------------------------
- Chicago, Illinois 60290
- latitude = 41.9613
- longitude = -87.8849
- '''
Advertisement
Add Comment
Please, Sign In to add comment