ArcGIS for Defense/Intel A Developer's Guide - Esri
ArcGIS for Defense/Intel A Developer's Guide - Esri
ArcGIS for Defense/Intel A Developer's Guide - Esri
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>ArcGIS</strong> <strong>for</strong> <strong>Defense</strong>/<strong>Intel</strong><br />
A Developer’s <strong>Guide</strong><br />
Ben Conklin<br />
Matt Funk<br />
Keith Ailshie
Agenda<br />
• Introduction<br />
• Basemaps<br />
• Working with military features<br />
• <strong>ArcGIS</strong> Runtime Qt SDK
<strong>ArcGIS</strong><br />
Easier<br />
More Powerful<br />
and Everywhere<br />
Mobil<br />
e<br />
We<br />
b<br />
Deskto<br />
p<br />
• Discover<br />
• Create<br />
• Manage<br />
• Visualize<br />
• Analyze<br />
• Collaborate<br />
Cloud<br />
Enterprise<br />
Local
<strong>ArcGIS</strong> Is Open<br />
OGC<br />
WWW<br />
SQL<br />
Standards<br />
CAD<br />
KML<br />
ISO<br />
WMS<br />
DoD<br />
WCS<br />
WFS<br />
SOAP<br />
INSPIRE<br />
NATO<br />
Open Data Access<br />
GDB<br />
Silverlight<br />
Open API’s<br />
Share Point<br />
Flex<br />
Java<br />
REST<br />
Open REST API<br />
Any Application<br />
REST API<br />
esri Published REST<br />
Interface as an Open Standard<br />
Silverlight<br />
JavaScript<br />
Flex
<strong>Intel</strong>ligent Maps Are a Focus<br />
• Interact<br />
• Query<br />
• Edit<br />
• Share<br />
• Analyze<br />
• Combine<br />
Data Model<br />
Data<br />
Symbology<br />
Tables/<br />
Charts<br />
<strong>Intel</strong>ligence Human Terrain<br />
Accessibility<br />
Analysis<br />
and Models<br />
Metadata<br />
Workflows<br />
Operations<br />
Situational Awareness
Sharing Well Designed Maps Through Templates<br />
Encapsulating geospatial knowledge in a variety of ways<br />
Map Services Packages<br />
Application Templates<br />
Desktop<br />
Mobile<br />
Web
<strong>ArcGIS</strong><br />
A complete system <strong>for</strong> geographic in<strong>for</strong>mation<br />
Mobile<br />
Web<br />
Desktop<br />
• Discover<br />
• Create<br />
• Manage<br />
• Visualize<br />
• Analyze<br />
• Collaborate<br />
Cloud<br />
Enterprise<br />
Local
<strong>ArcGIS</strong> is <strong>for</strong> <strong>Defense</strong><br />
A complete system <strong>for</strong> geospatial intelligence<br />
Mounted and<br />
Dismounted<br />
COP<br />
Analyst<br />
Workstation<br />
• Discover<br />
• Create<br />
• Manage<br />
• Visualize<br />
• Analyze<br />
• Collaborate<br />
<strong>Defense</strong><br />
Cloud<br />
Enterprise<br />
Local/<br />
Deployed
<strong>Defense</strong> and <strong>Intel</strong>ligence community<br />
Imagery<br />
Agencies<br />
Terrain<br />
All Source<br />
Analysts<br />
J-3/4/7<br />
Operator<br />
Commander<br />
Mounted Dismounted
<strong>Defense</strong> users build <strong>Intel</strong>ligent Maps<br />
Operations<br />
Situational<br />
Awareness<br />
Mobility<br />
<strong>Intel</strong>ligence<br />
Human Terrain<br />
A key concept is basemaps plus<br />
operational layers = “<strong>Intel</strong>ligent Map”
Military Features<br />
Native to <strong>ArcGIS</strong><br />
• Military Features are <strong>ArcGIS</strong> Features<br />
• Standard <strong>ArcGIS</strong> symbology and labeling<br />
• Units, Installations, Operational Features, etc.<br />
• Used <strong>for</strong> planning, analysis, collaboration<br />
• Geodatabase schema<br />
• Feature Templates and Packages<br />
• MIL-STD-2525C / APP6-B
<strong>ArcGIS</strong> <strong>for</strong> <strong>Defense</strong> Templates
Resource Center<br />
• <strong>Defense</strong> and <strong>Intel</strong>ligence User Community<br />
• Blogs<br />
• Help<br />
• Forum<br />
• Videos<br />
• Ideas<br />
• Template Galleries
Basemaps
Basemaps<br />
• Background <strong>for</strong> operational layers<br />
• Frame of reference to orient the user<br />
• Give context to operational layers<br />
• Require thought, planning and good design
Principals <strong>for</strong> good basemaps<br />
• Basemaps are continuous in an area of interest<br />
• Basemaps exist at multiple scales<br />
• Basemaps are a simple way to encapsulate complex<br />
data<br />
- Basemaps are presented as a couple of layers<br />
- Basemaps have simple pop-ups<br />
• Basemaps should have a common projection (Web<br />
Mercator Aux. Sphere)
Basemaps<br />
•Topographic Basemap<br />
•Scanned Maps Basemap<br />
•Imagery Basemap
Topographic Basemap<br />
• Elevation Data<br />
- Raster data (DTED)<br />
- Contours<br />
• Topographic Features at multiple<br />
scale<br />
- Transportation Network<br />
- Built Up areas<br />
- Place Names<br />
- Boundaries<br />
- Hydrography<br />
- Physiographic Features<br />
- VMAP 0, 1, 2, UVMAP
Scanned Maps Basemaps<br />
• Scanned Maps<br />
- Georeferenced scanned images of NGA hardcopy products<br />
- Global Navigation Chart (GNC)<br />
- Jet Navigation Chart (JNC)<br />
- Operational Navigation Chart (ONC)<br />
- Tactical Pilotage Chart (TPC)<br />
- Joint Operations Graphic (JOG)<br />
- Topographic Line Map (TLM)<br />
- City Graphics<br />
- Others<br />
• Released in 2 <strong>for</strong>mats<br />
• Compressed ARC Digitized Raster Graphics (CADRG)<br />
• Enhanced Compressed Raster Graphics (ECRG)
Imagery Basemap<br />
• Panchromatic Imagery<br />
• Controlled Image Base (CIB)<br />
- Orthorectified<br />
- 10 m, 5 m, 1 m resolution
Mosaic Datasets <strong>for</strong> Scanned Maps and Imagery<br />
• New data type within the Geodatabase at <strong>ArcGIS</strong> 10<br />
to store, manage, view and query imagery<br />
• Combines the best capabilities of raster catalogs,<br />
raster datasets and image server technology<br />
• Available to all license levels (requires <strong>ArcGIS</strong> Editor<br />
or above to create and add data)
Mosaic Datasets Key Benefits<br />
• On-the-fly mosaicking<br />
• Handles imagery of differing resolutions<br />
• On-the-fly processing (function chains)<br />
• Usable as a raster dataset <strong>for</strong> analysis<br />
• Dissemination through Geodatabase and <strong>ArcGIS</strong><br />
Server (image service)<br />
• Time enabled<br />
• Raster Types enable ingestion of new imagery with<br />
associated metadata and simplified processing
Raster Types <strong>for</strong> Mosaic Datasets<br />
• A raster type identifies<br />
- Raster <strong>for</strong>mat<br />
- Processing (function chain)<br />
- Metadata<br />
• Applied during data load<br />
• Military raster types<br />
- NITF<br />
- DTED<br />
- CADRG<br />
- CIB
Basemap templates<br />
• <strong>ArcGIS</strong> Online <strong>Defense</strong> and <strong>Intel</strong>ligence Community<br />
• Topographic Basemap Map Template<br />
- NSG entity catalog features<br />
- DTED rasters<br />
• Imagery Basemap Template<br />
- CIB<br />
• Scanned Maps Template<br />
- CADRG/ECRG
Scanned Maps Template
Working with military features
What are military features?<br />
• Infantry company, main<br />
supply route, IED event<br />
• <strong>ArcGIS</strong> features<br />
- Points, lines, polygons<br />
- Geodatabase schema<br />
- Labels <strong>for</strong> text<br />
- Defined symbology<br />
• Work across <strong>ArcGIS</strong> system
Military feature layer packages<br />
• Where military features are<br />
stored<br />
• Layer Packages on<br />
<strong>ArcGIS</strong>.com<br />
- Military Overlay<br />
- Friendly Operations<br />
- Hostile Operations<br />
- Neutral Operations<br />
- Emergency Management<br />
- Others, …<br />
• Geodatabase schema,<br />
symbols, label expressions
Types of features<br />
• Units, Equipment, Installations (UEI)<br />
• Operations features
UEI features<br />
• Units<br />
- Engineer platoon, Artillery battery<br />
• Equipment<br />
- Armored personnel carrier, UAV<br />
• Installation<br />
- Power plant, Raw material production<br />
• Events<br />
- IED, Carjacking, Ambush<br />
• Point features<br />
• Create symbols from layer packages<br />
and style files
Operations features<br />
• Can be points, lines or<br />
areas<br />
• Tasks, objectives, maneuver<br />
and fire features<br />
• Layers in military feature<br />
layer packages<br />
• Use predefined symbols
Graphic Modifiers<br />
• Show size or capability of a<br />
UEI<br />
• Types:<br />
- Capability<br />
- Mobility<br />
- Echelon<br />
- Headquarters<br />
• Marker symbols<br />
• Added to base symbol as<br />
symbol layers
Text Modifiers<br />
• Descriptive text<br />
• Name, speed, Higher<br />
<strong>for</strong>mation<br />
• UEI or operations features<br />
• Attribute fields in each<br />
feature<br />
• Label classes & label<br />
expressions<br />
• Built into military feature<br />
layer packages<br />
• Maplex Label Engine <strong>for</strong><br />
placement
Symbols in style files<br />
• UEI frame and icon as marker symbols<br />
• Graphic modifiers as marker symbols<br />
• Searchable, each symbol is tagged<br />
• 13 style files in <strong>ArcGIS</strong>, including:<br />
- C2 Military Operations<br />
- C2 UEI Air Track<br />
- C2 UEI Ground Track Equipment<br />
- C2 UEI Ground Track Installations<br />
- C2 UEI Ground Track Units<br />
- C2 UEI Sea Surface Track<br />
- & more …
Military features on the web<br />
• Military features work in Server<br />
• Publish military features as maps<br />
• Map service <strong>for</strong> display<br />
• Feature service <strong>for</strong> editing
Situation Awareness Template<br />
• Watch position reports<br />
update<br />
• View & add operations<br />
reports<br />
- EOD 9-line<br />
- MedEvac<br />
- SPOT/SALUTE<br />
- SigActs<br />
• Feature Service to update<br />
positions<br />
• <strong>ArcGIS</strong> API <strong>for</strong> Silverlight
What is in the template?<br />
• Web application template<br />
• Situation Viewer<br />
- Desktop or large touch screen<br />
• Reporting schema <strong>for</strong> SDE<br />
• Reporting MXD <strong>for</strong> publishing<br />
report<br />
• Sample simulators
Situation Awareness Template
Define new UEI types<br />
• Many combinations<br />
• Build from layers and symbols<br />
• Layers from Layer Packages<br />
• Symbols from style files<br />
• Symbol = Primary Symbol +<br />
Modifiers
Define new UEI in ArcMap
Define new UEI types: Layers<br />
• Layers in layer packages<br />
• Friendly Operations contains:<br />
- Friendly Units<br />
- Friendly Equipment<br />
- Friendly Installations<br />
- Friendly Operations Point<br />
- Friendly Operations Line<br />
- Friendly Operations Area<br />
- Friendly SIGINT<br />
ArcObjects: FeatureLayer
Define new UEI types: Symbols<br />
• Stored in style files<br />
- 8 style files <strong>for</strong> UEI features<br />
• Symbols<br />
- Picture Markers<br />
- Each has a tag<br />
- SIDC can be used to search tags<br />
ArcObjects: ServerStyleGallery
Symbol ID Code<br />
Coding<br />
Scheme<br />
Battle<br />
Dimension/<br />
Category<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<br />
Standard<br />
Identity/<br />
Exercise<br />
Amplifying<br />
Descriptor<br />
Status/<br />
Operational<br />
Condition<br />
Function ID<br />
Symbol<br />
Modifier/<br />
Echelon<br />
Country<br />
Code<br />
Order<br />
Of<br />
Battle<br />
C2 symbology: Units, equipment, and installations (UEI)<br />
C2 symbology: Military operations<br />
Signals intelligence symbology (SigInt)<br />
Stability operations symbology (SO)<br />
Emergency management symbols (EMS)
Primary Symbol<br />
• Outer frame and inner icon<br />
• Search style file<br />
• Use Symbol ID Code positions 1 through 10<br />
- If SIDC is SFGPUCI---AFUSG<br />
- I would search using SFGPUCI--------<br />
- Use dash “-” <strong>for</strong> positions 11 through 15<br />
ArcObjects: PictureMarkerSymbol, IStyleGalleryItem2
Graphic Modifiers<br />
• Add to primary symbol<br />
• Two general types<br />
- Frame modifiers<br />
- Other modifiers<br />
- Mobility, echelon, etc.<br />
• Search “modifier” in UEI<br />
style files<br />
ArcObjects: ServerStyleGallery, PictureMarkerSymbol
ArcObjects classes<br />
• ServerStyleGallery<br />
- Access and manage Style Gallery (style files)<br />
• IStyleGalleryItem2<br />
- Search the Tags property<br />
• PictureMarkerSymbol<br />
- Use and create military feature symbols<br />
• FeatureLayer<br />
- Display military feature data in a map
Vehicle Commander Application
Vehicle Commander reference application<br />
• Sample reference application with source code<br />
- Military scenario <strong>for</strong> a vehicle commander<br />
- Uses new <strong>ArcGIS</strong> Runtime Qt SDK<br />
• Vehicle commanders can see:<br />
- Rich Basemaps with seamless pan/zoom<br />
- Messages including 2525C symbols<br />
- Current vehicle location, status of blue <strong>for</strong>ces,<br />
and events<br />
• Vehicle commanders can create<br />
- Reports – SPOT, SIGACTS, MEDEVAC<br />
- Waypoint routing
<strong>ArcGIS</strong> Qt SDK: Features<br />
• Message Parsing Framework<br />
- Receive/Display Messages<br />
- Compose/Send Messages<br />
• Symbol Searching<br />
• GPS Display<br />
• Interactive user experience<br />
- OpenGL based rendering<br />
- Compact application footprint
<strong>ArcGIS</strong> Qt SDK: Message Parsing<br />
• Receiving/Displaying Messages<br />
- Define a message schema (if necessary)<br />
- Connect to a transmission protocol<br />
- Convert incoming data<br />
- Send to message parsing object<br />
- MessageParser::setMessageStream(const QString&)<br />
- Creates a graphic(s)<br />
- Creates and/or adds the graphic(s) to the graphics layer(s)<br />
defined by the message schema(s)
<strong>ArcGIS</strong> Qt SDK: Message Parsing (continued)<br />
• Compose/Send Messages<br />
- Define the message type<br />
- Populate message attributes<br />
- Populate symbol in<strong>for</strong>mation<br />
- Populate geometry in<strong>for</strong>mation<br />
- Package and send over a transmission protocol
<strong>ArcGIS</strong> Qt SDK: Symbol Searching<br />
• The SymbolDictionary object allows symbol search<br />
capabilities.<br />
- Symbol data derived from <strong>ArcGIS</strong> style files<br />
- Search Methods<br />
- Text based search<br />
- Filter/Tag based searching<br />
- Apply/Remove filters<br />
- Query keywords by frequency<br />
- Capable of fetching Symbol ID, frame/icon image, as<br />
well as other attributes
Filter Example<br />
* Error checking omitted <strong>for</strong> clarity
<strong>ArcGIS</strong> Qt SDK: GPS capabilities<br />
• Exposed through the Map<br />
- Define the mode<br />
- Gps mode, free pan mode, etc<br />
- MapView::setPositionUpdateMode(PositionUpdateMode)<br />
- Update self location & self heading<br />
- MapView::setMyLocation(const QPointF&)<br />
- MapView::setMyHeading(const double&)<br />
• Note, pan operations override Gps mode