System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

8
System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation Reza Nourjou GIS Consultant Washington D.C., USA [email protected] Joel Thomas SPIN Global LLC Washington D.C., USA [email protected] ABSTRACT This paper presents a system architecture of a web GIS that is used to develop a web mapping app for real-time macroeconomic impact decision support tool. It incorporates web GIS on the cloud with an autonomous software system for real-time situational awareness (outage statue and economic loss) from power & electric utilities. Our web GIS is a system of systems, and we deployed ESRI’s ArcGIS platform, Amazon Web Services (AWS), enterprise spatial database, C#, RESTful API, and JSON format. The system imple- mentation results in a web GIS that contains a GIS server with a set of REST APIs of GIS web services (map service, geodata service, etc) on the cloud that can be used by web mapping apps, mobile GIS apps, or desktop programs to share, display, analyze, and up- date a geodatabase, which is embedded in cloud. To evaluate our approach, we developed a web map application and an operations dashboard that used the created GIS web services and APIs. Our web GIS is applicable for the "Internet of Things" domain, public safety, cloud communication, crisis response, web map application, location-based services, and real-time GIS. Categories and Subject Descriptors H.3.5 [Online Information Services]: Data sharing, Web-based services; H.2.8 [Database applications]: Spatial Databases and GIS Terms Design Keywords Web GIS, web data, cloud computing, spatial database service, GIS web services, situational awareness, real-time, system design and architecture, macroeconomic loss estimation, API, web map 1. INTRODUCTION Real-time macroeconomic loss information is a key element in situational awareness and is important for decision-makers in emer- gency management and industry partners such as electric & power Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full cita- tion on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re- publish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. MobiGIS 16, October 31-November 03 2016, Burlingame, CA, USA c 2016 ACM. ISBN 978-1-4503-4582-8/16/10. . . $15.00 DOI: http://dx.doi.org/10.1145/3004725.3004731 utilities, especially as it relates to the prioritization of the restora- tion of critical hubs and services. A power outage is a short- or long-term loss of the electric power to an area; such outages cause economic loss to business & industrial units that are located within the area. Macroeconomic loss is a type of economic loss investi- gated on an area-specific geographic scale such as a county or re- gional level. The real-time macroeconomic loss algorithm presents an economic loss estimation as soon as a county experiences an outage situation relative to the anticipated duration of the outage. The loss estimation model includes the following elements: State, County, Time (1 day, 1 week, 1 month); Percentage Change (Sales = 10 Outages in electric utilities become a crisis when an unpredictable event such as a hurricane causes widespread outages that can gener- ate vast negative economic outcomes over extended periods of time. When such a situation occurs, it is important to collect, process, and share information in order to create greater situational aware- ness. Real-time situational awareness enables decision makers to have a right and real-time perception of crisis and its impact, thus enabling shared consciousness. A web mapping application with the capability to display and analyze real-time macroeconomic loss estimation data as it relates to real-time outage data is valuable for operational decision support, as well as pre- and post-facto plan- ning and policymaking. Data Sources: The U.S. electric & power companies report out- age records in their respective service areas, made available in web data formats. 1 For example, the Dominion company’s web site dis- plays a list of counties served by Dominion where customers are experiencing power outages. 2 Economics Loss Model: The macroeconomic model was pro- vided by REMI 3 , and enabled us to assess regional economic loss due to business disruptions for various periods of time. It is a simu- lation approach, and the economic losses are related to simulations that we ran in the model, but is not the entire model. Real-time situational awareness: A process to create real-time situational awareness, which is addressed in this paper, is a loop consisting of four main steps. This process need to be done in real-time, repeatedly, automatically, and continuously. 1. Collect and process outage data from numerous sources (web 1 A list of major electric&power distribution companies in the U.S. included in this study: Dominion, PJM, Duke Energy, Georgia Power, Southern Company, ComEd, SoCal Ed, PG&E. This paper selected the Dominion Virginia Power Company to evaluate and validate the proposed system architecture. 2 http://outagemap.dom.com.s3-website-us-east-1.amazonaws. com/external/report.html?report=report-panel-county-muni 3 REMI model methodology is fully transparent and information about can be found in our documentation at http://www.remi.com 56

Transcript of System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

Page 1: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

System Architecture of Cloud-based Web GIS forReal-Time Macroeconomic Loss Estimation

Reza NourjouGIS Consultant

Washington D.C., [email protected]

Joel ThomasSPIN Global LLC

Washington D.C., [email protected]

ABSTRACTThis paper presents a system architecture of a web GIS that is usedto develop a web mapping app for real-time macroeconomic impactdecision support tool. It incorporates web GIS on the cloud withan autonomous software system for real-time situational awareness(outage statue and economic loss) from power & electric utilities.

Our web GIS is a system of systems, and we deployed ESRI’sArcGIS platform, Amazon Web Services (AWS), enterprise spatialdatabase, C#, RESTful API, and JSON format. The system imple-mentation results in a web GIS that contains a GIS server with a setof REST APIs of GIS web services (map service, geodata service,etc) on the cloud that can be used by web mapping apps, mobileGIS apps, or desktop programs to share, display, analyze, and up-date a geodatabase, which is embedded in cloud. To evaluate ourapproach, we developed a web map application and an operationsdashboard that used the created GIS web services and APIs. Ourweb GIS is applicable for the "Internet of Things" domain, publicsafety, cloud communication, crisis response, web map application,location-based services, and real-time GIS.

