As the culmination of the NC State University Masters in Geospatial Information Science and Technology program, I’ve been working with the Center for Geospatial Analytics to investigate Agent Based Modeling for Critical Infrastructure Service Area Estimation
Agent Based Modeling for Critical Infrastructure Service Area Estimation
Critical infrastructure systems (CIS), such as electrical power grids, water distribution systems, telecommunication and transportation systems is a primary concern for many governments and organizations. Understanding the impact of service outages in utility services such as electric power, water, and natural gas is an important part of decision-making in response and recovery efforts. The NCSU Center for Geospatial Analytics is interested in research to investigate the use of complex systems such as Agent Based Modeling (ABM) along with Geographic Information Systems (GIS) to increase understanding of service outages. The analysis would provide service areas for CI source points which later would be used for system building and outage analysis on cross-infrastructure cascading systems.
The objective of the project was to model resource Demand Estimation for Water Treatment Plant (Louisville Water Company) in Jefferson county, Kentucky and investigate the use of ABM with GIS and apply to Service Area Estimation for a water network. The software used for the project was ArcMap with Agent Analyst extension. Agent Analyst is an extension for ArcGIS suite of products. Agent Analyst as a geoprocessing tool integrates ABM with GIS and is used to model behaviors such as simulate land use and land cover changes.
Agent Analyst is an extension for ArcGIS suite of products. Agent Analyst as a geoprocessing tool integrates ABM with GIS and is used to model behaviors such as simulate land use and land cover changes. Agent Analyst is a graphical user interface that provides a menu driven environment in which Python like code called "Not Quite Python” (NQPy)* is used. The book "Agent Analyst Agent-Based Modeling in ArcGIS", mentions that NQPy is a subset of Python programming language. The book further mentions that Agent Analyst does not support connections with a geodatabase or with network data files (Page 204).
The project was completed in two steps: 1. Calculate Demand Estimation 2. Estimate Service Area. To calculate the demand estimation, street nodes were created for Jefferson county using ArcMap ModelBuilder (Figure 1). Polygon centroids were found using Feature To Point Tool of Arc Toolbox. Demand consumption was calculated for each land use types (Single Family, Multi-Family, Commercial, Industry, and Public and Semi-Public) using Field Calculator. Table 1 shows estimated average water demand per day for Jefferson County for different land use types using ArcMap. To estimate the service area (Figure 2), vector and generic agents were created in Agent Analyst. Polygon centroids were used as vector agents and water was used as generic agent. Finally, used NQPy code in Agent Analyst to simulate agent (water) movement from the Water Treatment Plant to the polygon centroids and created Service area.
Reference: * “Agent Analyst Agent-Based Modeling in ArcGIS" by Kevin M Johnston
Click to Enlarge
Click to Enlarge