A framework for deploying web GIS applications
As a GIS practitioner, your goal is to provide end users with a web GIS application that enables them to get their work done without having to learn a lot about GIS. By necessity, your concept of each web GIS application is more complex than your end users' view. This section describes all the elements that you must assemble as part of each web GIS application. These elements provide a framework for how you build and deliver GIS to your end users.
Elements of a web GIS application
There are five essential elements in every web GIS application:
- A web application
- Digital basemaps
- Operational layers
- Tasks and tools in the web GIS application
- One or more geodatabases
Here is a brief description of each:
1. A web application
The web application provides the software interface to the client, and its corresponding tools are used to visualize, interact with, and work with geographic information. It may be a ArcGIS Viewer for Flex application that runs in a web browser, or it could be a mobile application that works on a GPS-enabled field device or a smartphone, such as an iPhone.
You have a number of application choices that you can use to build each web GIS 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).
To explore your choices for creating web applications, see the topics below:
- Sharing your map in a web application
- Creating web applications with the ArcGIS Viewer for Flex
- Creating web applications with the ArcGIS Viewer for Silverlight
- Creating web applications with the ArcGIS API for JavaScript
- Creating web applications with the ArcGIS API for Flex
- Creating web applications with the ArcGIS API for Silverlight
2. Digital basemaps
In web GIS applications, the basemap provides the geographic context for each application. The type of application (for example, hydrology, parcels, electrical utilities, and conservation) often defines the type of basemap that you'll need to use. For example, in a web GIS application aimed at waterfowl conservation, high-resolution orthoimagery would be an appropriate basemap for digitizing wetlands.
The following are some examples of common basemaps:
- Transportation basemaps often contain roads, street names, points of interest, generalized land use, water bodies, and place-names.
- Topographic basemaps often contain administrative boundaries, cities, water features, physiographic features, parks, landmarks, transportation, and buildings.
- Terrain basemaps often contain shaded relief imagery, bathymetry, and coastal water features designed to provide a neutral background for other data layers.
- Imagery basemaps often contain low-resolution satellite imagery for the world and high-resolution satellite imagery for select geographies around the world.
- Hybrid basemaps often contain optional layers that you can toggle on and off as map overlays—for example, map layers such as transportation, topography, terrain, and imagery are often included as optional basemap overlays that can be turned on or off for different viewing purposes.
Because high-quality basemaps can require a lot of time and skill to produce, Esri has created a series of Online Maps & Tasks and Map Templates that you can access from the ArcGIS Resource Center and utilize in your web GIS applications. However, if you prefer to build your own basemap, ArcGIS for Desktop provides all of the tools necessary for you to efficiently assemble, author, and cache highly attractive basemaps. See the topic About building your own basemap for more information.
It is important to remember that basemaps tend to be relatively static. In a typical setting, basemaps are updated on an infrequent basis. For example, a transportation network may be scheduled to be updated on an annual basis to account for street network changes in a large metropolitan city. Conversely, a topographic basemap may only be updated on a decennial basis, due to its dependency on a national census or surveying effort.
3. Operational layers
Operational layers are the small set of layers that you work with directly or derive as the result of an operation (such as a query) in a web GIS application. These layers are often tailored to a particular group of users by a GIS professional. For example, an urban planner uses a Windows smartphone running a GIS application to update the location of manhole covers in a sanitary sewer/storm water system layer.
Operational layers consist of, but are not limited to:
- 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 web GIS maps. Also, they are frequently used as inputs into analytic operations that are computed on the server.
- 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.
- 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 applications.
- 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 by end users.
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.
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.
For more information, see the topic About operational layers.
4. Tasks and tools in the web GIS application
Web GIS applications often provide tools that perform processes beyond mapping. These tools range from common types, such as finding an address, to more specific types, such as calculating monthly rooftop solar energy potential for a large city.
There are two ways to run your tasks:
- Have the client do it: This method fits processes that are relatively easy and when the data needed is all on the client side. Typical examples include charting analysis results and generating heat maps based on a set of point features.
- Have the server do it: This fits processes that are complex and when the data needed is not housed on the client side. Typical examples include finding and routing to the closest facility, calculating stream flows, and finding the best habitat by overlaying a number of data layers.
Below are some additional considerations regarding how you can use tasks and tools in your web GIS application:
- Users who are editors require a series of focused tools that help them accomplish their 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 web GIS 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 web GIS 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.
5. One or more geodatabases
Each GIS application depends on a strong geospatial data management framework that can hold the information used to support your application. 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.
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 geodatabase. 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 display observations on a basemap.
ArcGIS geodatabases are a 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 web GIS application can be hosted and served using ArcGIS for Server. For example, various web services can be accessed and assembled as part of your web GIS application—a basemap service, operational map services, geoprocessing services, geodata services, image services, and so forth.
One of the great strengths of web GIS applications is that you can mash up remote web services with your own local content to assemble your web 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 GIS applications.
Solar Boston is an example implementation of a web GIS application developed using ArcGIS that highlights an online interactive map of solar energy potential in the City of Boston. A breakdown of the framework for deploying this web GIS application is as follows:
- The web application was developed using the ArcGIS API for Flex.
- Digital basemaps, including street, terrain, and aerial content, were created and cached in ArcMap. These are made available to the web application as services.
- Operational layers, including historic districts, NSTAR areas, and solar radiation layers, were created in ArcMap and are made available to the web application as services.
- Tasks and tools in the application include a geocode service for finding your address, a feature service for selecting a building or area of interest, and a geoprocessing service, which calculates solar energy potential for your address, building, or area. Each time you use a tool in the application, the server does the work of handling the request and returns the result to you through the interface of the web application in your web browser.
- A SQL Server database is used to store solar project data. This data is made available to the web application through a GeoRSS feed.