Categories and Subject DescriptorsH.3.5 [Online Information Services]: Data sharing, Web-basedservices; H.2.8 [Database applications]: Spatial Databases andGIS

TermsDesign

KeywordsWeb GIS, web data, cloud computing, spatial database service, GISweb services, situational awareness, real-time, system design andarchitecture, macroeconomic loss estimation, API, web map

1. INTRODUCTIONReal-time macroeconomic loss information is a key element in

situational awareness and is important for decision-makers in emer-gency management and industry partners such as electric & power

Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full cita-tion on the first page. Copyrights for components of this work owned by others thanACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re-publish, to post on servers or to redistribute to lists, requires prior specific permissionand/or a fee. Request permissions from [email protected].

MobiGIS 16, October 31-November 03 2016, Burlingame, CA, USAc© 2016 ACM. ISBN 978-1-4503-4582-8/16/10. . . $15.00

DOI: http://dx.doi.org/10.1145/3004725.3004731

utilities, especially as it relates to the prioritization of the restora-tion of critical hubs and services. A power outage is a short- orlong-term loss of the electric power to an area; such outages causeeconomic loss to business & industrial units that are located withinthe area. Macroeconomic loss is a type of economic loss investi-gated on an area-specific geographic scale such as a county or re-gional level. The real-time macroeconomic loss algorithm presentsan economic loss estimation as soon as a county experiences anoutage situation relative to the anticipated duration of the outage.The loss estimation model includes the following elements: State,County, Time (1 day, 1 week, 1 month); Percentage Change (Sales= 10

Outages in electric utilities become a crisis when an unpredictableevent such as a hurricane causes widespread outages that can gener-ate vast negative economic outcomes over extended periods of time.When such a situation occurs, it is important to collect, process,and share information in order to create greater situational aware-ness. Real-time situational awareness enables decision makers tohave a right and real-time perception of crisis and its impact, thusenabling shared consciousness. A web mapping application withthe capability to display and analyze real-time macroeconomic lossestimation data as it relates to real-time outage data is valuable foroperational decision support, as well as pre- and post-facto plan-ning and policymaking.

Data Sources: The U.S. electric & power companies report out-age records in their respective service areas, made available in webdata formats.1 For example, the Dominion company’s web site dis-plays a list of counties served by Dominion where customers areexperiencing power outages.2

Economics Loss Model: The macroeconomic model was pro-vided by REMI3, and enabled us to assess regional economic lossdue to business disruptions for various periods of time. It is a simu-lation approach, and the economic losses are related to simulationsthat we ran in the model, but is not the entire model.

Real-time situational awareness: A process to create real-timesituational awareness, which is addressed in this paper, is a loopconsisting of four main steps. This process need to be done inreal-time, repeatedly, automatically, and continuously.

1. Collect and process outage data from numerous sources (web

1A list of major electric&power distribution companies in the U.S.included in this study: Dominion, PJM, Duke Energy, GeorgiaPower, Southern Company, ComEd, SoCal Ed, PG&E. This paperselected the Dominion Virginia Power Company to evaluate andvalidate the proposed system architecture.2http://outagemap.dom.com.s3-website-us-east-1.amazonaws.com/external/report.html?report=report-panel-county-muni3REMI model methodology is fully transparent and informationabout can be found in our documentation at http://www.remi.com

56

Page 2: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

data)

2. Estimate macroeconomic loss

3. Display data through web maps

4. Share data and make data available and accessible for appli-cation

Research question: How might one create a real-time situationalawareness and decision support tool, whose main component isreal-time macroeconomic loss estimation?

Objective:This paper presents a cloud-based web GIS for real-time macroeconomic loss estimation and decision support. Our ap-proach targets emergency managers and industry partners in theenergy sector such as power suppliers and transmission companies.Our web GIS is a system of systems that integrates a set of interde-pendent systems.

Contribution: Our contribution is a system architecture that en-ables us to develop cloud-based web GIS. This paper aims to ex-plore its elements in the following details: 1) a list of systems,2) relations between those systems, 3) system functions, 4) imple-mentation, 5) data model, 6) problem-solving algorithms, 7) andwork-flow.

Novelty of Work: We proposed a real-time macroeconomic lossestimation tool for emergency managers and industry partners. Ithas the capability of interpolating data from numerous sources toprovide decision support based on GIS web services.

Importance & significance: To the best of our knowledge, thisresearch is the first of its kind that is performed in the U.S. for thepurposes of real-time planning and operational decision support.The methods and models used for both real-time power outages andmacroeconomic modeling offer the most precise data calculationsavailable. Our approach has the following advantages:

• It enables us to develop a web GIS for real-time macroeco-nomic loss estimation as a part of situational awareness.

• The REMI macroeconomic loss estimation model is superiorto other available macroeconomic models in that it incorpo-rates four major modeling approaches: Input-Output, Gen-eral Equilibrium, Econometric, and Economic Geography.

• It provides an important decision support tool for disasteremergency management and crisis response in the energysector.

