
Map Numerical Data the Easy Way #83
Chapter 7, Names and Places
|
417
HACK
And the SQL for this bounding box is:
select * from zipcodes
where latitude between 38.393 - 25/69 and 38.393 + 25/69
and longitude between -122.834 - 25/69 and -122.834 + 25/69
Again, this is not totally correct because the width of the bounding box is
overstated, but it is sufficient to be useful. This method also has the advan-
tage of being very, very fast. If you need the answer to be more precise, then
you should make this a two-step process. First, select the records within
your bounding box (as previously stated) and then calculate the distance for
each record within the box, discard those ZIP Codes that are outside of your
range, and sort the survivors by distance.
A sample script to do this is available at http://mappinghacks.com/cgi-bin/
ziprange.cgi.
You call the script with a ZIP Code and a distance, and it returns a list of
ZIP Codes less than the specified distance from your target ZIP Code. It
excludes all ZIP Codes where the distance to the centroid exceeds your
limit. We could change the ZIP Code table to have it refer to our own geo-
coded data, say a list of our customers, or suppliers. Then we would be able
to find our nearest customers based on ZIP Code.
HACK
#83
Map Numerical Data the Easy Way Hack #83
Hacking the color palette of a GIF image offers a cheap and simple route to
mapping all sorts of quantitative ...