Situational Awareness Development Overview. Beginning Stages of App Development Had the idea/need, but what API to use? Confusion and Revelations – learn from our trials. Demonstration of Situational Awareness Application Data Feeds from external (non-GIS) data sources
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
(“hand me down” server)
but not with web apps
Source: ESRI ArcNews Online Fall 2009
Just as we were trying to make a decision …
ESRI-Charlotte held a half-day seminar for Emergency Operations personnel:
Weather radar, warnings
All clients viewing FlexViewer Sample will need Adobe FlashPlayer 9 or 10
Example: We wanted to change behavior of the LiveLayerWidget in the FlexViewer sample.
Forums or ESRI would send us a new LiveLayerWidget.mxml or told to “add this to your ‘src’ folder”.
Problem: FlexViewer Sample that is the configurable application contains zero .mxml files or ‘src’ folders
Data sources that are not GIS based
Question: How to extract data from external sources into usable format on a regular basis
Initial Goal: Pull from other sources and place into SQL tables with X and Y Coordinates
Each situation can be very different
Depends on how we can access the data:
Database connection to another server
Web API (API is another potentially confusing term)
Created a SQL Server Database (NON-SDE) for use with most external feeds.
County E911 office maintains in SQL Server (YEAH!)
DBA of E911 allowed us access to Database
County GIS accessing every 30 mins, so he allowed us access if we agreed to that time
Hope to talk him into more frequent time intervals.
Coordinates in CAD are in SC State Plane CS
Started by using Import/Export utility in SQL Server 2005 to create the initial database table within our database from County Dispatch.
Created SQL Server SSIS Package in Business Intelligence Studio for regular updates
Set up a Job in SQL Server Agent within SQL Server 2005 that runs the SSIS package
SQL Server 2005 Job
In ArcMap, use SQL table to “Display X-Y data” (create x-y event theme)
Choose the projection for the X-Y data by “Importing” from one of your existing data layers that has the extent needed (ie. City Limit or County boundary).
Do NOT just select the correct projection/coordinate system.
Publish Map document as a Map Service with ArcGIS Server
Find REST URL for the Service and layer number for Dispatch Calls and update the config.xml and/or LiveLayerWidget.xml accordingly (see doc on configuring FlexViewer)
Run application and layer will appear
Note: Data layers added through this method will project on the fly!
City Fire Dept. uses iTRAK AVL system for fire trucks – locations stored at iTRAK in Colorado
Chief uses iTRAK’s web app to monitor locations
iTRAK offers an web API to customers
We utilize this API to access fire truck locations
API in this case is actually a “connection to info that they are supplying”. AKA – web service
iTRAK supplied us with a query, username, and password. The query supplies a text file…..
Need to get from Text file
with Vehicle Names and
Lat /Lon as numbers vs. text
That can be updated every minute!
SQL Server and SSIS package that can be scheduled to run as SQL job every minute
Only dealing with 12-15 records
Runs query to iTrak API and returns text file using HTTP connection
Pushes info from text file to SQL table
Runs several sql statements to extract latitude, longitude, vehicle name from long text string and convert lat/lon to numbers
Use SQL View vs. Table for final Fire Truck Locations
Use in FlexViewer using same method as other Data Feeds
Display X-Y Data using View
Publish as Map Service
Add to widget
Adjust refresh rate of widget to a minute so that it will show changes in data.
These fields still empty
after this task
Extract Latitude from text string
Converts lat string to number and places into number field
Extract Longitude from text string
Converts lon string to number and places into number field
Extract Vehicle number from text string