• It integrates the best available data from existing systems todevelop more holistic real-time situational awareness.

• It provides a flexible and scalable architecture to be used, ex-tended and integrated with related applications such as location-based social networks, location-based services, Internet ofThings (IoT) applications, mobile application for public safety,and damage assessments in multiple hazard types such asfloods, tornadoes, hurricanes and earthquakes.

• It provides a feature service ( as a geodata server and spatialdatabase service) to access, update, share, query, process, an-alyze, display, and map data of a shared geodatabase troughREST API.

• It uses the cloud technology in our web GIS to store andshare data, to server and run GIS web services, embed theGIS server, embed software programs for computation, andconnect all software entities together.

• It allows us to create web GIS services as a RESTful APIwhich can be used by any application.

2. RELATED WORKS TO GIS ON CLOUDGIS is a valuable tool in natural disasters that impact humans [4],

[5] and there is no doubt that the emergence of cloud computingtechnology will lead to significant opportunities for GIS [1], [6].Cloud-based GIS is an ideal approach to improve conventional GISapplications by providing services to users across the globe. CloudGIS is the combination of running GIS software and services oncloud infrastructure and accessing GIS capabilities using the web.

Analyzing and geoprocessing the large-scale spatial data is com-plex and computationally intensive [2]. Moreover, it is costly fora user to purchase or maintain professional software and hardware.Therefore it is unlikely that a traditional GIS can provide effectivespatial information services.

An example of cloud-based GIS is Google Maps, which com-bines satellite imagery with maps and geospatial data and providesApplication Programming Interfaces (APIs) [3]. Another exam-ple is the ArcGIS Server on Amazon Web Services which allowsyou to deploy a web GIS or GIS server on Amazon Web Services(AWS). The ArcGIS software runs on Amazon’s hardware and isadministered through web services.

To cope with the weaknesses of conventional GIS, cloud-basedGIS has advanced capabilities in collecting, processing, analyzing,and publishing geospatial data. Emergency service organizationscan use cloud GIS to reduce cost. GIS users are able to gain accessto low-cost services. The cloud GIS enables users to increase ordecrease the capacity as needed.

3. SOLUTIONOur solution is used to develop an app that enables emergency

managers to conduct hazard-driven regional economic loss assess-ments.

The intended use of the tool is to aid decision makers ability tounderstand impacts, mitigate risk, and use the information to assistwith triage of response efforts based upon anticipated losses andvulnerabilities.

4. SYSTEM ARCHITECTURE OF WEB GISOur system architecture is shown in Figure 1. Integration (con-

nection) of eleven components (systems) forms this web GIS. Thisarchitecture deploys ESRI ArcGIS and Amazon Web Services (AWS).Functions of those components are presented in Table 1. Table 2presents a list of tools used to implement or develop those systems.

4.1 Web DataReal-time outage data is available and accessible in web pages,

and would be provided with web data formats such as JSON.We investigated outage data publicly available on the Dominion

Power company’s web site.4 Its web site displays a list of the ser-vice areas, cities and counties served by Dominion Virginia Powercompany where customers are experiencing power outages. Thesedata are displayed in a table and a web map and are updated each15 minutes to show a real-time and live status of power outage.An outage record is associated with several types of information:name of state, name of county as a service area, number of cos-tumers, number of customers without electricity, and time of lastupdate.

The web RESTful API5 enables us to access and receive outage4http://outagemap.dom.com.s3-website-us-east-1.amazonaws.com/external/report.html?report=report-panel-county-muni5http://outagemap.dom.com.s3-website-us-east-1.amazonaws.com/resources/data/external/interval_generation_data/2016_08_25_06_30_30/report_region.json?_=

57

Page 3: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

Figure 1: System architecture of cloud-based web GIS for real-time macroeconomic loss estimation.

data by the JSON format. Figure 2 present outage statues of twocounties by the JSON format.

Figure 2: A part of outage data received for two counties fromDominion’s web site in the JSON format.

4.2 Enterprise GeodatabaseData is the core of information systems, and enables us to create

and publish web GIS services. An enterprise database, which isconsidered a centralized database in web GIS, contains and sharesall data (geographic and non geographic information) required forother components to do data-related operations.

4.2.1 Data ModelThe aim of a data model is to support creating the enterprise

geodatabase. In this paper, we designed a data model as Figure 3shows. It is designed as a unified modeling

language (UML) class diagram that presents data, attributes, andrelationships between entities.

The layer Counties contains county features as spatial data. Acounty entity is associated with temporal and dynamic attributes asfollows:

• County: indicates the name of county.

• State: indicates the name of state where this county is lo-cated.

• FIPS: indicates an unique key (identification)

• cust_a: indicates a number of customers without electricitylocated in this state. This information is dynamic and tempo-ral, and it needs to be updated frequently. This informationis real-time if it is observed in the current time.

• cust_s: indicates a number of customers who are located inthis state.

• date_generated: indicates a date and time that outage dataare collected /updated last time.

• Dynamic_Loss: indicates an estimated macroeconomic lossthat commercial, residential and industrial customers wouldexperience due to outages in the county. This informationis dynamic and temporal and is re-calculated whenever newoutage data is collected.

