Web-GIS for Water Distribution System Using ArcGIS for Server, .NET, Flex and SQL Server

Copyright: I have got the permission from project partners to publish these information. The copyrights of the data and related software are hold by all project partners. All the information here is for demonstration purpose only. It can’t be used for any other purpose. For any concerns, please don’t hesitate to contact me.

This is an ongoing project I have been working on for 7 years staring from 2007 when I was a PhD student in Tianjin University, Tianjin, China. The project kept evolving along with the development of web technologies and ArcGIS for Server. From Web ADF for .NET to ArcGIS API for Flex, we are trying to make the web GIS powerful and easy to use.


When: 2007-present

Where: A provincial capital city in Northern China

Team: School of Environmental Science and Engineering, Tianjin University, China

Objective: Create an online GIS system for staffs located in various offices to manage water distribution system data and real-time monitoring data

Phases: Phase I: 2007~2009, Phase II: 2010~2012, Phase III: 2013~present


  1. Team leader, system designer and developer
  2. Communicate with client for detailed user requirement analysis
  3. Design the web GIS application architecture and develop most of the system with .NET and Flex
  4. Purchase, assemble and setup the IBM server to host map services and web services
  5. Design Geodatabase and configure SQL Server and ArcSDE
  6. Create and manage map services with ArcGIS for Server
  7. Deploy and test the system
  8. Customer support and system maintenance


Reclaimed water, as the less expensive alternative to portable water, has been introduced to many cities in China. Unlike the water distribution system for tap water built 100 years ago, the water distribution system for reclaimed water is constructed in digital era and its information (geospatial and non-spatial) could be established when it’s being constructed. The city recognized the advantage and needs of a distributed GIS system when they are building the water distribution system and started the project from 2007.


As staffs are located in different offices around the city, a distributed web-GIS system is more suitable for data management. ArcGIS for Server has been around for a year that time and was chosen as the main platform for the system.

The Geodatabase was created first to meet the data management requirements. Geometric network was utilized to simulate the network connection and help further analysis. GPS units were purchased to help field data collection. All data were stored in a SQL Server database through ArcSDE. Map services were created using ArcGIS for Server and a customized application was developed as the main interface to the GIS data for all staffs.

The project has gone through three phases. Web ADF for .NET was the framework used in phase I and was replaced with ArcGIS API for Flex in phase II. It’s going to the third phase from 2013 and more analysis functions would be added. With Web ADF for .NET, most of the functions were implemented through customized tasks using ASP.NET. After transferring to ArcGIS API for Flex, all previous functions were re-wrote as ASP.NET web services. Note that the client application was built with Flex(actionscript) directly rather than utilizing ArcGIS Viewer for Flex. It took more efforts but would give more flexibility on interface design and functionalities.

The system architecture is shown below. The client application was built with Flex(actionscript). Some basic GIS functions were implemented with ArcGIS API for Flex, e.g. identify and query. Other more complicated analysis requests would be given the ASP.NET web service in the service side, where ArcObjects was used to manipulate geospatial data residing in map services provided by ArcGIS for Server. There are two SQL Server databases for geospatial data and real-time monitoring data respectively. With limited budgets, the web service and map service was in one IBM server but could be distributed in different servers in the future.


Main Interface

The main interface includes menus, toolbar, table of content, express location list, status bar and the map area.

Valve Search (Network Analysis)

Valve search interface is shown below with just two buttons: the first one is used to choose the location where the burst happens and the second one is the submit button to start analysis.

The network analysis is utilized in this process to make sure no water could flow into the affected area when the chosen valves are closed.

It would give all the values that needs to be closed for emergency maintenance and all the residences affected to be notified through phone call or text message. The valve list would be sent to field workers.

The affected area is also shown with highlight color to be printed out and taken to field.

Real-time Data (Customized Graphics)

It will display real-time monitoring data on map and/or in a movable window with customizable setting.

To display the real-time data on top of the feature, a dedicated graphic layer is added and customized graphics
are added for each feature where the real-time monitoring data generates. The background and text color, refresh frequency could be configured through the setting window and the config file.

Click the graphic on map or list item to open following operation window to see real-time and historical data in table/chart, checkout warning information and perform some analysis.

Checkout historical data in chart and table

Query with Spatial and Attribute Condition

The main interface for query is shown below to define the spatial and attribute condition.

Define a rectangle area (green) as the search area

Define the attribute condition: Pipe Diameter = 200mm

Display the results in a table with the ability to export to Excel file

Summarize Features on Attributes

This functions summarizes features on attributes, which is similar as the summarize function in ArcMap (shown below) but with more flexibility.

The main interface for summarize function is shown below, where user has chance to choose layer, more than one summary fields, field group method (one value one group, range group and free group for numerical fields) and summary statistics option (count or summation of a numerical field). In following example, choose pipe layer to analyze and select two fields to summarize (diameter and material). One value one group method is used for pipe material field as it’s a text field, i.e. one material will be one group.

Three groups are defined for pipe diameter: 0~500mm, 500~1000mm and 1000~2000mm.

All the pipes would be grouped by diameter and material and the total length of pipes in each group would be calculated and given in the following results window, where summary information would be given in table and different types of chart (line, column and pie).

Clipe and Export

This function would generate an output file for given part of the map with given scale. The main interface is shown below, where user has the chance to define a rectangle area, the scale and the output file format. The file could be downloaded as soon as it’s generated successfully.


The measure function would give the total length of a user-defined polyline and the area of a user-defined polygon.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s