ArcUser Online

Search ArcUser


Improving Code Enforcement Services with GIS

By John Donoghue II, City of Riverside

ArcUser April-June 2001
  Riverside City Hall

Like all cities, the City of Riverside, California, is concerned with the quality of life in its neighborhoods. The City recognizes that nuisances, such as inoperable vehicles or the accumulation of trash and debris, can degrade and devalue any neighborhood. To protect its neighborhoods, the City adopted municipal codes that govern the use and maintenance of private property. The City's Code Compliance division is responsible for enforcing the City municipal codes.

The division wanted to improve efficiency and the level of service to City departments and constituents. However, the existing code violation database system provided no means for the division to adequately track the existing workload. Any decisions about field resource allocations were made by supervisors based on gut feeling, rather than on an analysis of current and past violation patterns.

Tracking the Workload

As part of its efforts to improve service, the division implemented the Code Enforcement module of Hansen Information Technologies' citizen relationship management software. The Hansen software provided the division with an integrated way to manage government activities related to land management. The tools Hansen provided allowed the division to begin tracking existing productivity so that resources could be effectively allocated and deployed. Hansen was also chosen because its tools can be integrated with GIS applications such as ArcView GIS.

The division started using Hansen in March 1999. After the division had been using the program for several months without a GIS interface, Cecilia Nordin, the division manager, determined that enforcement area boundaries needed to be rearranged and staff reallocated. This change would provide better enforcement and develop a more proactive approach to resolving code violations within the City but would require securing additional funding to hire and equip the officers who would cover the new areas.

The Need to Map Hansen Data

To convince the City Council, Nordin wanted to use the data in Hansen to justify the need for additional funding. After several months of use, the Hansen database contained a large amount of data. Nordin could generate many reports documenting the number and types of code violations, but she felt something visual was needed to adequately demonstrate this workload to the City Council. She asked the City's GIS team for help in creating an interface for Hansen using ArcView GIS.

The GIS team initially looked at Hansen's GIS interface as a means of quickly connecting Hansen to the City's GIS data. However, Hansen's method was limited and consisted of simple lookup functionality that only enabled a user to show the location of one case at a time. After reviewing the options for integrating Hansen with the City's GIS data, the team decided to develop an ArcView GIS application that would allow an individual who was unfamiliar with GIS to display and query code violation data from the Hansen database.

Overcoming Obstacles

Codeview application

The Codeview application queries the Hansen database and displays code violations.

Development of this ArcView GIS application, dubbed CodeView, began in November 1999. Soon afterward, the complexities of working with the code violation data in Hansen became apparent. Developing a suitable method for retrieving data through a live connection to the Hansen database and mapping that data in ArcView GIS was one of the first issues encountered. The division had a large amount of data in Hansen. It was important to map as much of this data as possible so the division's workload would be adequately depicted. There were numerous instances of a single parcel that had more than one code violation. The division staff needed to display a point for each violation on a parcel.

Providing this functionality meant finding a way to handle joining many records from the Hansen database to the City's parcel layer so that each parcel could have zero or more code violations associated with it. In the early stages of application development, this was handled using Avenue scripts. However, this approach proved to be impractical because mapping a fiscal year's worth of data took up to 20 minutes to process.

To overcome these obstacles, the GIS team decided to implement a hybrid approach. A shapefile containing a point for each individual code violation was generated each evening with an automated ARC Macro Language (AML) script. When a user started the CodeView application the next business day, ArcView GIS loaded the point shapefile and joined the points to the live Hansen data using a unique case number attribute. From the user's perspective, the application started and ran quickly with just a brief wait while the points and Hansen data were joined.

Initially, this process worked well, but over time the Hansen database grew in size and the AML processing time increased dramatically. Eventually, the AML processing was taking four to six hours to run each night, and the procedure was conflicting with other automated processes such as database and server maintenance.

To decrease the time needed to generate the point shapefile, the process was rewritten in Visual Basic using MapObjects. This resulted in several benefits. The compiled MapObjects application ran in less than half the time of the original AML script and ArcInfo no longer had to generate the point shapefile data. While the previous AML process ran as a crontab job on a UNIX workstation, the new MapObjects program could be run as a scheduled task on a user's Windows NT workstation.

The CodeView Application

