Giter Site home page Giter Site logo

esri / solutions-erg-widget Goto Github PK

View Code? Open in Web Editor NEW
6.0 15.0 4.0 4.76 MB

The Emergency Response Guide (ERG) widget allows users to determine potential hazards based on the type of chemical spill and user-selected location on the map.

License: Apache License 2.0

erg javascript solutions defense wab-widgets public-safety emergency emergency-response hazardous-material data-management

solutions-erg-widget's Introduction

This repository is no longer maintained. The Emergency Response Guide (ERG) widget is now released in Web AppBuilder for ArcGIS. To understand more about the ERG widget, the documentation can be found here. Issues with the Emergency Response Guide widget should be logged through Esri Support Services.

ERG Widget

The Emergency Response Guide (ERG) widget allows users to determine potential hazards based on the type of chemical spill and user-selected location on the map.

App

View it live

The ERG widget references the ERG Guidebook 2016.

Sections

Features

  • Select material type
    • By Name
    • By UN/NA Number
  • Select spill or container size
  • Select wind direction and speed
  • Select time of day the spill occurred
  • Select a location on the map

Instructions

In order to develop and test widgets you need to deploy the GRG directory to the stemapp/widgets directory in your Web AppBuilder installation.

Requirements

  • Minimum requirement is ArcGIS Web AppBuilder v.1.0.
  • Widget has been updated to v.2.6.

Resources

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue.

Contributing

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

If you are using JS Hint there is a .jshintrc file included in the root folder which enforces this style. We allow for 120 characters per line instead of the highly restrictive 80.

Licensing

Copyright 2017 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file.

solutions-erg-widget's People

Contributors

adgiles avatar dbarnes1 avatar dfoll avatar elinz avatar joebayles avatar kgonzago avatar lfunkhouser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solutions-erg-widget's Issues

Release ERG widget

List of steps required to release the Emergency Response Guide Solution

After documentation, code, testing is complete

  • final version of solution placed on and zipped up from our ReleaseStaging folder location. This includes folders for the Widget, and a Resources folder for our final offline documentation @Dbarnes1
  • pre-release testing of online documentation on solutions staging
  • prepare a new download and location for esri downloads @Dbarnes1
  • add zipped solution as an item to our deployment organization with proper tags for solutions deployment tool and proper thumbnail and link for the solutions gallery, don't share yet. Share the day of release
  • GitHub release erg widget @joebayles

Documentation - Install the ERG Widget

Point 3 on the install the ERG widget is worded incorrectly it current says:

Use your extraction utility to extract EmergencyReferenceGuide.zip to a folder on your computer..

it should say:

Use your extraction utility to extract EmergencyResponseGuide.zip to a folder on your computer..

untitled

Increase charts and graphs related to Demographic data, consider an out of panel widget for more screen space

Something I'm thinking about is updating the UI of the widget, potentially making it out of panel, similar to situational awareness, so that we could include more charts, graphs, and infographics (really whatever the js api supports) related to demographic data impacted by the spill.

Regardless of how we implement the UI of the widget, we should leave plenty of space for demographic infographics and visualizations.

For reference, here is what the situational awareness widget looks like (note that it covers the entire bottom section of the screen):
image

Only include necessary layers for the Emergency Operations sample map service

I propose taking a fresh look at the layers that we instruct users to publish as a map service for use with the widget. From what I can tell, we have a tab for Facilities and a tab for Demographics. I'm not sure how many of the layers in the map service relate to those two tabs:
image

The only layers that I know I'm meant to use are the ERG Facilities layer, the NOAA METAR Current Wind Speed and Direction, and the census based layers for Demographics.

Add a dynamic link to relevant guide

When the user selects a material it would be a nice enhancement that a dynamic link is made available to the relevant guide in the erg. This would probably mean splitting out each of the guide pages into separate pdfs based on their guide number.

I think this would aid the user as they can jump straight to the relevant information they need from within the widget instead of having to go and open the guide up separately

