Building Applications with ArcGIS Runtime SDK for Windows Mobile

8 downloads 4412 Views 824KB Size Report
Agenda. • What is ArcGIS Runtime for Windows Mobile. • Software Development Kit. • Application SDK. - Introduction and Key Concepts. - Inspection Demo ...
Building Applications with ArcGIS Runtime SDK for Windows Mobile Glenn Meister Justin Colville

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

Introduction

ArcGIS — A Complete System Easier More Powerful and Everywhere

Cloud Web

Mobile

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

Enterprise

Local Desktop

Runtime

Windows Mobile

Windows

Linux

iOS

Android

Windows Phone

Runtime SDK

Runtime SDK

Runtime SDK

Runtime SDK

Runtime SDK

Runtime SDK

.NET CF

WPF, Java

Java

Objective C

Java

Silverlight

Rugged and Embedded Devices

Smartphones and Tablets

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

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

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

Software Developer Kit

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

Conceptual Documentation, API Reference, VS components & templates

Sample Code

Application SDK API • Extends ready-to-deploy applications • Creates new tasks or customizing existing functions • Available for Windows and Windows Mobile

Core SDK and Application SDK

Windows Mobile

WPF

Application SDK

Sync Agents

UI Controls

Spatial Reference

GPS

Geometry

Mobile Cache

Core SDK .Net Framework /.Net Compact Framework

Microsoft Visual Studio 2008

Network Resources

Win Forms

Application SDK

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

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

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

Application SDK – Conceptual Architecture

WPF

Windows Mobile Mobile Application

Collect Features Task

Browse Map Page

Project

View Map Task

Map Page

Task

WorkList Task

Sketch Method

Project Extension

Synchronize Task

GPS Averaging Method

Page

GPS Streaming Method

Application SDK – Extensible Points •

MapPage



CollectFeaturesTask



View/Edit Attributes Page and Dialog



MenuDialog



SearchTask/WorkList Task



SettingsPage



Measuring Methods



and more…

Application Extension

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

Core SDK

Core SDK API

GPS

MapAction

Map

Mobile Service Connection Feature Source

Sync Agents

Mobile Cache

Tile Cache/StreetMap

Annotation Layer

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

Migration your 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

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

SDK - Routing

Routing

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

Routing

//reverse geocode location = _dataset.FindLocation(mapCoordinate); //geocode Locator locator = _dataset.Locators[0]; LocatorFilter statefilter = locator.GetNextFilter(); LocatorFilter cityfilter = locator.GetNextFilter(); List target = new List(housefilter.GetResults()); List result = List(target[0].GetLocationCandidates());

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;

Roadmap

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

What’s Next?



Table support



Relationship class support



Laser range finder integration



Ad-hoc schema creation



Routing

What’s Next?



New tablet application -



WPF Runtime

Trimble Positions -

SDK and Application extension

-

Support for Real-time Correction

-

Greater device support

Questions?