Water Distribution System Modelling System Using ArcGIS Engine, VB.NET, DevExpress, EPANET and C++

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 parters. 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.

Click here to download a PPT for this project


When: 2007-2008

Where: A provincial capital city in Northern China

Team: Beijing Rocktech Co. Ltd.


  1. Develop a water distribution system modelling system using EPANET and ArcGIS Engine
  2. Collect field data, create, calibrate and validate EPANET model for the city


EPANET is a software that models the water distribution piping systems programmed with C. It has been the standard simulation engine for water distribution system. Even though a GUI comes along with the engine, the functions couldn’t meet the data management requirements for water plants of a big city.

This project was trying to create a dynamic water distribution system model based on GIS data and some field survey for a provincial capital city in China. It will be used to guide the operation of the pumps and valves in the system to serve all residents properly and minimize the energy used at the same time. The real-time monitoring data was also involved in the system to keep the model up-to-date.


To achieve user requirements, EPANET and ArcGIS Engine were coupled to develop a water distribution system modelling system. EPANET is the simulation engine and would read model data in SQL Server database through ArcSDE. To enable EPANET read GIS data, Microsoft Active Template Library (ATL) was used to modify EPANET source codes and the GIS data was read using ArcObjects for C++. The EPANET was encapsulated a COM DLL, which gives API for simulation results reading.

The main interface was developed with VB.NET. Variety of DevExpress windows forms was used to make the interface look more modern (Office 2003 style). All map functions were developed with ArcGIS Engine, which include map display, data query, data edit, spatial analysis and customize feature render for model results display.

The system architecture is shown below.


  1. Principle modeler to coordinate model data collection, field survey and model calibration
  2. Design GeoDatabase for EPANET model and import data from a GIS database
  3. Develop the main interface with VB.NET and DevExpress
  4. Test and deploy the system
  5. Compile user manual
  6. Customer service and system maintenance


Main Interface

Choose one pipe on map to edit attributes and see model results on the right, display model results in graph at the bottom

Show flow direction base on model results through customized feature renderer

Annotate pipes and points with model results using customizable style

Source tracing analysis on geospatial data and model results using network analysis to find out pump stations and pipes from which the water flow to given point

Generate pressure/head contour based on model results using TIN in ArcGIS 3D Analyst


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