UI would be something like this:

picture1

The question mark would be disabled until they have selected a material, then it would become enabled with a link to the relevant guide

If we do add Table 3 to the widget a similar idea could be used to link to the Rail car and Road Trailer identification chart

Sample data should be over Monterey or Nationwide

Currently, the sample data that we're using, the "EmergencyOperations" Map Service, is located over Naperville. We should move it to Monterey.

Here is the sample data from EmergencyOperations viewed in the web map viewer:
image

ERG - Filter and Sort Facilities

From @joebayles on July 3, 2017 20:38

Widget

ERG

Version of widget

1.1?

Bug or Enhancement

Filter/Sort facilities

Repo Steps or Enhancement details

Currently, there doesn't seem to be much rhyme or reason to the order in which the facilities tab populates. Suggest defaulting to distance from the incident, but offering the abilities to filter and sort by:

Filter:

  • Type
  • Geographic Area
    • Isolation Zone vs. Protection Zone
    • Political Boundary
    • Assignment (GRG and ERG together?!?!)
      Sort:
  • Distance from Event
  • Size

Copied from original issue: Esri/solutions-webappbuilder-widgets#921

Update Default Output Style/Carto and include Settings

Currently, this is the output generated from the ERG widget:
image

I can see 3 distinct areas

  1. The immediate spill circle right around the input point. This should have the most intense color, probably red with ~25% transparency
  2. the fan that takes into account the wind direction and other parameters based on the chemical/placard type. This seems like the next most important area. It is currently a think black dashed line, and a thin black solid line. I think that these outlines should also be red, although a lighter shade than the immediate spill circle. This area should also should have a fill, maybe at ~60% transparency.
  3. The third area is the bounding box that touches the vertices of the fan and the initial spill point. This outline could be either thin or a less intense color than red, and it doesn't need a fill, maybe one that is almost completely transparent, at ~90%.

This is a nice example; the areas are represented with varying transparency, but the output graphic is still uniform and it doesn't block out basemap elements:
image

Add hydrology feature service to configuration settings

Adding a hydrology feature service option to the configuration page would enhance the usability of widget. It provide information that is critical to environmental impacts of the hazard. Also, provides information on water around the site that could affect certain chemicals that react with water to increase the danger.

water_reactive_chemicals

Add informational tool tip for the description of spill size.

To ease the user, adding an informational tool tip that provides the ERG's definition of large and small spill sizes. Should include liquid solid and chemical warfare agents.

spill_size_description_2
spill_size_description

The threshold between small and large spill sizes are:\nLiquids - 55 gallons (208 liters)\nSolids - 60 pounds (300 kilograms)

Documentation - Get Started Link

The Get started with Emergency Response Guide link at the bottom of the home page is pointing to the get started section in the GRG widget.

untitled

Update ERG Facilities

Currently, we're using sample data for Naperville for facilities, in the form of a feature service layer. I think that we should build a JavaScript-side input for users to add their own facilities to the widget. I think that we should allow for users to add multiple layers. For example, if they had a separate layer for hospitals, schools, other critical infrastructure, they should be able to add them all in, so the widget can check against multiple facilities at once. According to @kgonzago, allowing for more than one input feature service will impact how the facilities are rendered in the widget. Another option would be making users have one feature service that can have subtypes for different categories of facilities.

We would need to figure out how to define the fields to show from the facilities feature layers

Current facilities list for reference:
image

Demographic Data not appearing in Demographic Tab "cannot read property `toString` of undefined"

These may be two different issues, but I'm unable to get the demographic tab to give any results. After clicking "Solve" the tool runs and appears to create output features on the map. However, this pop-up appears:
image.

I can click OK and close the pop-up

image

The Map Service layer that is driving the demographic tab is the Total Population layer.

