A framework for deploying Web GIS
GIS end users (knowledge workers) use GIS map applications that are built and deployed by GIS professionals. These end users work with the GIS application to work on a variety of daily tasks.
As a GIS practitioner, your goal is to provide these users with a GIS map application that enables them to get their work done without having to learn a lot about GIS. Instead, your users can focus on the map application (which provides their view of the GIS) and the tasks that help them perform their daily work.
By necessity, your concept of each GIS map application is more complex than your end users' view. This section describes all the elements that you must assemble as part of each GIS application. These elements provide a framework for how you build and deliver Web map applications to your end users.
Elements of a GIS map application
There are five essential ingredients in every GIS application:
1. A GIS application
2. A digital basemap
3. Operational layers
4. Tasks and tools in the GIS application
5. One or more fully operational geodatabases
Any or all of these can be deployed as a set of ArcGIS (and other) Web services. Often, applications can be assembled from existing services that can potentially be independent of the application.
Here is a brief description of each:
1. A GIS application
The application is the software interface and its corresponding tools that are used to visualize, interact with, and work with geographic information. It may be a stand-alone application, such as ArcMap, Google Earth, or ArcGIS Explorer. It might also be a Web application that runs in a Web browser. Or, it could be a mobile application that works on a GPS-enabled field device or a smart phone such as ArcGIS Mobile.
You have a number of application choices that you can use to build each GIS map application for your end users. Often, the right choice depends on the set of functions, tools, and map displays required by the users' workflows. Just as often, the choice of application will depend on the end user and his or her experience using computers and the setting in which the work is done (for example, in the field, in a remote office with slow Internet speeds, and so on).
2. A digital basemap
Each map application includes a 2D or 3D basemap onto which operational information, observations, and derived information from analytic models are displayed and used. For example, orthoimagery is often used as a general base onto which operational information is overlaid.
A basemap is used for locational reference and provides a framework on which users overlay or mash up their operational layers, perform tasks, and visualize geographic information.
A basemap is a map having essential outlines (and more often than not, imagery) onto which additional geographic, topographic, and operational data may be placed. The basemap serves as a foundation for all subsequent operations and mapping. Basemaps provide the context and a framework for working with information geographically.
In GIS map applications, the basemap provides the setting (that is, the context) for each application. The type of application (for example, hydrology, parcels, electrical utilities, conservation) often defines the type of basemap that you'll need to use.
Because high-quality basemaps can require a lot of time and skill to produce, ESRI has created a series of Map Templates that you can download from the ArcGIS Resource Center. Currently, there are templates available for streets, topography, government infrastructure, trails, historical events, and reference overlays (to be viewed over imagery), with more templates on the way. These templates come with a finished map document and sample data. You can modify the template to use your data, or just use it as a learning tool to get ideas for designing your own basemaps.
The templates are also helpful because many organizations create similar types of basemaps. You may find that the templates help you eliminate redundant work and standardize on a style between a group of departments or government entities.
Types of basemaps
A number of types of basemaps can be published, each serving a particular range of applications. The following are some examples of common basemaps:
- Transportation basemaps containing roads, street names, points of interest, generalized land use, water bodies, and place-names. Commonly used examples of these are provided by Google Maps, Google Earth, Bing Maps, and ArcGIS Online.
- Topographic maps that are produced by most national mapping agencies.
- Hydrological basemaps showing water bodies, terrain, watersheds, and stream gauges.
- Image maps with terrain.
- City GIS maps to support various operations and missions (for example, a cadastral basemap).
- Administrative boundary maps (for example, census boundaries, political districts, ZIP Codes or postal codes, school districts)
- Engineering basemaps.
Some basemaps include optional layers that you can toggle on and off as map overlays—for example, map layers such as streets, political boundaries, shaded relief, and place-names are often included as optional basemap overlays that can be turned on or off for different viewing purposes.
Frequently, basemap layers are designed for display on top of an image base. For example, feature boundaries, symbols, and text labels have a separate design for use as imagery overlays.
Basemaps tend to be relatively static, and in a typical setting are updated on an infrequent basis. To increase efficiency, users build basemap caches (that is, they precompute the basemap and serve it as a series of high-performance, scalable Web services).
GIS users can follow a number of strategies for building and deploying basemaps for their GIS applications. For example, you can do the following:
- Use an existing Web map, such as Google Earth or Bing Maps, or use a basemap from ArcGIS Online.
- Extend ArcGIS Online Web maps by integrating your local GIS content with one of these existing basemaps. For example, you can add larger-scale content using your own GIS data.
- Use another GIS organization's basemap service.
- Build, maintain, and serve your own GIS basemaps.
For more information, see How to build online basemaps.
Tools for working with GIS basemaps
There is a common set of operations that are included for working with GIS basemap services—for navigating around the basemap (pan, zoom, and so on), for feature identification, and for finding locations (for example, to find the location of an address or place-name and zoom to that location). Often, specific locator tools will be needed for each type of basemap. For example, in a hydrological basemap, you may want to search on watersheds or on the names of river systems.
You may discover that your users will require a mechanism to easily find specific locations in their map using names that are relevant to their application, for example, tools to locate forest stands, river systems, watersheds, catchment areas, council districts, police beats, and so on.
3. Operational layers
These are the small set of map layers that you work with directly or derive as the result of an operation (such as an analytic model or a query).
Each map application is tailored for use by a particular group of users. The work and mission of each user requires working with a set of operational layers in their GIS map application. For example, an editor in an electrical utility uses ArcMap as his or her application and a land base as the basemap and edits the electrical facilities network as an operational layer as part of their daily work.
There are at least four types of operational map layers:
- Editing and data access layers. These are the map layers that your users work with, for example, to edit features, perform queries, and select features for input to analysis. Common examples are the facilities layers edited in a utility or other map layers that can be queried and used by end users.
- Observations or sensor feeds. This can be any information that reflects status or situational awareness, for example, crime locations, traffic sensor feeds, real-time weather, readings from meters (such as stream gauges), observations from equipment or made by workers in the field, inspection results, addresses of customers, disease locations, air quality and pollution monitors, and so on. These information sources are often displayed as status information in GIS Web maps. Also, they are frequently used as inputs into analytic operations that are computed on the ArcGIS Server.
- Query results. In many cases, applications will make a query request to the server and return a set of records as results. These can include a set of individual features or attribute records. Users often display and work with these results as map graphics in their Web GIS map applications. This approach typically requires application programming to create a map layer of results.
- Result layers that are derived from analytic models. GIS analysis can be performed to derive new information that can be added as new map layers and explored, visualized, interpreted, and compared.
In most GIS applications, users work with operational information (sometimes multiple operational layers) on top of their basemap, which provides the geographic context. At other times, the operational layer is displayed underneath other layers that help provide locational context, for example, when you classify and display ZIP or postal code areas by demographic information, you often overlay these results with transportation lines and place-names to provide locational context.
In either case, the operations that you perform on the layers require a set of software functions to be deployed as tools within the application.
Operational layers are often dynamic; they are retrieved from the GIS database and displayed during runtime, for example, each time you pan, zoom, or refresh your map. It is common that operational layers work within a focused range of map scales and resolutions. By contrast, your basemaps may be designed for use at a wider range of map scales. For example, basemaps typically enable you to zoom out to much larger map extents (and smaller map scales).
It's good to identify the range of map scales at which your operational information is displayed and used. In cases where operational information is used across a broad range of map scales, you'll need to plan for display of your operational map at multiple map scales.
Operational layers should have a series of focused tools that you can use to work with their contents, such as application tools to perform focused editing operations or to query and summarize results and observations. These capabilities are included in the application as a series of tools.
Some operational layers are produced as the result of GIS modeling and analytic operators. In these situations, a task framework is used to provide access to modeling operations hosted on an ArcGIS Server that can compute and serve the model results as operational layers.
In addition, working with results requires a set of tools for interacting with the derived information to visualize, interpret, analyze, compare, and report on conclusions.
It is also worth noting that some of the same datasets that are used in your GIS basemap will also frequently be used as data sources for operational layers in your Web map applications.
For more information about building and serving operational layers, see Building dynamic map layers (operational layers).
4. Tasks and tools in the GIS application
The GIS application that you create will include various tools for interacting and working with geographic information. The goal of your applications is to support the work of a target set of users. This dictates what tools you add to your GIS map application.
The tools you include in your GIS map application are tied either to the basemap or to the set of operational layers contained in your application.
Tools for working with basemaps
Most GIS applications include a set of map navigation tools to pan and zoom the map, identify and query features, and find locations such as an address or place-name. For example, ArcMap includes a toolbar named Tools that contains map navigation, query, and selection tools.
Many GIS applications and basemaps also include tools for address geocoding and finding place-names. Common Locator tools are useful for zooming to map locations based on address, place name, x,y coordinate, latitude-longitude measurement, or application-specific locations.
Locator tools should be built to work within the context of the specific basemap you deploy. For example, if you are a local government GIS user, you will likely want to use an address locator that is focused on finding addresses in your local area based on your own up-to-date, more accurate address and street information. See Geocoding for more information on creating, publishing, and using your own address locators in ArcGIS.
Tools for working with operational layers
The primary tools you will want to include in your GIS map application are the ones that your users will employ to work with the operational layers in the application. Your end users will utilize these to perform critical tasks and analyze and summarize their operational information, observations, and results. These tasks are very often part of a set of workflows.
In many GIS map applications, the set of tools for working with operational information can be quite focused and specific to each particular type of end user. The required set of tools often dictates the type of GIS application to be used.
Here are some examples for how users work with their operational information:
- Users who are editors require a series of focused tools that help them accomplish their specific editing workflows and assignments. For example, tools to edit a cadastral or parcel framework will differ from the tools used to compile electrical facilities or hydrological information.
- Many end users have a set of target layers and an associated set of tools to work with those layers, for example, tools to find and route to the closest facility, to calculate stream flows based on current conditions, or to perform point pattern analysis on a set of accident locations.
- For sensor feeds, there are often sets of tools for displaying, summarizing, graphing, and analyzing feeds from the field.
- Many GIS map applications include software functions to perform GIS modeling and analysis along with tools to work with, visualize, and analyze the results. There can be a series of tools to chart, analyze, and understand the results (such as to classify and map the results, perform statistical summaries, generate tabular reports, generate graphs, and so on).
- In some GIS map applications, users submit queries to the server, which returns a set of features and their attributes. These results are displayed on the map as interactive graphics and descriptive information that can be charted, summarized, and hyperlinked to more detailed information.
Using geoprocessing tasks to perform GIS analysis
A common use of GIS servers is to perform GIS modeling and analysis. These GIS services are used to generate a set of results that can be viewed, analyzed, and used in your GIS application. Most results are created using geoprocessing models.
Geoprocessing is the methodical execution of a sequence of operations on geographic data to create new information (that is, results). The process you perform may be routine—for example, to help you convert a number of files from one format to another. Or, the operations can be quite sophisticated—for example, to create a sophisticated analytic model and publish that model as a task using ArcGIS Server. Geoprocessing models are used to generate a series of results, which your end users can display, analyze, and evaluate in their GIS applications.
Once the results are generated and served, GIS application users will require various tools in their Web map applications to visualize, analyze, summarize, compare, and report the results.
Determining what tools that each user needs is key to building successful GIS map applications.
When geoprocessing models are published using ArcGIS Server, they are referred to as tasks.
See An overview of geoprocessing with ArcGIS Server for more information.
5. A fully operational geodatabase
You can think of GIS map applications as providing more than a map view. They also provide a window into intelligent geodatabases.
Each GIS application depends on a strong geospatial data management framework that can hold the information used to create and support all your GIS applications. This can be one or more geodatabases, a collection of shapefiles, various tabular databases and spreadsheets, CAD files, design files, imagery, HTML Web pages, and so forth.
You'll need one or more repositories of geographic information used across your GIS organization to support this work. Your basemaps must be created and maintained using a strong, up-to-date, and integrated GIS information model. Datasets must be edited and maintained. Observations must be captured. Analytic results must be logged and stored. And so on.
Geodatabases are particularly critical for not only managing collections of individual features but also storing and modeling the spatial relationships and behaviors that are critical for many GIS tasks and analytic operations.
There is a strong focus in the GIS professional community on investing in and building high-quality geographic information. The answers you derive from your GIS can be no better than the quality of the information contained in your GIS database. GIS datasets must be compiled in unison, harmonized, and integrated to fit together in a geographic framework. Many GIS users invest heavily in the creation and maintenance of their geospatial databases. These information stores are of immense value in addressing a broad range of questions. Strong geographic data becomes more critical when you want to do more than simply display observations on a basemap.
The ArcGIS geodatabase is a very strong and critically important data management technology for modeling, organizing, and maintaining rich GIS information to support your work. Geodatabases are designed to support all levels of GIS implementation, from those that support the simplest geodata models to those that are quite sophisticated.
Web services help you to deploy this framework
It is worth noting that any of these elements in a GIS Web map application can be hosted and served using ArcGIS Server. For example, various Web services can be accessed and assembled as part of your GIS map application—a basemap service, operational map services, geoprocessing services, geodata services, image services, and so forth.
One of the great strengths of GIS map applications is that you can mash up remote Web services with your own local content to assemble your GIS applications. It is worth the effort to take time to think about how you might leverage your own resources with services from other organizations in your Web applications.
Here is an example implementation of a GIS Web map application using the JavaScript interface to ArcGIS Server, which also queries the NWIS stream gauge network from USGS and returns time series observations for stream flow (http://waterdata.usgs.gov/nwis). These observations are accessible via a Web services protocol called WaterOneFlow, published by the Hydrological community. For example, see http://water.sdsc.edu/wateroneflow/.