vegaseat

longitude and latitude from zip code

Mar 13th, 2015
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.89 KB | None | 0 0
  1. ''' postal_codes102.py
  2.  
  3. exploring the postal code zip files
  4. find longitude and latitude of 2 locations
  5. the calculate the distance between the 2 locations
  6.  
  7. from:
  8. http://download.geonames.org/export/zip/
  9. download eg.  US.zip
  10. then unzip to US.txt
  11. for instance to folder C:/Zz5/PostalCodes
  12.  
  13. The data format is tab-delimited text (utf8 encoded), with the following 12 fields:
  14.  
  15. country code      : iso country code, 2 characters
  16. postal code       : varchar(20)
  17. place name        : varchar(180)
  18. admin name1       : 1. order subdivision (state) varchar(100)
  19. admin code1       : 1. order subdivision (state) varchar(20)
  20. admin name2       : 2. order subdivision (county/province) varchar(100)
  21. admin code2       : 2. order subdivision (county/province) varchar(20)
  22. admin name3       : 3. order subdivision (community) varchar(100)
  23. admin code3       : 3. order subdivision (community) varchar(20)
  24. latitude          : estimated latitude (wgs84)
  25. longitude         : estimated longitude (wgs84)
  26. accuracy          : accuracy of lat/lng from 1=estimated to 6=centroid
  27.  
  28. Note:
  29. latitude N(+90) to S(-90), equator = 0
  30. longitude W(-180) to E(+180), prime meridian (Greenwich UK) = 0
  31.  
  32. For instance this would be one line in the text:
  33. US  82730   Upton   Wyoming WY  Weston  045         44.0893 -104.6352
  34.  
  35. tested with Python27 and Python34  by  vegaseat   19jan2015
  36. '''
  37.  
  38. # modify path if necessary
  39. fname = "C:/Zz5/PostalCodes/US.txt"
  40. with open(fname) as fin:
  41.     data_str = fin.read()
  42.  
  43. # create a list of lists
  44. data_list = []
  45. for line in data_str.split('\n'):
  46.     mylist = line.split('\t')
  47.     if len(mylist) > 11:
  48.         data_list.append(mylist)
  49.  
  50. # find the zip code(s) given a city and state
  51. city = "Detroit"
  52. state = "Michigan"
  53. for sublist in data_list:
  54.     city_from_list = sublist[2]
  55.     state_from_list = sublist[3]
  56.     # shows all the zip codes for this location
  57.     if city == city_from_list and state == state_from_list:
  58.         zip_code = sublist[1]
  59.         print("{}, {} has zip code {}".format(city, state, zip_code))
  60.  
  61. print('-'*40)
  62.  
  63. # find the zip code(s) given a city and state
  64. city = "Chicago"
  65. state = "Illinois"
  66. for sublist in data_list:
  67.     city_from_list = sublist[2]
  68.     state_from_list = sublist[3]
  69.     # shows all the zip codes for this location
  70.     if city == city_from_list and state == state_from_list:
  71.         zip_code = sublist[1]
  72.         print("{}, {} has zip code {}".format(city, state, zip_code))
  73.  
  74. print('-'*40)
  75.  
  76. # find location given a zip code
  77. myzip = '48235'
  78. for sublist in data_list:
  79.     zip_code = sublist[1]
  80.     if zip_code == myzip:
  81.         #print(sublist) # test
  82.         location = "{}, {}  {}".format(sublist[2], sublist[3], myzip)
  83.         latitude = sublist[9]
  84.         longitude = sublist[10]
  85.         print(location)
  86.         print("latitude  = {}".format(latitude))
  87.         print("longitude = {}".format(longitude))
  88.  
  89. print('-'*40)
  90.  
  91. # find location given a zip code
  92. myzip = '60290'
  93. for sublist in data_list:
  94.     zip_code = sublist[1]
  95.     if zip_code == myzip:
  96.         #print(sublist) # test
  97.         location = "{}, {}  {}".format(sublist[2], sublist[3], myzip)
  98.         latitude = sublist[9]
  99.         longitude = sublist[10]
  100.         print(location)
  101.         print("latitude  = {}".format(latitude))
  102.         print("longitude = {}".format(longitude))
  103.  
  104. ''' results ...
  105. Detroit, Michigan has zip code 48235
  106. Detroit, Michigan has zip code 48238
  107. Detroit, Michigan has zip code 48242
  108. Detroit, Michigan has zip code 48243
  109. Detroit, Michigan has zip code 48244
  110. Detroit, Michigan has zip code 48254
  111. Detroit, Michigan has zip code 48255
  112. Detroit, Michigan has zip code 48258
  113. Detroit, Michigan has zip code 48260
  114. Detroit, Michigan has zip code 48264
  115. Detroit, Michigan has zip code 48265
  116. Detroit, Michigan has zip code 48266
  117. Detroit, Michigan has zip code 48267
  118. Detroit, Michigan has zip code 48268
  119. Detroit, Michigan has zip code 48269
  120. Detroit, Michigan has zip code 48272
  121. Detroit, Michigan has zip code 48274
  122. Detroit, Michigan has zip code 48275
  123. Detroit, Michigan has zip code 48277
  124. Detroit, Michigan has zip code 48278
  125. Detroit, Michigan has zip code 48279
  126. Detroit, Michigan has zip code 48288
  127. Detroit, Michigan has zip code 48295
  128. Detroit, Michigan has zip code 48297
  129. Detroit, Michigan has zip code 48299
  130. ----------------------------------------
  131. Chicago, Illinois has zip code 60290
  132. Chicago, Illinois has zip code 60601
  133. Chicago, Illinois has zip code 60602
  134. Chicago, Illinois has zip code 60603
  135. Chicago, Illinois has zip code 60604
  136. Chicago, Illinois has zip code 60605
  137. Chicago, Illinois has zip code 60606
  138. Chicago, Illinois has zip code 60607
  139. Chicago, Illinois has zip code 60608
  140. Chicago, Illinois has zip code 60609
  141. Chicago, Illinois has zip code 60610
  142. Chicago, Illinois has zip code 60611
  143. Chicago, Illinois has zip code 60612
  144. Chicago, Illinois has zip code 60613
  145. Chicago, Illinois has zip code 60614
  146. Chicago, Illinois has zip code 60615
  147. Chicago, Illinois has zip code 60616
  148. Chicago, Illinois has zip code 60617
  149. Chicago, Illinois has zip code 60618
  150. Chicago, Illinois has zip code 60619
  151. Chicago, Illinois has zip code 60620
  152. Chicago, Illinois has zip code 60621
  153. Chicago, Illinois has zip code 60622
  154. Chicago, Illinois has zip code 60623
  155. Chicago, Illinois has zip code 60624
  156. Chicago, Illinois has zip code 60625
  157. Chicago, Illinois has zip code 60626
  158. Chicago, Illinois has zip code 60628
  159. Chicago, Illinois has zip code 60629
  160. Chicago, Illinois has zip code 60630
  161. Chicago, Illinois has zip code 60631
  162. Chicago, Illinois has zip code 60632
  163. Chicago, Illinois has zip code 60633
  164. Chicago, Illinois has zip code 60634
  165. Chicago, Illinois has zip code 60636
  166. Chicago, Illinois has zip code 60637
  167. Chicago, Illinois has zip code 60638
  168. Chicago, Illinois has zip code 60639
  169. Chicago, Illinois has zip code 60640
  170. Chicago, Illinois has zip code 60641
  171. Chicago, Illinois has zip code 60642
  172. Chicago, Illinois has zip code 60643
  173. Chicago, Illinois has zip code 60644
  174. Chicago, Illinois has zip code 60645
  175. Chicago, Illinois has zip code 60646
  176. Chicago, Illinois has zip code 60647
  177. Chicago, Illinois has zip code 60648
  178. Chicago, Illinois has zip code 60649
  179. Chicago, Illinois has zip code 60651
  180. Chicago, Illinois has zip code 60652
  181. Chicago, Illinois has zip code 60653
  182. Chicago, Illinois has zip code 60654
  183. Chicago, Illinois has zip code 60655
  184. Chicago, Illinois has zip code 60656
  185. Chicago, Illinois has zip code 60657
  186. Chicago, Illinois has zip code 60658
  187. Chicago, Illinois has zip code 60659
  188. Chicago, Illinois has zip code 60660
  189. Chicago, Illinois has zip code 60661
  190. Chicago, Illinois has zip code 60663
  191. Chicago, Illinois has zip code 60664
  192. Chicago, Illinois has zip code 60665
  193. Chicago, Illinois has zip code 60667
  194. Chicago, Illinois has zip code 60668
  195. Chicago, Illinois has zip code 60669
  196. Chicago, Illinois has zip code 60670
  197. Chicago, Illinois has zip code 60671
  198. Chicago, Illinois has zip code 60672
  199. Chicago, Illinois has zip code 60673
  200. Chicago, Illinois has zip code 60674
  201. Chicago, Illinois has zip code 60675
  202. Chicago, Illinois has zip code 60677
  203. Chicago, Illinois has zip code 60678
  204. Chicago, Illinois has zip code 60680
  205. Chicago, Illinois has zip code 60681
  206. Chicago, Illinois has zip code 60682
  207. Chicago, Illinois has zip code 60683
  208. Chicago, Illinois has zip code 60684
  209. Chicago, Illinois has zip code 60685
  210. Chicago, Illinois has zip code 60686
  211. Chicago, Illinois has zip code 60687
  212. Chicago, Illinois has zip code 60688
  213. Chicago, Illinois has zip code 60689
  214. Chicago, Illinois has zip code 60690
  215. Chicago, Illinois has zip code 60691
  216. Chicago, Illinois has zip code 60693
  217. Chicago, Illinois has zip code 60694
  218. Chicago, Illinois has zip code 60695
  219. Chicago, Illinois has zip code 60696
  220. Chicago, Illinois has zip code 60697
  221. Chicago, Illinois has zip code 60699
  222. Chicago, Illinois has zip code 60701
  223. ----------------------------------------
  224. Detroit, Michigan  48235
  225. latitude  = 42.4261
  226. longitude = -83.1951
  227. ----------------------------------------
  228. Chicago, Illinois  60290
  229. latitude  = 41.9613
  230. longitude = -87.8849
  231. '''
Advertisement
Add Comment
Please, Sign In to add comment