58

Page 4: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

Table 1: System Functions and ActionsSystem (component) Functions1. Web Data - Make real-time outage information publicly available and accessible through web pages (map, table) on the Internet

- Update outage statues continuously2. Administrator - Design and create the enterprise geodatabase

- Prepare and insert base data into the enterprise geodatabase- Create (publish) GIS Web Services- Synchronize and replicate the enterprise geodatabase and the replicated geodatabase- Administrate the web GIS

3. Enterprise - Contain all data required by other components for data-related tasksGeodatabase - Provide all data used in creating web GIS services

4. Cloud Computing - Embed the autonomous softwarePlatform - Embed the database management system (SQL Server) and the replicated geodatabase

- Embed the GIS server and related GIS web services- Make the GIS web services accessible and available

5. GIS Server - Create and manage GIS web services6. Replicated - Contains data required by GIS web services

Geodatabase - Provide a centralized and shared geodatabase as a Geatada server7. GIS Web Services - Share GIS resources as web services (REST API) such as map services, geodata service, feature services8. Autonomous - Collect and extract outage information from web data

Software - Estimate macroeconomic loss- Edit and update the replicated geodatabase via REST API

9. Desktop App - Use GIS web services10. Web Mapping App - Use GIS web services in web app11. Mobile GIS App - Use GIS web services in mobile device

Table 2: Tools used for System ImplementationComponent Tools1. Web Data2. Administrator - ArcGIS for Desktop 10.33. Enterprise - Microsoft SQL Server 2016

Geodatabase - ArcGIS for Desktop4. Cloud Computing - Amazon Web Services (AWS)

Platform5. GIS Server - ArcGIS for Server 10.4

- ArcGIS Server Cloud Builder on AWS6. Replicated - SQL Server Standard

Geodatabase - ArcGIS for Desktop7. GIS Web Services - ArcGIS for Server8- Autonomous - C#.NET

Software - Network Programming in the .NET- LINQ and JSON in .NET- ArcGIS Runtime SDK for .NET- ArcGIS REST API

9. Desktop App - Operations Dashboard for ArcGIS10. Web Mapping App - ArcGIS Online

- Web AppBuilder for ArcGIS- HTML- JavaScript- Dojo

- JavaScript- ArcGIS API for JavaScript 3.17- Visual Studio Code

11. Mobile GIS App - ArcGIS Runtime SDK for Android- Android Studio

Whenever the layer County is updated, a copy of the data is in-serted and stored in the table "History". This table allows us totrack how long a single customer has been out of power, to showwhat would happen if the current outage level lasted for a week,month etc. In fact, given this is presenting economic results andoutage observations in real-time, updating every 30 minutes, thistable is valuable for relevant queries.

The table REMI presents macroeconomic loss on the regionallevel. This data, which is fixed, is used by autonomous software formacroeconomic loss estimation. In addition, we created 12 layers

with fixed attributes to display REMI data on the map.

Figure 3: A data model of enterprise geodatabase.

4.3 AdministratorAn administrator is a user who administrates the web GIS.

4.4 Cloud Computing PlatformCloud computing is a type of Internet-based computing that pro-

vides shared computer processing resources and data to computersand other devices on demand. It is a model for enabling ubiquitous,on-demand access to a shared pool of configurable computing re-sources (e.g., computer networks, servers, storage, applications andservices) 6.

6https://en.wikipedia.org/wiki/Cloud_computing

59

Page 5: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

A cloud computing platform such as Amazon Web Services andMicrosoft Azure could benefit the web GIS and enhance the systemperformance in real-time situation awareness. It enables us to in-stall, store, and execute software components such as autonomoussoftware, GIS server, replicated geodatabase, and GIS services.

4.5 GIS ServerA GIS server7 allows us to share GIS resources with users over

the web through web services which allow a powerful server com-puter to receive and process requests for information sent by otherdevices.

4.6 Replicated GeodatabaseThis is a geodata server that provides all data needed by the GIS

server to serve the web GIS services. This database is a version ofthe enterprise geodatabse and is replicated and synchronized withit. In addition, it is provides a centralized spatial database in theour web GIS and share data.

4.7 GIS web ServicesGIS Web services make it easy to share GIS resources across ap-

plications over the Internet. They conform to web standards (RESTAPI). A web GIS service is a GIS related work such as mapping,geoprocessing, deogeographic features (geodata).

These services can be optimized easily for, and integrated with,web, mobile, and desktop applications, as well as other services.

This paper created four web GIS services as Table 3 shows. Afeature service allows us to serve data over the Internet. Clientscan execute queries to get data and perform edits. A map servicemakes maps, features, and attribute data available on the Internetfor applications.

Table 3: GIS Web ServicesService Name Service Type Datas1 Feature Service - Countiess2 Feature Service - Historys3 Map Service - Counties

- Historys4 Map Service - REMI

- CountyREMI100Day- CountyREMI75Day- CountyREMI50Day- CountyREMI10Day

4.8 Autonomous SoftwareThe core of web GIS is an autonomous software that has three

