Building operational map layers
Each map application requires a set of operational map layers for use by a particular group of users. For example, users can display observations, sensor feeds, and query results on top of their basemaps to perform a series of work tasks and address specific missions and goals. These operational layers often also include a set of tools that are used to work with the map layer.
Some of the most common types of operational map layers are described here, which will help you with ideas about the types of operational information that you want to serve.
Characteristics of operational map layers
- Operational map layers are the ones that your end users will view and work with to perform their daily work.
- They are typically delivered as additional, independent map services that you draw on top of your basemap service in your GIS map application.
- There can be more than one operational layer in any GIS map application. However, you will typically want to limit the number of operational layers that your users work with to just a few, focused map layers.
- Operational map layers should be responsive. They should draw quickly and efficiently. Their contents should be up-to-date and reflect the current status that is relevant for the kinds of decisions that these map layers will support. They should be easy to use and understand. These aspects of operational map layers will influence how you design their display properties in the ArcMap documents and also how you will publish operational map layers for your users.
- If you are responsible for publishing GIS services, you will typically publish each operational map layer as a separate Web map service.
- Each independent operational map layer will be created as a stand-alone ArcMap document.
- In most applications, the operational map layer must be in the same coordinate system as your basemap service. This is relevant for simple client applications that cannot perform map projection on the fly (for example, in Web browser applications, ArcGIS Explorer, Google Earth, and so forth).
- You will need to define the set of tools and functions that your users will apply to work with the information in each operational map layer. See Tools for working with operational layers for more information.
It is also worth noting that some of the datasets that are used in your GIS basemap will also frequently be used as data sources for operational layers in your Web map applications. When you plan your design for this, you will want to consider how your operational map layers for these datasets will overlay onto and work well with your basemap.
Three methods for publishing operational map services
There are three common methods used to publish operational map services for end users to employ in their GIS map applications:
- As a dynamic map service using ArcGIS Server
- As a cached map service using ArcGIS Server
- Using queries to select a subset of features that meet particular criteria, then displaying the query results using map graphics and text
1. Publishing dynamic map services
One of the types of map services that you can publish using ArcGIS Server is a dynamic map service. As the name implies, the map layer display is dynamically generated. In other words, the display is computed and served each time you make a request to the server to display the map service. The resulting map image is sent to the requesting application and overlaid on the basemap.
To create a dynamic map service that is served using ArcGIS Server, you first need to create an ArcMap document and publish it as a map service. The resulting map service will be consumed in Web GIS map applications as a single map layer.
The ArcMap document for an operational layer should be very simple and contain only a single or a few focused map layers. The resulting map service provides access to the data, allowing you to display and work with the operational information.
This dynamic map service is usually displayed on top of a basemap service. Operational map layers are often combined with a small number of other focused operational map layers that are displayed together to provide a status map.
You can create a map document in ArcMap that references a map layer that will undergo frequent updates or be produced as the results of an analytic model. For example, if you have users who will edit a map layer in the Web map application, this map layer would certainly have to be dynamic. In these and many other cases, you want to compute the map layer each time that you go to draw the map.
Dynamic map services have the advantage of providing an up-to-date and accurate status for the operational layer. However, dynamic map layers are often the slowest way to draw a Web map. It is important to use map service definition (MSD)-based map services that use the fastest dynamic drawing available for ArcGIS Server. See Map service performance and functionality to learn more about MSDs.
2. Publishing cached map services
Another alternative for serving operational map layers is to use a cached map service where the map display is precomputed and stored in a map cache ahead of time. In these cases, there is no need to recompute the display of the operational map layer each time that a user requests a map from a server. Instead, the appropriate map tiles are retrieved from the server, which greatly increases performance and scalability.
In some cases, operational map layers are more static and change less frequently. This means that you can update them periodically by precomputing the map as opposed to computing a new map every time one is requested from the server. This way, everyone can access a faster, more efficient map service that they will work with.
Cached map services are also very scalable, meaning they respond well to many concurrent hits on your server. If you expect large amounts of user traffic, it may be worth it to cache your layer, even if you will need to make frequent updates to the cache. See Map cache updates to learn the best strategies for updating your cache.
If you do not have the time or disk space to create all the tiles for your caches, you may choose to precreate some tiles and create the rest on demand. When the first user hits the map server, the map cache is computed for the requested area (for a set of map tiles), and the cache is built. Anyone else who visits the same map tiles simply uses the new map cache. Each time a user makes a request, it retrieves that cached map tile if it exists. Otherwise, it computes the tile and caches it. Only the first user needs to compute the map display, and then other users can hit a cached map of the operational layer.
See Tips and best practices for map caches for more information on building cached map services.
3. Displaying query results as map graphics and text
One of the most efficient mechanisms for displaying operational information is to use the results of a query. You query the GIS server, which returns a set of feature results as a small record set. Query results that are returned from the server include a set of features, their coordinates, and a set of each feature's attributes. These results are displayed on the map as interactive graphics and descriptive information that can be worked with, charted, summarized, and used as hyperlinks that can be clicked to access more detailed information about each feature.
This approach requires application programming to create the map layer of results. Each ESRI Web mapping API contains help on making queries and displaying results on the map as client-side graphics.