WebGIS-based power grid operation monitoring technology and its implementation
2026-04-06 06:20:05··#1
Abstract: This paper proposes a solution for monitoring the real-time operation of the power grid in WebGIS. It introduces the structural principles of a WebGIS-based power grid operation monitoring system, analyzes in depth the key technologies of real-time data acquisition, display, and real-time page refresh in WebGIS, and elaborates on the implementation methods of these key technologies. Keywords: Geographic Information System, Monitoring System, Web , Real-time Data 1. Introduction The application of Geographic Information Systems (GIS) in the power system has made significant progress in recent years and is widely welcomed by power companies. With the continuous expansion of various information systems within enterprises, traditional GIS, due to its inherent closed nature, is difficult to integrate with other computer systems in power companies. The costly GIS system is merely another application system within the enterprise's isolated computer information ecosystem. Power companies hope that the GIS system will be an open, integrated spatial resource management (GRM) system that can be fully integrated with the enterprise's mainstream information technology to meet the high-level requirements of enterprise information management. This paper explores the integrated application of GIS and SCADA systems and how to achieve real-time monitoring of power grid operation in a Web-based GIS, thereby elevating the power GIS to an online system and giving it new vitality. The system's design and implementation enable users to browse GIS information and corresponding power grid operation status parameters anytime, anywhere, while also providing accurate and complete information for advanced power grid calculations and other in-depth analyses. 2. Technical Prerequisites Currently popular GIS development platforms include MAPINFO, ARCINOLOGY, and G/TECHNOLOGY. Among them, G/Technology is a next-generation geospatial resource management solution platform for pipeline enterprises, developed by INTERGRAPH in the United States, drawing on over 30 years of experience implementing AM/FM/GIS systems in the utilities and communications sectors, combined with the latest open graphics and database technologies. G/Electric, a component of this platform suite, provides power companies with the world's most open, fastest, and most powerful real-time AM/FM/GIS solution. G/Electric seamlessly integrates geographic facility management, operation and maintenance support, and service delivery applications to manage the planning, design, construction, operation, maintenance, and emergency response of a power project. It fully integrates the configuration of enterprise geographic facility data. A key component of G/Electric is a pre-built power facility network model and database, ensuring the rapid and accurate execution of projects. G/Electric's robust power system technology support makes it the preferred development platform for large-scale power GIS. One of its standard modules, G/NetViewer, is a tool for implementing GIS for Internet/Intranet applications. In web-based mode, it adopts a popular three-tier architecture, allowing all user interface logic to be moved to a web server via a browser. This fully integrates business processing and geospatial facility network models, solving distributed data access issues, and supports the latest Microsoft .NET technology. This paper discusses a web-based solution for real-time monitoring of power grid GIS based on the G/Electric GIS platform and its key component, G/NetViewer. 3. System Composition Principles and Key Technologies Since G/Electric is a powerful AM/FM/GIS platform, it does not directly provide a dynamic data integration solution representing power grid operation, nor can it directly publish data to the web. Secondary development of the platform is necessary to achieve real-time monitoring of power grid GIS in a web-based manner. Furthermore, during our actual research, we found that when monitoring the operation status of a power system in WebGIS, users always want to be able to browse and monitor the structural information and operation status of the entire network or any lines and substations of interest on a web page, and further desire to perform some kind of online power grid calculation and analysis. Therefore, the key technologies for implementing power grid operation monitoring in a browser-based GIS application system are firstly, how to achieve web publishing of maps and real-time operation status data, and secondly, how to ensure that the web page displaying the real-time operation data can be refreshed at user-specified time intervals, allowing enterprise users to query and browse relevant maps and corresponding real-time operation data in the power grid GIS at any time and any location according to their own wishes. Thus, we have the system structure shown in Figure 1: Because any object displayed in a GIS built under the G/ELECTRIC platform exists as a "device object." G/ELECTRIC provides predefined power grid-related "device objects" such as: substations (including busbars, transformers, instrument transformers, etc.), towers, lines, insulators, disconnectors, switches, etc. By using the power grid model "devices" provided by G/ELECTRIC and strictly following the rules of the power system, a standard power grid GIS system can be fully established. To display power grid operation data in the GIS system, we designed a real-time data display device as a user-defined "device object" in G/ELECTRIC. After defining the basic equipment describing the power grid, a new device, "Real-time Data," is defined to display power grid operation status parameters. During operation, the real-time communication module decodes the data sent by SCADA and determines the real-time data field of the GIS data display object to be filled based on the data code of the current data packet, which is then used as the content displayed by the device. The main structural parameters of the "Real-time Data" device definition are shown in Table 1: Table 1 Main Definition Parameters of Real-time Data Display Device Since the real-time data originates from the SCADA system of the power grid dispatching department, it is agreed through negotiation that the SCADA system will periodically send real-time data to the GIS application server using UDP/IP protocol packets. The GIS application server decodes the data packets and stores the decoded real-time data in the corresponding fields of the corresponding real-time data display device object according to the data code. The SCADA system sends real-time data according to the format in Table 2: Table 2 Real-time Data Storage Format Wherein, DM (data code) describes the physical meaning of the corresponding SCADA data, and SCADA_DM in the real-time data "device" uniquely corresponds to it, so as to realize the retrieval of real-time data in the real-time database. In this way, real-time operational status monitoring of the power grid GIS based on G/ELECTRIC via the web can be divided into data communication (data acquisition from SCADA in GIS based on UDP/IP protocol), data display (data display via G/NETVIEWER), and timed refresh of the web page. Therefore, the system consists of four logical layers: network layer, data layer, business object layer, and user interface layer. The network layer uses UDP/IP protocol to achieve communication between the GIS and SCADA systems, decodes SCADA data, and stores it on a local data server. The data layer uses an Oracle database system to manage various types of data in the GIS system. The business object layer handles how to access data and how to distribute data to clients. This layer uses the G/NETVIEWER web solution provided by G/ELECTRIC to implement the connection, query, browsing, and data refresh of G/ELECTRIC map information via the web. The user interface layer consists of a web-based application. This part completes the user interface design and ensures that the page refreshes at user-specified time intervals. Simultaneously with page refresh, the map refresh API function provided by G/NETVIEWER is called to achieve the refresh and display of the map and real-time data on the web browser. The program uses the `window.setInterval` and `window.clearInterval` methods of the `window` object in the document model object to trigger timed events on the page. 3. Implementation Method: The GIS receives real-time information from various power grid measurement points sent via messages from the SCADA system, including real-time measurement data (at each measurement point) of voltage, current, active power, reactive power, and energy consumption. After receiving the information, the GIS system performs corresponding unpacking processing according to the defined communication format. During unpacking, it determines the SCADA code of the current data packet and, based on this code, decides which real-time data graphic object's data field to write the received data to. This allows for real-time updating of SCADA system data in the GIS system. After acquiring the real-time data, the remaining task is to implement real-time page updates in a web-based manner, thereby enabling monitoring of the power grid geographic information system and its real-time operating status within the web page. Since power systems are typically slowly changing systems, theory and practice have shown that 15 minutes of SCADA data is sufficient to represent the power grid's operating mode. In reality, real-time data reception has reached an update rate of 4 seconds. Therefore, the refresh rate of the monitoring page in this system should be arbitrarily specified by the user, ranging from 5 seconds to 15 minutes, to meet the needs of web monitoring of the power grid's operation. The key technology in this implementation is how to refresh the monitoring page at specified time intervals. The implementation principle and specific methods are described below. First, the web display of basic GIS map information is implemented. Here, the G/NETVIEWER application tool of G/ELECTRIC is used to implement the web display of GIS. The NetViewerMap Control, a map display space provided by this tool, is placed on the web page. Then, the front-end script code for the relevant database connection is written to implement the GIS database access of the control, obtain the display legend, and realize the web display of the GIS legend. The key code is as follows: `sub window_onload() 'Called when the page loads'` `Dim sConnectInfo, sServerName 'Define database connection related attributes'` `sServerName = "HTTP://DLGIS"` `sConnectInfo = "ConfigurationName="PROD_";UserName="PROD";Password="PROD_"` `NetViewerMap1.Connect sServerName, sConnectInfo 'Connect to the database'` `Dim oMetadata, oLegendRS, oOption, sLgndName` `Set oMetaData = NetViewerMap1.Metadata` `Set oLegendRS = oMetaData.GetLegends() 'Get GIS legend information'` `With NetViewerMap1 'GIS legend display'` `.ViewLegend mainform.legends.value .Map.Fit .Map.Refresh` `End With end sub` Next, we'll discuss how to implement timed page refreshes at specified intervals. This part is implemented using JavaScript. Due to the stateless nature of web pages, when a page is refreshed at a specified interval for the first time and then revisited, the previously specified refresh interval parameter is not retained. Fortunately, cookies provide a useful method for web applications to store user-related information. A cookie is a small piece of text information that accompanies user requests and pages between the web server and the browser. Each time a user visits a site, the web application can read the information contained in the cookie. Its fundamental purpose is to maintain the continuity of the web application (i.e., to perform "state management"). Here, cookies can be used to store time parameters. When the page is revisited, the application can retrieve the corresponding cookie and the previously stored time interval parameter, refresh the page according to that parameter, and then call the refresh function of the NetViewerMap Control to achieve real-time display of map and SCADA data. The key code is as follows: function monitor_onclick() { // Start monitoring var value = document.Form1.TextBox1.value; // Enter the monitoring interval (seconds) var Then = new Date(); var mytime; Then.setTime(Then.getTime() + 1000 * 60 * 60 * 24); // Set cookie expiration document.cookie = "alerting="+value+";expires="+ Then.toGMTString(); // Save cookie value=value*1000 window.clearInterval(timeId); // Clear the current timed event timeID = window.setInterval("refresh", value); // Trigger the refresh function according to the input interval } function window_onload() { // Call this function when the page loads var timeid; var mytime=getcookie("alerting"); // Read the last saved time parameter if(!mytime) mytime = 0 // Stop real-time monitoring else { var Then = new Date(); Then.setTime(Then.getTime() + 1000 * 60 * 60 * 24); // Set cookie expiration time mytime = mytime * 1000; window.clearInterval(timeId); document.cookie = "alerting=" + mytime + ";expires=" + Then.toGMTString(); // Save cookie timeID = window.setInterval("refresh", mytime); // Trigger refresh function based on the time interval parameter read from cookie } function getcookie(name) // Cookie read function, parameter name is the name of the saved parameter, in this article it is alerting { var prefix = name + "=" var cookieStartIndex = document.cookie.indexOf(prefix) // Get the starting position of the parameter value if (cookieStartIndex == -1) // The parameter is not found return null var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length) // Get the endpoint position of the parameter value if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)) // Return the parameter value corresponding to the parameter name } The above JavaScript code implements the timed triggering of the refresh event. The refresh interval can be arbitrarily specified according to the user's needs. Just follow the VBScript methods provided in the G/ELECTRIC web solution to write the corresponding refresh function refresh for map and related data as follows, and you can realize the web display of GIS map information and SCADA data. The refresh function code is as follows: `sub refresh() public oGNV 'Define the display graphic object set objshell = CreateObject("Shell.Application") objshell.shellexecute "net", " use \\dlgis\mapfiles guest /user:guest",0,0,0'Read the GIS database and connect to the map oGNV = document.all("GNV") 'Get the display legend oGNV.BroadcastDatabaseChanges=True oGNV.Map.Refresh=True 'Set the refresh property of the map display control to true, 'The map will automatically refresh when refresh() is executed. end sub` The actual display effect is shown in Figure 2: Figure 2 Actual effect of power grid operation status monitoring in WebGIS 4. Conclusion The implementation of the real-time monitoring system for power grid operation based on WebGIS allows users to not only query and browse the relevant attribute information of the power grid structure and power equipment online, but also monitor the power grid operation parameters anytime and anywhere as needed. It enables convenient and intuitive monitoring of the overall operation and achieves overall control. Breakthroughs in web-based display technology for GIS and SCADA data have enabled the automatic, accurate, and timely provision of more detailed and comprehensive data for the computer management of power systems. This will undoubtedly have a significant impact on improving power supply quality, power reliability, and the overall capabilities of power companies. Furthermore, it provides a new approach and lays a foundation for online power grid analysis and calculation based on power grid GIS and SCADA systems. The technologies described in this paper can also be applied to other web-based industrial field data monitoring.