Hi everyone,

In this post, I want to share part of my project experience for developing a pipeline monitoring system using ArcGIS Engine.

This project is required by a pipeline management company that monitors for gas leaks from pipelines in the oil and gas industry. As part of the project requirements, the pipeline network should be visualized in a map view. I choose ArcGIS Engine to develop the whole project. During my undergraduate study, geographic information science was my major, but since continue on to my masters degree, I have not uses ArcGIS Engine for development for a long time. So before I started developing the project, I needed some time to review the basics about developing with ArcGIS Engine.

At the beginning of the development, the first thing we needed to do was to configure the development environment. In this project, I used Visual Studio for the development. I created a Windows Application (Desktop) project and imported the necessary references for ArcGIS Engine. After that, we needed to find the ArcGIS component in the Visual studio toolbox. We used the ToolbarControl, TOCControl, LicenseControl and MapControl objects. ToolbarControl is a UI component for providing access to tools in the app that work with other components within the application. TOCControl is the component to control the directory of the project. LicenseControl is the component for managing the license. MapControl is a UI component that is similar to the map view in ArcMap. MapControl encapsulates the Map object and provides additional properties, methods, events, etc. It is an indispensable part of our next series of developments. After importing the above components of the ArcGIS Engine the system will looks like Figure 1.

Figure 1. Application with ArcGIS Engine

Next, we can add the tools we need by editing the properties of the ToolbarControl, and remember to set the ToolBar’s Buddy option to the instance of the TOCControl component in the property settings of the ToolBar control, so that we can Link the two together. We should also bind the ToolbarControl and TOCControl with the MapControl together in the code. In the property setting of the ToolbarControl object, we can set commonly used tools we need for the Toolbar: save, move, undo, zoom in, zoom out, etc. The simple GIS desktop application this creates is shown in Figure 2.

Figure 2. GIS desktop application

With this basic application, the next step of the project will be obtain the pipeline data from the company and try to visualize the pipeline data in the desktop application. Following that will be deign of a gas leak detection algorithm for the pipeline data. In the meantime, we will also look for other state-of-art technologies if it is applicable.