This preview shows page 1. Sign up to view the full content.
Unformatted text preview: et address, ZIP code".
(although you are welcome to implement geocoding for other types of queries as well see the extensions section below).
Your geocode should be output in such a way that you can efficiently look up a latitude
and longitude given an address. One way to structure your geocode index, for example,
is to have the keys be zip codes and street names and the values be address ranges with
appropriate street coordinates. Your output would then be sorted first numerically by zip
code, and then alphabetically by street name. You could then seek into the index (think
binary search) to quickly find the latitude and longitude for a desired address. (You may
wish to consider java's RandomAccessFile class for this) Extensions
This project has virtually limitless room for extensions. None of them are required. Here
are just a few we have thought of (ranked roughly from easiest to hardest):
• Exploit other data present in the datasets. Currently we are asking you to use
records type 1 and 2 from the TIGER/Line data. There are about fifteen others
with a range of other useful data (census, economic census, further address
resolution data, etc. Find a way to use this data in this project
• Build the geocode index to support other types of queries, some ideas for query
◦ City, State
◦ County, State
◦ Street address + city + state
• Exploit other data sets. Several examples are the National Hydrography Dataset
(NHD), satellite tiles, etc
• Currently we are making a simplifying assumption that the world is a flat
rectilinear coordinate system. (ie, we are not compensating for the spherical
coordinates.) Correct this so the tiles represent actual squares in terms of land
distance and not in terms of degree distance.
• Label placement: this is deceptively hard. There are at least three types of label
placement. Point labeling(cities, features, etc), line labeling(roads, rivers, etc),
and shape labeling(lakes, seas, etc). With each you must figure out which labels
to place at which...
View Full Document
- Fall '08