This preview shows page 1. Sign up to view the full content.
Unformatted text preview: single entity. So we break the map into tiles.
A tile is a square region of the map corresponding to the smallest unit we render at a
time. The view that you display in a web browser is made of several tiles arranged in a
2d grid. A tile is defined by a tile extent which is a northern-most and a southern-most
latitude, and a western-most and eastern-most longitude. We are making a major
simplifying assumption in this assignment, that latitude and longitude are a rectangular
coordinate system. This will result in some rendering inaccuracy, but for the latitudes in
the USA, this is acceptable.
The tiles are arranged in a rectangular grid across a mappable range. The mappable
range is the entire area we wish to render (e.g., the whole USA for your final production
run, or maybe a few square miles for testing). A mappable range is a square (assuming
rectilinear latitude/longitude) defined by the latitudes and longitudes of its edges. We
break the mappable range into a 2D array of tiles.
Within this 2D array each tile has an ID. A tile ID is an (x, y) index into the 2D array
that spans the mappable range.
So if we had 9 tiles across some mappable range, their tile IDs may be:
(0, 2) (1, 0)
(1, 2) (2, 0)
(2, 2) We will render tiles using an algorithm similar to the one described in Barry's lecture in
class. The mappers will read all the features in our map data, and emit them to the
reducers responsible for rendering them onto tiles. We will precalculate which tile(s) are
responsible for which features, and the mappers will send the features to the reducer(s)
for those tile(s). In the reducer, we will then render each output image.
We do not want to use a separate reducer for each tile; this is far too many reduce
processes. Instead, each reducer will be responsible for rendering a tile set. A tile set is
simply a set of tiles which will be rendered by a single reducer. These tiles do not
necessarily need to be adjacent to one another (although, since a feature like a long road segment may be rendered on multiple tiles, it would be nice if we could minimize
the amount of data motion required between mappers and...
View Full Document
- Fall '08