important capabilities: 1) extract and collect outage informationfrom distributed web data, 2) assess macroeconomic loss on thecounty level, and 3) edit and update the shared geodatabase (repli-cated geodatabase). Figure 4 shows a work flow used by this systemfor macroeconomics loss estimation in real-time. Our autonomoussoftware executes this process in real-time, repeatedly, continu-ously, and automatically in order to provide a real-time situationalawareness. The autonomous software is located in the cloud.

4.8.1 Extract Web DataListing 1 presents a C# code that is used by the software to ex-

tract and collect outage data from Dominion’s web page.

Listing 1: C# code to extract and collect outage data from web data1

7We deployed ArcGIS for Server to implement a GIS server in thispaper. Please see Table 2

Figure 4: Work flow of real-time macroeconomic loss estimationfor real-time situational awareness.

us ing System . Net ;us ing System . IO ;us ing System . Web . S c r i p t . S e r i a l i z a t i o n ;

5 us ing System . C o l l e c t i o n s . G e n e r i c ;us ing System ;

L i s t < Outage_Class > Ext rac tWebData ( s t r i n g u r l _ w e b d a t a , DateTime RealTime )10 {

/ / −−> C o l l e c t OutagesL i s t < Outage_Class > Outages = new L i s t < Outage_Class > ( ) ;

/ / 2−−> Send a R e q u e s t15 HttpWebRequest r e q u e s t = WebRequest . C r e a t e ( u r l _ w e b d a t a ) as HttpWebRequest ;

r e q u e s t . Conten tType = " a p p l i c a t i o n / j s o n " ;r e q u e s t . Accept = " a p p l i c a t i o n / j s o n " ;r e q u e s t . Method = WebRequestMethods . H t tp . Get ;

20 / / 3−−> R e c e i v e / A cc es s t h e DataHttpWebResponse r e s p o n s e = r e q u e s t . GetResponse ( ) as HttpWebResponse ;

us ing ( v a r r e a d e r = new St reamReader ( r e s p o n s e . Ge tResponseSt ream ( ) ) ){

25 / / 4−−> Read t h e Whole R e c e i v e d Data i n JSON da tav a r DataJSON = r e a d e r . ReadToEnd ( ) ;

J a v a S c r i p t S e r i a l i z e r s e r i a l i z e r = new J a v a S c r i p t S e r i a l i z e r ( ) ;dynamic j s o n O b j e c t = s e r i a l i z e r . D e s e r i a l i z e <dynamic >( DataJSON ) ;

30/ / 5−−> County−Outage Data i n JSON Fomratdynamic Count iesDataJSON = j s o n O b j e c t [ " f i l e _ d a t a " ] [ " a r e a s " ] ;

/ / 6 −−> Read S t a t e s35 foreach ( dynamic s t a t e 0 in Count iesDataJSON [ 0 ] [ " a r e a s " ] )

{/ / 7 −−> Read C o u n t i e sforeach ( dynamic coun ty0 in s t a t e 0 [ " a r e a s " ] ){

40 Outages . Add ( new O u t a g e _ C l a s s ( ){

County = s t a t e 0 [ " area_name " ] ,S t a t e = coun ty0 [ " area_name " ] ,c u s t _ a = coun ty0 [ " c u s t _ a " ] [ " v a l " ] ,

45 c u s t _ s = coun ty0 [ " c u s t _ s " ] ,d a t e _ g e n e r a t e d = coun ty0 [ " d a t e _ g e n e r a t e d " ]

} ) ;}

}50 }

re turn Outages ;}

c l a s s O u t a g e _ C l a s s55 {

p u b l i c s t r i n g S t a t e { g e t ; s e t ; }p u b l i c s t r i n g County { g e t ; s e t ; }p u b l i c double c u s t _ s { g e t ; s e t ; }p u b l i c double c u s t _ a { g e t ; s e t ; }

60 p u b l i c DateTime d a t e _ g e n e r a t e d { g e t ; s e t ; }}

4.8.2 Assess Macroeconomic LossAlgorithm 1 presents a macroeconomic loss model8 that is used

8This is the initial version

60

Page 6: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

for macroeconomic loss estimation in counties due to outages. Alsothis algorithm updates the attribute Dynamic_Loss of each featurecounty in the GIS layer "Counties". This model is based on REMImethods whose data, REMI, are inserted into the enterprise geo-database in the table REMI. Please see Figure 3.

The autonomous software has an autonomy to execute this algo-rithm in real-time whenever new outage data is observed ( extractedand collected from the web data). The autonomous software usesweb GIS services as REST APIs to access, query, edit (add new fea-ture or modify attributes), and update data, which are located andmanaged by the replicated geodatabase. Updated data Counties areshared with other components via the the replicated geodatabase.

1 % Loss Assessment ModelData: Counties, REMIResult: % Update the Data Counties

2 for c0 ∈ Counties do3 end4 p← 100 ∗ c0.cust_a/c0.cust_s;5 if p = 100 then6 p0 ← 100;7 end8 else if p >= 75 and p < 100 then9 p0 ← 75;

10 end11 else if p >= 50 and p < 75 then12 p0 ← 50;13 end14 else if p >= 10 and p < 50 then15 p0 ← 10;16 end17 else18 p0 ← 0;19 end20 for r0 ∈ REMI do21 end22 if r0.State = c0.State and r0.County = c0.County and

