Introduction

The Benton County Community Development Department uses ArcGIS to record mapping information necessary for processing new permits and other public services. To make this information available online for staff and public access, the county leases space on an ArcGIS Online server, as well as running their own installation on an ArcGIS server locally. The tools in this package interact with maps stored on an ArcGIS server, allowing staff to update the format and content of these maps quickly and efficiently.

For county staff, if you are interested in changing the format of maps, such as the color and style of a layer, or the size and description of labels for a layer, please refer to the Basic Use section. Modifying the map format requires minimal use of code, or prior experience with Python. For adjusting the map content, such as adding new layers, or replacing existing layers with updated source data, see the Development Guide. Adjusting map content may require adding additional lines of code, or modifying existing code in the package, but will not introduce programming concepts beyond the beginner level.

Purpose

Source files, like shapefiles (.shp) and geodatabases (.gdb), contain the spatial data that ArcGIS uses to draw a map. To make a source available to build maps on the server, first we upload the file onto an ArcGIS server, then publish it as a service. When using a service, the server references the source data to determine the style and color of the layer. But there are some drawbacks. Published services do not include legend groups, so if the layers are nested into groups using ArcGIS Desktop, this information is lost when publishing the source data as a service. For instance, the Corvallis Natural Features Inventory has two broad categories, Features and Hazards, with several subgroups contained in each branch. In the published service, this nesting information is lost, and all 30+ layers appear at the same legend level, leaving no distinction between features, hazards, or subcategories like flooding.

If labels are set in the source data, and popups enabled, they will carry through onto the server side, but this is not always the case. Some of the layers published in the county planning map come from external government sources, such as the USGS soil layer, or the FEMA flood hazard map. When the county does not own the source data, changes to the labeling, style or popup configuration are still possible by making these modifications on the server side. Even when the county owns the source data, changing the color or style of a layer, or the size of the labels, can be easier to do by adjusting the settings on the server side, rather than updating the service definition by modifying and uploading new source data.

The primary motivation for this package is the facilitate tweaking of the server-side display settings for layers, and automating the process of updating existing maps and creating new maps incorporating these changed settings. Normally, changes to a web map on the server are isolated to that particular map, and if you want to use the same source layers in a new map, you are stuck making these changes all over again. Using this package, you can set the visual style of a county map and these settings will persist on future builds of the map, reducing repetition and saving valuable time.

Terminology

A web map is a server-hosted ArcGIS map build from published services. When you upload source data onto the server, this creates two new files stored in your user account, a Service Definition and a Feature Layer that should have the word hosted in parenthesis following the file type designation. Selecting the Feature Layer will load an overview page describing the contents of the file, and on the sidebar will be a series of buttons showing user options like Share and Export. The top button on the sidebar offers to open the file in Map Viewer, and in fact this creates a new web (called Untitled). This web map is a unique view of the source data, and changes made to this map will not affect the source. Clicking on the folder icon and selecting “Save” or “Save As” will only record changes to the web map. To save changes to the source layer, it is necessary to click on the options button on the individual layer in the map, symbolized by an ellipsis (…).

Although it is possible to share web maps between users, the most common way to share map is using a web app, which is a web mapping application that references an existing web map as its source. On the overview page of a web map, you can create a new web app referencing this data by clicking on the “Create a Web App” button, which will open a construction wizard, allowing you to choose an app style from a set of pre-defined templates. Not all web apps are designed equally, and all the features of a web map might not display on every app. The web app controls aspects like the background color, positioning of the company logo, and formatting of the legend. Depending on what aspect of the viewing experience you wish to alter, you may find yourself having to alter the web app, web map, or source data. These are the three points of contact for adjusting the user experience.

The tools in this package are designed for producing web maps from source data, and they address common pain points during the web map development process. Modifications to source data, and adjusting the settings on web apps, are outside the scope of this project.