Layers
Generation
When a map request arrives at the MapViewer server, the server picks a free renderer associated with the master data source in the request. This section describes the process that the MapViewer server follows to generate a map.
In brief, MapViewer performs the following steps:
- Parse and process the incoming XML map request.
- Prepare the data for each theme (executed in parallel).
- Render and label each theme.
- Generate final images or files.
The ordering of the themes in the list is important, because it determines the order in which the themes are rendered. All themes included in the base map (when present) are added to the list first, followed by all specified themes (predefined or JDBC). The theme that contains all the individual features is added as the last theme on the list. Any other requested features of a map (such as legend, map title, or footnote), are created and saved for rendering later.
MapViewer creates individual renderable objects based on the result set.
- For predefined themes that are fully cached, no query is sent to the database, because all renderable objects are readily available.
- For JDBC themes, the query supplied by the user is either executed as is (when the asis attribute value is TRUE in the JDBC theme definition) or with a spatial filter subquery automatically applied to it. The spatial filter part is used to limit the results of the user’s query to those within the current requested window.
- For themes that already have renderable features (such as the one containing all individual features in a request), there is no need to create renderable objects.