r0.P ercentage_Change = p0 andr0.T imeFrame = ”One Day” then

23 end24 r2 ← r0;25 break the loop;26 if r2 = ∅ then27 c0.Dynamic_Loss← 0;28 end29 else30 c0.Dynamic_Loss← r2.T otal_Output/(24.0 ∗ 4.0)31 endAlgorithm 1: A Loss Model used by the Autonomous Software

4.8.3 Modify the GeodatabaseThe replicated geodatabase is considered a centralized spatial

database that shares data and make data available and accessiblefor applications via feature services. Therefore, the autonomoussoftware is an ability to access and edit geodatabase using relevantGIS services. Listing 2 presents a C# code for implementing thiscapability. It can be used for related tasks.

Listing 2: C# code to edit the geodatabase via web services (RESTAPI)

1us ing System . C o l l e c t i o n s . G e n e r i c ;us ing E s r i . ArcGISRuntime . Data ;us ing System . Linq ;

5 us ing System ;namespace Edi tGeoDatabaseViaAPI{

p u b l i c async void f _ E d i t ( ){

10 / / 0−−> D e f i n e t h e URI o f Web GIS S e r v i c e s : REST API

/ / REST API o f a F e a t u r e S e r v i c e t o E d i t t h e GIS Layer " C o u n t i e s "/ / P l e a s e change [ GISServer . . . ] t o a r e a l a d d r e s ss t r i n g u r i _ C o u n t i e s = " h t t p : / / [ GISServe r . . . ] / s1 / F e a t u r e S e r v e r / 0 " ;

15 / / REST API o f a Map S e r v i c e To A cc es s t h e Tab le "REMI"s t r i n g uri_REMI = " h t t p : / / [ GISServe r . . . ] / s4 / MapServer / 5 " ;

/ / REST API o f a F e a t u r e S e r v i c e t o Add Records t o Tab le " H i s t o r y "s t r i n g u r i _ H i s t o r y = " h t t p : / / [ GISServe r . . . ] / s2 / F e a t u r e S e r v e r / 1 " ;

20 / / <−−0

/ / 1−−> A cc e s s t o Data " C o u n t i e s " i n t h e Geodatabasev a r D a t a C o u n t i e s = new S e r v i c e F e a t u r e T a b l e ( ) ;D a t a C o u n t i e s . S e r v i c e U r i = u r i _ C o u n t i e s ;

25 a w a i t D a t a C o u n t i e s . I n i t i a l i z e A s y n c ( n u l l ) ;i f ( D a t a C o u n t i e s . I s I n i t i a l i z e d == f a l s e ){

Conso le . W r i t e L i n e ( " {0} E x c e p t i o n c a u g h t . " ) ; re turn ;}

30 D a t a C o u n t i e s . O u t F i e l d s = E s r i . ArcGISRuntime . Tasks . Query . O u t F i e l d s . A l l ;/ / <−−1

/ / 2−−> A cc e s s t o Data "REMI" i n . . .v a r DataREMI = new S e r v i c e F e a t u r e T a b l e ( ) ;

35 DataREMI . S e r v i c e U r i = uri_REMI ;a w a i t DataREMI . I n i t i a l i z e A s y n c ( n u l l ) ;i f ( DataREMI . I s I n i t i a l i z e d == f a l s e ){

Conso le . W r i t e L i n e ( " {0} E x c e p t i o n c a u g h t . " ) ; re turn ;40 }

DataREMI . O u t F i e l d s = E s r i . ArcGISRuntime . Tasks . Query . O u t F i e l d s . A l l ;/ / <−−2

/ / 3−−> A cc e s s t o Data " H i s t o r y " i n . . .45 v a r D a t a H i s t o r y = new S e r v i c e F e a t u r e T a b l e ( ) ;

D a t a H i s t o r y . S e r v i c e U r i = u r i _ H i s t o r y ;a w a i t D a t a H i s t o r y . I n i t i a l i z e A s y n c ( n u l l ) ;i f ( D a t a H i s t o r y . I s I n i t i a l i z e d == f a l s e ){

50 Conso le . W r i t e L i n e ( " {0} E x c e p t i o n c a u g h t . " ) ; re turn ;}D a t a H i s t o r y . O u t F i e l d s = E s r i . ArcGISRuntime . Tasks . Query . O u t F i e l d s . A l l ;/ / <−−3

55 / / 4−−> Read Data REMI and S t o r e i n a L i s tL i s t <REMI_Class > REMI = new L i s t <REMI_Class > ( ) ;v a r REMIs = a w a i t DataREMI . QueryAsync ( new Q u e r y F i l t e r ( ){

WhereClause = " 1 = 1 "60 }

) ;

foreach ( F e a t u r e r0 in REMIs ){

65 REMI . Add ( new REMI_Class{

County = ( s t r i n g ) r0 . A t t r i b u t e s [ " County " ] ,Economic_Var i ab l e = ( s t r i n g ) r0 . A t t r i b u t e s [ " Economic_Var i ab l e " ] ,Pe r c en t a ge _C h an g e = ( s t r i n g ) r0 . A t t r i b u t e s [ " P e r ce n t a ge _C h an ge " ] ,

70 S t a t e = ( s t r i n g ) r0 . A t t r i b u t e s [ " S t a t e " ] ,Timeframe = ( s t r i n g ) r0 . A t t r i b u t e s [ " Timeframe " ] ,Total_County_GDP = ( double ) r0 . A t t r i b u t e s [ " Total_County_GDP " ] ,T o t a l _ J o b s = ( double ) r0 . A t t r i b u t e s [ " T o t a l _ J o b s " ] ,T o t a l _ O u t p u t = ( double ) r0 . A t t r i b u t e s [ " T o t a l _ O u t p u t " ]

75 } ) ;}/ / <−−4

/ / 5−−> Query and Search Data C o u n t i e s80 s t r i n g s t a t e 0 = n u l l ; / / i n p u t a number ;

s t r i n g coun ty0 = n u l l ; / / i n p u t a number ;v a r Q u e r y F e a t u r e s = a w a i t D a t a C o u n t i e s . QueryAsync (

new Q u e r y F i l t e r ( ){

85 WhereClause = " S t a t e = ’ " + s t a t e 0 + " ’ AND " +" County = ’ " + coun ty0 + " ’ "

}) ;

90 F e a t u r e FCounty0 = Q u e r y F e a t u r e s . F i r s t ( ) ;/ / <−−5

/ / 6−−> E d i t t h e A t t r i b u t e s o f t h e S e l e c t e d CountyFCounty0 . A t t r i b u t e s [ " c u s t _ s " ] = n u l l ; / / i n p u t a number ;

95 FCounty0 . A t t r i b u t e s [ " c u s t _ a " ] = n u l l ; / / i n p u t a number ;

FCounty0 . A t t r i b u t e s [ " Dynamic_Loss " ] = n u l l ; / / c a l c u l a t e t h e l o s s sFCounty0 . A t t r i b u t e s [ " d a t e _ u p d a t e d " ] = n u l l ; / / i n p u t a d a t e ;

/ / <−−6100

/ / 7−−> Update t h e Data Counies i n Geodatabasea w a i t D a t a C o u n t i e s . UpdateAsync ( FCounty0 ) ;/ / <−−7

105 / / 8−−>> Add a New Record t o Data H i s t o r yv a r NHis to ry0 = new G e o d a t a b a s e F e a t u r e ( D a t a H i s t o r y . Schema ) ;

v a r A t t r i b u t e s 0 = NHis to ry0 . A t t r i b u t e s ;A t t r i b u t e s 0 [ " County " ] = FCounty0 . A t t r i b u t e s [ " County " ] ;

110 A t t r i b u t e s 0 [ " S t a t e " ] = FCounty0 . A t t r i b u t e s [ " S t a t e " ] ;A t t r i b u t e s 0 [ " c u s t _ s " ] = FCounty0 . A t t r i b u t e s [ " c u s t _ s " ] ;A t t r i b u t e s 0 [ " c u s t _ a " ] = FCounty0 . A t t r i b u t e s [ " c u s t _ a " ] ;A t t r i b u t e s 0 [ " FIPS " ] = FCounty0 . A t t r i b u t e s [ " FIPS " ] ;A t t r i b u t e s 0 [ " d a t e _ u p d a t e d " ] = FCounty0 . A t t r i b u t e s [ " d a t e _ u p d a t e d " ] ;

115 A t t r i b u t e s 0 [ " Dynamic_Loss " ] = FCounty0 . A t t r i b u t e s [ " Dynamic_Loss " ] ;

v a r recNo = a w a i t D a t a H i s t o r y . AddAsync ( NHis to ry0 ) ;/ / <−−8

120 / /9−−> Update Geodatabase by E d i t e d County

61

Page 7: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

v a r e d i t R e s u l t _ u p d a t e s = a w a i t D a t a C o u n t i e s . App lyEdi t sAsync ( f a l s e ) ;/ / <−− 9

/ / 10−−> Update Geodatabase by New H i s t o r y125 v a r e d i t R e s u l t _ a d d = a w a i t D a t a H i s t o r y . App lyEdi t sAsync ( f a l s e ) ;

/ / <−−10}

c l a s s REMI_Class130 {

p u b l i c s t r i n g S t a t e { g e t ; s e t ; }p u b l i c s t r i n g County { g e t ; s e t ; }p u b l i c s t r i n g Timeframe { g e t ; s e t ; }p u b l i c s t r i n g P e r c en t a ge _C h an g e { g e t ; s e t ; }

135 p u b l i c s t r i n g Economic_Var i ab l e { g e t ; s e t ; }p u b l i c double T o t a l _ J o b s { g e t ; s e t ; }p u b l i c double Total_County_GDP { g e t ; s e t ; }p u b l i c double T o t a l _ O u t p u t { g e t ; s e t ; }

}140 }