##To Reproduce:

  1. Deploy the ERG and Emergency Operations .sd files to the National Security Portal
  2. In the config.json file of the widget, update the Demographic map service with the rest url of the Total Population layer from the Emergency Operations map service. This change should be reflected in the configuration page in Web AppBuilder
  3. Set any parameters in the ERG tab and click "Solve."

Not sure what is going wrong here, but I'm not getting any demographic data returned in the widget

Documentation - Use the ERG Widget

Wording on point 12 is incorrect:

untitled

The button is now labelled 'Create zones'

untitled

And the panel is labelled results:

untitled

and the widget does not show demographic and facility information

Update ERG Demographics

Currently, we seem to be using a set of broken demographic layers in our EmergencyOperations map service to drive the demographic layers. It seems like SampleServer6 has a functional map service for demographic data, although it may still be outdated.

These are our layers in the EmergencyOperations Map Service, they don't seem to be up to date/working:
image

What we should do is update the widget so that it pulls in a service from ArcGIS Online. We may want to explore data being released as part of Community Analyst. We could include a sample service, but we want users to be able to go to the configuration page of the widget and pull in whatever demographic service they want.

ERG Widget "Chlorine" throws a GP service error

I ran it for Chlorine, and it failed. Retried several times, it hangs and presents this window.

image

Text is:

nsecmini01.esri.com says:

ERG Geoprocessing job status: Executing (ERG By Chemical):
ERGByChemical "Feature Set" Chlorine 45 Day Large c:\arcgisserver\directories\arcgisjobs\erg2016\ergbychemical_gpserver\jf1b154d281f6453c913e99acb42abd75\scratch\scratch.gdb\ERGByChemicalAreas7 c:\arcgisserver\directories\arcgisjobs\erg2016\ergbychemical_gpserver\jf1b154d281f6453c913e99acb42abd75\scratch\scratch.gdb\ERGByChemicalAreasLines7

Copied from original issue: Esri/solutions-webappbuilder-widgets#896

Translate Weather Station GP Service into JavaScript Functionality

Currently, you have to add a weather station GP service while configuring the widget in order to query the weather from a nearby station.

We could translate this functionality to JavaScript, where in the configuration page we allow for a user to select a list of weather stations (feature service) with associated data that they can pull into the widget. The JS would then pick the closest weather station to the input point as a parameter that would help create the output spill scenario.

I think that we should let the user pick a feature service instead of hard coding a nationwide or list of weather stations for Monterey area, but we could provide a sample weather station feature service over our model geography or for the US.

I think that this isn't as high of a priority as converting the Chemical and Placard GP services into JS

Documentation - Overview Page Wording

The last bullet point in the overview description needs changing to reflect that the demographic and facilities data are no longer within the widget:

untitled

I suggest it should be changed to:

Publish the graphic to ArcGIS Enterprise/Portal for ArcGIS for dissemination.

ERG widget has ERG tab. Can we rename the tab?

I find this confusing:
image

Is there any way we can rename the tab to describe the process of creating a scenario? "Create" or "Create Scenario?" tab perhaps?

We could use feedback on this one.

Change BLEVE control label value

Change "Show BLEVE Evac Zone" label to "Show BLEVE Isolation Zone"; BLEVE Isolation Zone is also what's being used on the widget configuration page.

image

ERG Widget "Ammonia, anhydrous" throws a GP service error.

From @kgonzago on August 28, 2017 18:34

Widget

ERG

Version of widget

2.0

Bug or Enhancement

BUG

Repo Steps or Enhancement details

Use "AMMONIA" for "Large" spills and the GP service returns "ERG Geoprocessing status: Failed".

Copied from original issue: Esri/solutions-webappbuilder-widgets#961

UI Improvements for main ERG workflow

I think that it would improve the UI for the bottom 4 settings in the main page to not only be disabled, but to disappear unless the material selected requires these settings:
image

Right now we will have about 9 interactive UI modules, I think reducing it to 5 unless the Wind Speed, Transport Container, BLEVE Evac Zone and Container Capacity are necessary would be a good enhancement for this release.