When the CodeView application was completed, it consisted of a customized user interface that used a simple dialog to help a user query the Hansen database. In addition, the application supported quick load and display of the typical GIS data layers used by the division staff.

Users could query code violation data by selecting attributes such as violation type, assigned officer, and date. Users could also query by choosing a given geographic area, such as a City ward, neighborhood, or inspection area. Complex queries could be created combining multiple attributes and a single geographic criterion.

Upon completion of a query, the CodeView application returns a map that displays a point for each violation that meets the user's criteria. It provides the user with the option of viewing a bar graph, generated by Crystal Reports, that shows the total number of violations as well as the number of violations by type. A user-friendly mapping tool was developed that quickly produces maps of the visible area with a scale bar, title, the division name, and standard mapping disclaimer.

While it started as a simple tool to assist the division with mapping the location of its code violations, Nordin quickly saw that the application could be used as a management tool for a variety of functions such as

  • Establishing the best areas to target proactive enforcement efforts
  • Determining more efficient enforcement scenarios based on workload and area covered
  • Studying the workload of each code enforcement officer by a specified geographic area
  • Determining the locations of concentrations of certain types of violation within the City
  • Evaluating the number and type of each violation within a given geographic area
  • Analyzing the distribution of code violations by type, number, and geographic extent
  • Comparing the distribution of code violations by area within a specified time frame
  • Identifying the location of all code violations within the City limits

Part of the division's efforts to improve customer service involved identifying target areas for enforcement efforts. To determine whether these methods were successful required monitoring the types and numbers of violations that occurred in these target areas over time. To help officers effectively analyze these target areas, the application was enhanced so that officers can delineate a target area on the map and create queries and reports of the code violations that occur within the target area. In addition, officers can save and load the target area's geometry so that reports and maps showing the condition of each target area over time can be generated.

Benefits to the Division

The CodeView application was immediately useful in showing the Code Compliance division's workload in a meaningful and easy to understand fashion. In the application's debut demonstration to the City Council in May 2000, the division was able to show Council members the scope of the code violations in the City. The City Council was impressed with the application's ability to display and report on the code violation problems in their wards and agreed to approve the division's funding request. Council members also thought the application would be useful for preparing maps and charts for their meetings with City constituents as well as for tracking the progress of the Code Compliance division's efforts throughout the City.

Codeview report

A typical Crystal Reports bar chart generated by Codeview.

When the CodeView application was first shown to Code Compliance officers, mapping the division's workload revealed some surprises. division officer Jerry Jenkins said, "I have been doing this job for years, but this was the first time I was able to see the actual scope of my work efforts." The CodeView application has proven to be instrumental in helping Nordin determine what code violations are most prevalent in different areas of the City. While she and the Code Compliance officers already knew much of this information, the CodeView application provided a method to create maps and reports that could be used to communicate this information to others, especially the City Council.

Nordin is very pleased with the application and says, "It provides a good visual representation of the work we are doing. Moreover, it's also an excellent reporting tool." The division regularly gets requests from other City departments for a history of code violations in a specific area. Before the CodeView application existed, these requests involved manually searching their code violation database for each address in the area. Using the CodeView application, Nordin and other division staff can process these requests in minutes and quickly produce visually appealing code violation summaries.

The CodeView application has enabled the division to realize the benefits of GIS while leveraging the investment made in implementing the Hansen Code Compliance module. The division now sees GIS as a valuable enforcement tool and is currently working with the GIS team to deploy a field-based GIS application to assist with managing weed abatement enforcement.

Future Directions

The GIS team is looking at providing similar applications for other departments using Hansen modules, as well as possibly providing this functionality on the Internet, so City constituents can see what code violations exist in their areas.

For more information, please contact
John Donoghue II, GIS Programmer Analyst
Affiliated Computer Services, City of Riverside
3900 Main Street
Riverside, California 92522
Tel.: 909-826-5623
Fax: 909-826-5604

About the Author

John Donoghue II has a bachelor's degree in geography from California State University, San Bernardino, and a certificate in GIS from the University of California, Riverside. He works for Affiliated Computer Services at the City of Riverside developing GIS applications.

Return to Table of Contents for April–June 2001 issue

Contact Us | Privacy | Legal | Site Map