Hex Artifact Content

Artifact d869830d5e73670f550392ccdfe36ca5703dedf8:

Wiki page [ZIP2Coords] by densch 2015-04-17 17:52:55.
0000: 44 20 32 30 31 35 2d 30 34 2d 31 37 54 31 37 3a  D 2015-04-17T17:
0010: 35 32 3a 35 35 2e 31 32 34 0a 4c 20 5a 49 50 32  52:55.124.L ZIP2
0020: 43 6f 6f 72 64 73 0a 55 20 64 65 6e 73 63 68 0a  Coords.U densch.
0030: 57 20 36 32 34 0a 54 68 69 73 20 69 73 20 61 20  W 624.This is a 
0040: 77 65 62 73 65 72 76 69 63 65 20 74 68 61 74 20  webservice that 
0050: 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 6d 61 70  allows us to map
0060: 20 55 53 20 5a 49 50 20 63 6f 64 65 73 20 74 6f   US ZIP codes to
0070: 20 61 20 70 61 69 72 20 6f 66 20 63 6f 6f 72 64   a pair of coord
0080: 69 6e 61 74 65 73 2e 20 0d 0a 0d 0a 55 73 61 67  inates. ....Usag
0090: 65 20 69 73 20 76 65 72 79 20 73 69 6d 70 6c 65  e is very simple
00a0: 2c 20 6a 75 73 74 20 71 75 65 72 79 20 74 68 65  , just query the
00b0: 20 73 65 72 76 69 63 65 20 77 69 74 68 20 61 20   service with a 
00c0: 5a 49 50 20 63 6f 64 65 20 61 73 20 61 20 70 61  ZIP code as a pa
00d0: 72 61 6d 65 74 65 72 3a 0d 0a 3c 74 74 3e 68 74  rameter:..<tt>ht
00e0: 74 70 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 2f 7a  tp://localhost/z
00f0: 69 70 32 63 6f 6f 72 64 73 2f 3f 7a 69 70 3d 39  ip2coords/?zip=9
0100: 30 32 31 30 3c 2f 74 74 3e 0d 0a 0d 0a 41 6e 64  0210</tt>....And
0110: 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 6f   receive the coo
0120: 72 64 69 6e 61 74 65 73 20 69 6e 20 4a 53 4f 4e  rdinates in JSON
0130: 20 66 6f 72 6d 61 74 3a 0d 0a 3c 70 72 65 3e 0d   format:..<pre>.
0140: 0a 7b 22 6c 61 74 69 74 75 64 65 22 3a 22 33 34  .{"latitude":"34
0150: 2e 30 39 30 31 30 30 30 22 2c 22 6c 6f 6e 67 69  .0901000","longi
0160: 74 75 64 65 22 3a 22 2d 31 31 38 2e 34 30 36 35  tude":"-118.4065
0170: 30 30 30 22 7d 0d 0a 3c 2f 70 72 65 3e 0d 0a 44  000"}..</pre>..D
0180: 61 74 61 20 63 6f 6d 65 73 20 66 72 6f 6d 20 0d  ata comes from .
0190: 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f  .<a href="http:/
01a0: 2f 64 6f 77 6e 6c 6f 61 64 2e 67 65 6f 6e 61 6d  /download.geonam
01b0: 65 73 2e 6f 72 67 2f 65 78 70 6f 72 74 2f 7a 69  es.org/export/zi
01c0: 70 2f 22 3e 47 65 6f 4e 61 6d 65 73 20 5a 49 50  p/">GeoNames ZIP
01d0: 20 63 6f 64 65 73 3c 2f 61 3e 2e 20 54 6f 20 62   codes</a>. To b
01e0: 75 69 6c 64 20 74 68 65 20 4d 79 53 51 4c 20 64  uild the MySQL d
01f0: 61 74 61 62 61 73 65 20 72 75 6e 20 74 68 65 20  atabase run the 
0200: 3c 74 74 3e 64 61 74 61 62 61 73 65 2f 67 65 6f  <tt>database/geo
0210: 6e 61 6d 65 73 2e 73 68 3c 2f 74 74 3e 20 73 68  names.sh</tt> sh
0220: 65 6c 6c 20 73 63 72 69 70 74 2e 20 49 74 27 6c  ell script. It'l
0230: 6c 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 72  l download the r
0240: 65 71 75 69 72 65 64 20 64 61 74 61 2c 20 73 65  equired data, se
0250: 74 75 70 20 74 68 65 20 64 61 74 61 62 61 73 65  tup the database
0260: 20 61 6e 64 20 6c 6f 61 64 20 74 68 65 20 64 61   and load the da
0270: 74 61 20 69 6e 74 6f 20 69 74 2e 0d 0a 0d 0a 52  ta into it.....R
0280: 65 71 75 69 72 65 73 20 50 48 50 20 77 69 74 68  equires PHP with
0290: 20 50 44 4f 20 61 6e 64 20 4a 53 4f 4e 20 73 75   PDO and JSON su
02a0: 70 70 6f 72 74 2e 0a 5a 20 35 35 61 35 38 65 64  pport..Z 55a58ed
02b0: 39 31 36 62 34 65 38 32 35 66 37 61 34 31 37 31  916b4e825f7a4171
02c0: 39 62 30 66 61 66 64 36 66 0a                    9b0fafd6f.