An important capability of any spatial analysis software product is the ability to generate a map. There are two primary map types: a raster map, which is a digital image often in Graphics Interchange Format (GIF), and a vector map, which is the data required for an application to properly render the map using Vector Markup Language (VML) or some other data exchange format.
For mobile location services, speed under load is usually the primary focus. However, it is still important that if a raster map image is being returned, the image be visually attractive and in the format that the user expects. The quality of the map data significantly impacts the quality of the map image, but even good map data will not compensate for a poor quality map-rendering engine.
In many cases, a user will interact with a mobile location services application using a map. Addresses that have been geocoded will be marked on the map, streets in a route will be highlighted, and traffic incidents on the travel path might be marked. People are visually oriented, so a good map can communicate a lot of information very quickly. Alternatively, a poor map or a map that does not meet a user's expectations will quickly cause frustration.
People use maps to help them make quick decisions. Ordinary paper maps require the user to do more work, because unlike a digital map, they do not mark where you are, highlight a route to where you're going, or allow you to zoom or pan. Digital maps allow you to deliver to users a more powerful set of tools to help them make decisions. Other capabilities include adding real-time traffic and highlighting specific POIs to your user. The map is personalized specifically for the person looking at it.
Most consumers' experience with maps is limited to the rather basic characteristics of roadmaps. Furthermore, because consumers are so familiar with roadmaps, they actually expect their digital maps to be very similar to them. This has several implications, as users in different regions expect their maps to look differently.
Users in North America expect their maps to appear like the example shown in Figure 4.19.
Characteristics of North American road networks are wide roads and rectangular blocks. European road networks are very different, and have particular requirements for the development of user-acceptable maps.
European consumers expect maps to be displayed as shown in the example in Figure 4.20.
You will notice in this example the different characteristics of European road networks. Roads are very narrow and close together, and blocks are often not rectangular. In addition, Europeans expect to have their roads drawn as a polygon with the name of the road inside the polygon, curving as the street curves. Notice Shaftesbury Street in Figure 4.20 as an example of the European style road representation. North American maps typically represent streets as lines with the road name on one side or the other. The color schemes used in the maps are also very different. Yellow is a very common background for North American maps, whereas in European maps, it is often gray.
To maximize user acceptance and penetration of your location-based application, it is important to be aware of the regional expectations of how maps should look and customize your map display accordingly.
The average user is not familiar with cartographic principles or using special-purpose maps designed to facilitate decision making. Accordingly, the map user interface in many of the most popular location service applications does not introduce geographic concepts such as scale, thematic shading, or even a north-pointing arrow. When a user wants to change scale, the better location service applications accomplish this through zoom-in and zoom-out functions. They don't assume the user understands the concept of scale and they don't ask the user to manually set the scale. The colors used in the map are important as well. Colors that might be best suited to provide for decision making in traditional GIS applications, such as thematic shading, might be unattractive to many users. Applications must adapt to a typical user's expectations.
A raster map is most often built using a regular grid. The grid is a two-dimensional geographic surface divided into square cells that are called pixels. Depending on the level of detail needed for display, the size of the square cells will vary. Different geographic features are represented using mathematical functions and approximated by painting the associated squares with the appropriate feature color. POIs and text data, such as city and street names, are also overlaid by painting the squares that approximate their dimensions. A very basic raster map is shown in Figure 4.21.
A more realistic example of raster imaging can be seen when you look at the way an aerial photo is digitized and then represented using a raster map. A sample aerial photo of an address is shown in Figure 4.22.
Compare the raster equivalent shown in Figure 4.23.
Raster map images have many advantages.
The raster map data structure is very simple. It consists of pixels on a grid. There are many industry standard and published formats that can be chosen for data storage. Consequently, there are also many commercial tools available for editing and displaying raster maps.
Map overlays are very easy with a raster data format. An overlay is made by updating the pixels that represent the approximate shape of the overlay, in the position of the overlay. Some formats, such as GIF89a, allow for storing multiple layers of data. Thus, overlays can be added and removed with no impact to the original image.
Although not suitable for all spatial analysis operations, simple operations such as areas, perimeters, and sums can actually be more efficient with a raster map image than in a vector data model because they are simple counting operations.
Raster maps are easier to produce because they are a collection of pixels. Generating a map is a process of painting the pixels of the region requested for display. A vector map, on the other hand, must deal with fairly complex issues based on the size and shape of the requested map. As an example, if a road segment or link continues past the border of the requested map, the software must clip the link and update the vector data being returned. An even more complex example is when both of a segment's nodes are outside the map area being generated, but not the road itself.
Raster maps are much cheaper technology because they only require the client device to paint pixels in a grid of varying resolutions. A vector map requires a much more sophisticated client, able to quickly process and render point, line, and polygon data. More sophisticated software and a more powerful processor is required of the client.
Depending on size and resolution, raster maps can contain a tremendous amount of data. Each pixel contains attributes, and in a high-resolution map there can be millions of pixels. In mobile location services, size can cause data transfer problems because bandwidth is very limited. It can also cause storage issues if you hope to cache frequently used maps on the client.
In the past, the pixel grids of raster maps were often not as attractive as a vector rendition. Processor speed has improved and storage space has become much cheaper, so resolution has significantly improved. It is uncommon to be able to discern individual pixels with the naked eye in most displays.
Changing projection with raster graphics is best done by generating a new map from the server. Using vector graphics, it is much easier to do the projection on the client and save the bandwidth and server processing cycles.
Mobile location services typically use a map database that is vector based, meaning that all data is stored as points, lines, and polygons. Because this data is in most cases a mathematical approximation of the actual geographic phenomena, converting this data to raster information increases the potential for errors.
Vector maps are best for representing the precise shape of discrete features such as roads.
Vector data is small in size and can be more effectively transferred over limited-bandwidth connections than raster data. Vector data only has to store point, line, and polygon information.
It is possible with vector-based maps to encode topology information. With vector data, line topology encodes which lines are connected to a node and polygon topology records which polygons are on either side of a line.
A result of the very small data size of vector maps is that their data structures are very complex. They are not well suited to drawing continuous phenomena or areas that do not have distinct boundaries.
Continuous variation simulations are easy to perform on raster maps, as applying simple mathematical formulas to modify a range of pixels can do the simulation. It is much more difficult to do ad hoc simulations with a vector map.
Vector maps are not as good as raster maps for geographic analysis that involves spatial coincidence, surface analysis, proximity, or least cost path. However, vector maps are very good for topological map overlay, network analysis, address geocoding, and logical and spatial query. Given that the analysis that vector maps are best at is the analysis mobile location services most frequently use, it is understandable that most spatial analysis software products use a vector map database and use raster maps only for basic end user display.