5. IMPLEMENTATIONTo validate and evaluate the proposed system architecture, we,

first, implemented a web GIS in the cloud and several web GISservices. Then we developed a web mapping app. It enables real-time macroeconomic modeling that calculating the cost (in billionsUSD$) of extended business disruptions (i.e. total loss GDP, totalloss output, total loss jobs) due to an extended power outage. Theywere developed according to Table 1, 2.

6. RESULTSFigures 5, 6, 7 show capabilities of our web mapping application

for real-time situational awareness and real-time macroeconomicsloss estimation due to electric outages.

6.1 Real-Time Electric OutageFigure 5 depicts the results of a real-time power outage in the

Dominion Power service territory, published as a webmap in Ar-cGIS Online.

6.2 Real-Time Economic Loss EstimationThe results of real-time economic loss estimation for the same

geographic region are published. Figure 6.In Figure 7, our web mapping application displays macroeco-

nomics loss model (REMI).

6.3 Adaptive Operational AnalysisAs the results of the electric outage change in real-time, so does

the economic loss estimation based upon a geo-processing modelwhich queries the REMI database every minute.

6.4 Decision Support ToolThe results of the real-time electric outage and economic loss

estimation queries are published as an web map, which displaysa map of the outage and economic losses at a county level, totalnumber of customers without power by county, total economic lossestimate by county articulated as total jobs, total GDP, and totaloutput.

