building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field...

35
Building Applications with ArcGIS Runtime SDK for Windows Mobile Glenn Meister Justin Colville

Transcript of building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field...

Page 1: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Building Applications with ArcGIS Runtime SDK for Windows Mobile

Glenn Meister Justin Colville

Page 2: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Agenda

• What is ArcGIS Runtime for Windows Mobile

• Software Development Kit

• Application SDK - Introduction and Key Concepts - Inspection Demo (MPC and App Extension)

• Core SDK - Architecture - What’s new - Migration Demo - SDK Demo Routing

• Road Map

Page 3: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Introduction

Page 4: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

ArcGIS — A Complete System

Easier More Powerful and Everywhere

Cloud

Enterprise

Local

• Discover • Create • Manage • Visualize • Analyze • Collaborate

Mobile

Desktop

Web

Page 5: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Runtime

Windows Mobile

Windows Linux

Rugged and Embedded Devices

iOS Android Windows Phone

Smartphones and Tablets

Runtime SDK .NET CF

Runtime SDK WPF, Java

Runtime SDK Java

Runtime SDK Objective C

Runtime SDK Java

Runtime SDK Silverlight

Page 6: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

What is mobile GIS?

• Carry your maps to the field • Collect and update geographic information • Track and geo-collaborate • Improve efficiency and accuracy • Rapid data collection and seamless data integration • Helps to make informed and timely decisions • Replaces paper based workflows

Page 7: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

ArcGIS for Windows Mobile

• Client Applications - Rapid Deployment of Maps, Apps & Projects - Task-based, Workflow Driven User Experience - Disconnected - Synchronization of Data between Field & Office

• API - Coarse-grained .NET API - Extend client applications - Build custom solutions

Page 8: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

ArcGIS for Windows Mobile

• Simplified data collection experience • Support for attachments • Geometry editing (WM) • Improved GPS display • Waypoint navigation • Identity and auto-populate of attributes • Portal support • Packaging improvements • MPC project verification

Page 9: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Software Developer Kit

Page 10: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Software Developer Kit

Core SDK API • Builds new field applications

from scratch • Embed GIS into existing

Line-of-business applications

• Connected or occasionally connected filed operations

Application SDK API • Extends ready-to-deploy

applications • Creates new tasks or

customizing existing functions

• Available for Windows and Windows Mobile

Conceptual Documentation, API Reference, VS components & templates

Sample Code

Page 11: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Core SDK and Application SDK N

etw

ork

Reso

urce

s Win Forms

.Net Framework /.Net Compact Framework

Mobile Cache M

icro

soft

Vis

ual S

tudi

o 20

08

Core SDK

Application SDK

Windows Mobile WPF

Sync Agents

GPS Geometry

UI Controls Spatial Reference

Page 12: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Application SDK

Page 13: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Application SDK - Introduction • Designed for ready-to-deploy tablet and Windows Mobile

applications • Allows developers to customize the applications

- Changes existing tasks/functions - Integrates new business logic and Implementations

New tasks Custom map layer

Custom menu items

Page 14: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Application SDK – Key Concepts • Task

- Defines a workflow for field operation - Embeds organization-specific business logic - Creates an entry on Select Task Page - Implements ITask interface - Example

- Custom Data Collection Task

Page 15: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Application SDK – Key Concepts (cont.)

• Extension - Customize behavior of existing Tasks or functions - Needs to hook up to an extensible point in framework - Implements ProjectExtension - Either modifies existing workflow or introduce new

business logic - Example:

- Rangefinder Extension

Page 16: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Application SDK – Conceptual Architecture

Mobile Application

Project

Task

Project Extension

Collect Features Task

View Map Task

WorkList Task

Synchronize Task

Browse Map Page

Map Page

Sketch Method

GPS Averaging Method

GPS Streaming Method Page

WPF Windows Mobile

Page 17: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Application SDK – Extensible Points

• MapPage • CollectFeaturesTask • View/Edit Attributes Page and

Dialog • MenuDialog • SearchTask/WorkList Task • SettingsPage • Measuring Methods • and more…

Page 18: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Application Extension

Page 19: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

How to Get Started?

• Project Templates - Seamless integration with Visual Studio IDE - Creates Task or ProjectExtension solutions - Supports both Windows and Windows Mobile - Includes VS project for MPC

• Developer Help - Discusses architecture of the framework - Reveals extensible points with code snippets

• SDK Samples - Implemented in C# - Demonstrates various extensible points

Page 20: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Core SDK

Page 21: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Sync Agents

Core SDK API

Map

Mobile Service Connection

Mobile Cache

GPS

MapAction

Feature Source

Annotation Layer

Tile Cache/StreetMap

Page 22: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

What’s new with the Core Framework

• New core libraries to reference • Namespace

- WinForms Namespace ( MapActions & Sketch) - FeatureCaching (MobileServices)

• Components pulled from designer • Attachment support • Key Class changes

- FeatureSource replaces FeatureLayer - Symbols replace PaintOperations - FeatureSyncAgent replaces FeatureLayer/AnnoSyncAgent

`

Page 23: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Migration your Applications

Page 24: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Demo - Core SDK Migration

• Key Updates made - Component declarations\initialization - Namespace changes - New core libraries to reference - Set Target platform - New MapCache

• Other Changes - FeatureSources replacing FeatureLayer - Generic Graphic layers - Extent is now property not method

Page 25: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Trimble Positions Toolkit

• Enhances data collection capabilities - Positional accuracy - Applies estimated accuracy to features during collection - GeoExplorer series devices

• Current release (SDK only) - Trimble GPS construction methods - Post-processing capability

Page 26: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

SDK - Routing

Page 27: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Routing

RouterFactoryClass rfc = new RouterFactoryClass(); IRouter _route = rfc.CreateRouter(@“<PATH>\Streets.rs"); StreetMapDataset _dataset = new StreetMapDataset(@“<PATH>\_navteq_na.navmap"); StreetMapLayer _layer = new StreetMapLayer(_dataset); _dataset.Open(); mapControl1.MapLayers.Add(_layer);

Page 28: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Routing

//reverse geocode location = _dataset.FindLocation(mapCoordinate);

//geocode Locator locator = _dataset.Locators[0]; LocatorFilter statefilter = locator.GetNextFilter(); LocatorFilter cityfilter = locator.GetNextFilter(); List<LocatorResult> target = new List<LocatorResult>(housefilter.GetResults()); List<Location> result = List<Location>(target[0].GetLocationCandidates());

Page 29: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Routing

StopCollectionClass stopsCollection = new StopCollectionClass(); //Add StopClass to the StopCollectionClass stopsCollection.Add(); IDirections directions = _route.Solve(stopsCollection, null); IDirectionsSummary summary = directions.Summary; IDirectionCollection directionCollection = directions.Items;

Page 30: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Roadmap

Page 31: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

What’s Next?

• Holistic lab - Week of April 16th in Redlands

• Next release on the 10.1 release schedule - Name change - ArcGIS for Windows Mobile - Change in version number – 3.0

Page 32: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

What’s Next?

• Table support • Relationship class support • Laser range finder integration • Ad-hoc schema creation • Routing

Page 33: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

What’s Next?

• New tablet application - WPF Runtime

• Trimble Positions - SDK and Application extension - Support for Real-time Correction - Greater device support

Page 34: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications

Questions?

Page 35: building applications with the arcgis runtime sdk for ... · Core SDK API • Builds new field applications from scratch • Embed GIS into existing Line-of-business applications