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

Post on 22-Jun-2020

45 views 0 download

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

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

Enterprise

Local

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

Mobile

Desktop

Web

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

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

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

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

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

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

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

Sync Agents

Core SDK API

Map

Mobile Service Connection

Mobile Cache

GPS

MapAction

Feature Source

Annotation Layer

Tile Cache/StreetMap

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(@“<PATH>\Streets.rs"); StreetMapDataset _dataset = new StreetMapDataset(@“<PATH>\_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<LocatorResult> target = new List<LocatorResult>(housefilter.GetResults()); List<Location> result = List<Location>(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?