Figure 6 depicts the results of the economic loss estimation forthe same geographic region as the Dominion Power outage in Fig-ure 5. The figure depicts a dynamic change in real-time macroeco-nomic loss estimation, based upon a geoprocessing model whichqueries the REMI database every minute and generates a reportbased on the change in the current/projected power outage status. Inthis example, the total losses are presented at a county level. Alongwith the total number of customers without power by county, to-tal economic loss is estimated by county, and articulated as totaloutput, total GDP and total jobs.

Figure 5: Display the real-time electric outage statues in a web mapapplication.

Figure 6: Visualize the real-time macroeconomic loss estimation.

7. CONCLUSIONThe research findings have significant implications for opera-

tional, planning and technical personnel. Too often, emergencypersonnel are not in the position to make data driven decisions. Theemergence of this research coupled with a demonstrable capabilitywill offer a solution to assemble meaningful datasets, that histori-cally have been siloed, into a unified graphical user interface thatprovides real-time modeling, analysis and decision support. Thismeans that historically bifurcated processes can now be integrated,reducing the time it takes to understand cascading impacts of a dis-aster, facilitating shared consciousness amongst operational stake-holders, and helping public and private sector officials make thebest informed decisions and coordinate the appropriate responsesat a given point in time. As a result, our communities will be moreresilient, as evidenced by lives saved, property protected, and busi-nesses staying open in the wake of a catastrophic event.

Some challenges and drawbacks to be considered in our approach:

• Secure and private web GIS services: a web GIS service thatis published by the GIS server, is accessible and available onthe Internet.

• Scalable web server: the GIS server is created and managedby a locally installed ESRI ArcGIS for Server, and we needto develop a scalable and flexible web server (e.g. using theC# and ASP.NET) that can provide specific services.

• Inexpensive system: ESRI ArcGIS server is a costly softwareup front for developers, however, many end users alreadyutilize this technology and will enable ease of transition ofa final web application.

• Web data extraction: a specific program, shown in Section3.8.1, could extract and collect outage data from Dominion’sweb page. However, there are several power companies thatpublish their own data with different formats; therefore weneed to develop a specific algorithm for each one.

62

Page 8: System Architecture of Cloud-based Web GIS for Real-Time Macroeconomic Loss Estimation

Figure 7: Our web mapping application and display the macroeconomics loss model (REMI maps) .

• Accurate loss assessment: accurate risk & loss estimationdepends on accurate data and accurate algorithms.

The future works include as follows:

• Refine the model, linkages and analysis

• Refine front-end web application

• Pilot the capability with state emergency managers

• Test assumptions & modify the models

• Deploy in the ESRI ArcGIS marketplace

• Deploy our system for implementation of a system autonomousmobile GIS, a previous work [7].

8. REFERENCES[1] Bhat MA, Shah RM, Ahmad B. Cloud Computing: A

solution to Geographical Information Systems(GIS).International Journal on Computer Science and Engineering.2011 Feb;3(2):594-600.

[2] Aly AG, Labib NM. Proposed model of gis-based cloudcomputing architecture for emergency system. InternationalJournal Of Computer Science. 2013 Oct;1(4)

[3] Laituri M, Kodrich K. On line disaster response community:People as sensors of high magnitude disasters using internetGIS. Sensors. 2008 May 6;8(5):3037-55.

[4] Mansouri B, Ghafory-Ashtiany M, Amini-Hosseini K,Nourjou R, Mousavi M. Building seismic loss model forTehran. Earthquake Spectra. 2010 Feb;26(1):153-68.

[5] Mansouri B, Shinozuka M, Nourjou R. SAR remote sensingfor urban damage assessment for Tehran. InProceedings ofthe 5th International Workshop Remote Sensing ApplicationNatural Hazards, Washington, DC, USA 2007 Sep (pp.10-11).

[6] Marston, S., Li, Z., Bandyopadhyay, S., Zhang, J. andGhalsasi, A., 2011. Cloud computing–The businessperspective. Decision support systems, 51(1), pp.176-189.

[7] Nourjou, R. and Gelernter, J., 2015. Distributed autonomousGIS to form teams for public safety. In Proceedings of the4th ACM SIGSPATIAL International Workshop on MobileGeographic Information Systems (pp. 59-62). ACM.

63