@joebayles and @elinz we discussed this in my office this morning. Thoughts?

@adgiles FYI

ERG Improvements to support facilities management customers

Updated Issue

This is more of a holistic app than some individual enhancements. Will leave it open, but did add useful bits to individual issues.

Original Issue

Expand Emergency Response Guide widget to better support military customers and facility management

Details

In working with military customers responsible for facilities management and base incidents, it would be good to expand this tool. I am documenting a specific customer and use case, but I know this functionality could be used broader.
New tools:

  1. Drop Pt. on map - this adds a point to an editable Feature Service (for persistent). It also automatically buffers the indicent by 300 ft. and changes any buildings status to Cordoned. A "secondary" buffer is added to the cordonpoly layer.
    1a. Alternatively, add by Building ID from a drop down list; I am thinking this must query the FeatureService and get a list of Building IDs to select from. I assume this adds point on Building center.
  2. Add additional buildings to active incident - if there are additional buildings that fall outside the 300 ft buffer but want to include in the cordoned area, add these buildings by dragging a box. Added to #22
  3. Edit Multiple Bldg Status Added to #22
  4. Add Blockade to active incident Added to #37
  5. Add Safe Route Added to #37
  6. Add Plume from KML/Shapefile - in this case, these files are being computer by external algorithms and imported via this method.

These new tools can be driven off of a published Map Service/Feature Service that includes the following layers:

image

Once an incident is dropped on the map, there are additional capabilities that are desired based on this active incident:

  1. Edit incident info - ability to change name, details, and status (Pending by default, Active, Inactive)
  2. Delete incident - clears incident and return buildings' status to all clear
  3. Add cordon to this incident - name, size, primary check on/off Added to #37
  4. View building report - view buildings affected in a grid - facility, status Added to #22
  5. View blockages report - grid of blockages associated with incident to include name, roads, details, blockage type Added to #37
  6. Activate Entire Event - push to the primary viewer as an active incident that others will now see

Copied from original issue: Esri/solutions-webappbuilder-widgets#647

Convert "Chemical" and "Placard" GP services into javascript functionality.

Part of increasing the usability of the ERG widget would be to convert some of the underlying GP services to client side JavaScript functionality.

Currently, the widget relies on two GP services to execute a spill scenario based on either the placard number or the name of the chemical. After discussing with @joebayles, it seems like each chemical corresponds to a unique placard number, so part of this effort would be translating the python code into JS, but also condensing the two GP services into one piece of code. This piece of functionality can have input parameters either for the placard number or the chemical. It seems like we would be able to store the various chemical and placard types in one .json. There are concerns about overloading the widget with too many options, but if there are about 700 options for the various chemical/placard types we should be ok to implement.

This would be a rather large effort, but would be valuable for modernizing the widget.

Documentation - Install the ERG Widget

Point 1 on the install the ERG widget is worded incorrectly it current says:

Download the Emergency Reference Guide

it should say:

Download the Emergency Response Guide

untitled

Remove Wind Direction Map Service Layer and associated UI/Code - It is not needed for the workflow of the widget

The wind direction map service layer is referencing outdated, static sample weather data. This entire section should be cut out of the widget code and removed from the UI of the configuration page, as it is not needed to run the widget:
image

The way users could get wind direction data is from running the weather station gp service or equivalent JavaScript functionality. They could also manually enter the wind direction in the widget.

Weather data is being pulled from here:
image

Manual Option:
image

Classifying this as a bug.

Documentation - Configuring the ERG widget

Point 3 within the configuring the ERG widget is not representative of the settings in the widget, there are no longer symbology and layer tabs and the symbology settings do not match what is implemented (Fire zone is missing):

untitled

untitled

PDF Visualization

Currently, the PDF is split into two pages, which shows up weird in the browser.
image

Suggest we re-split the PDF to show up like this:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.