Getting Started with ArcGIS Runtime SDK for ios and OS X. Divesh Goyal & Mary Harvey

Similar documents
Developing ios & Mac apps with ArcGIS Runtime SDK. Suganya Baskaran, Divesh Goyal

ArcGIS Runtime SDK for ios and macos: Building Apps. Suganya Baskaran, Gagandeep Singh

Building Apps with the ArcGIS Runtime SDK for ios

Developing mapping applications with ArcGIS Runtime SDK for ios. Divesh Goyal Eric Ito

Getting Started with ArcGIS Runtime SDK for Java SE

Building Applications with ArcGIS Runtime SDK for ios - Part I. Divesh Goyal Mark Dostal

Getting Started with the ArcGIS Runtime SDKs. Dave, Will, Euan

Building Java Apps with ArcGIS Runtime SDK

Deploying ios Apps. Al Pascual

Getting Started with ArcGIS Runtime SDK for Qt. Thomas Dunn & Nandini Rao

Advanced tips & tricks for building powerful ios/mac apps Divesh Goyal Mark Dostal

ArcGIS Runtime SDK for Java: A Beginner s Guide. Mark Baird JC Malott

Hit the Ground Running. ArcGIS Runtime SDK for Android

Getting Started with ArcGIS Runtime SDK for the Microsoft.NET Framework. Morten Nielsen Mike Branscomb Antti Kajanus Rex Hansen

Developing Qt Apps with the Runtime SDK

Transitioning to the ArcGIS Runtime SDK for.net. Antti Kajanus & Mike Branscomb

Building WPF Apps with the new ArcGIS Runtime SDK for.net. Antti Kajanus Mike Branscomb

Getting Started with ArcGIS Runtime SDK for ios. Nick Furness / Al Pascual

Geo-enable your.net apps with ArcGIS Online and Runtime. Antti Kajanus Thad Tilton

Esri Developer Summit in Europe ArcGIS Runtime for ios

An introduction to ArcGIS Runtime

Introduction to ArcGIS API for ios. Divesh Goyal Eric Ito

ArcGIS Runtime SDK for Qt: Building Apps. Koushik Hajra and Lucas Danzinger

ArcGIS Runtime SDK for.net: Building Xamarin Apps. Rich Zwaap Thad Tilton

Developing Mobile Apps with the ArcGIS Runtime SDK for.net

Introduction to Your First ArcGIS Enterprise Deployment. Thomas Edghill & Jonathan Quinn

The Road to Runtime. Mark Cederholm UniSource Energy Services Flagstaff, Arizona

ArcGIS Runtime SDKs Building Offline Apps. Nick Furness

ArcGIS Online: Managing Data. Jeremy Bartley Sentha Sivabalan

ArcGIS Runtime SDK for WPF

Building Android Apps Runtime SDK for Android

Navigator for ArcGIS an Introduction

ArcGIS Runtime: Working with Maps Online and Offline. Will Crick Justin Colville [Euan Cameron]

Collaborate. w/ ArcGIS Runtime SDK for Android

Working with Feature Layers. Russell Brennan Gary MacDougall

Best Practices for Designing Effective Map Services

Getting Started with the Smartphone and Tablet ArcGIS Runtime SDKs. David Martinez, Kris Bezdecny, Andy Gup, David Cardella

Getting Started with ArcGIS Runtime. Jeff Shaner David Cardella

Network Analysis with ArcGIS Online and On-premise Services

Network Analyst: An Introduction

Introduction to ArcGIS API for Flex. Bjorn Svensson Lloyd Heberlie

ArcGIS Runtime SDK for.net Getting Started. Jo Fraley

ArcGIS Runtime SDK for Android An Introduction. Xueming

Designing and Using Cached Map Services

ArcMap Editing Tips and Tricks. Sean Jones

Collector for ArcGIS Preparing for and Working in a disconnected environment

Getting Started with the ArcGIS Mobile APIs. Kris Bezdecny, David Martinez Andy Gup, David Cardella

ArcGIS Online. The Road Ahead Geoff Mortson

Both ArcGIS Online and ArcWeb Services: Focused on the ArcGIS User Deeply integrated within ArcGIS System

ArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella

ArcGIS Runtime SDK for.net Building Apps. Rex Hansen

Programming and Design Patterns for the ArcGIS Mobile SDK

ArcGIS Pro SDK for.net: An Overview of the Geodatabase API. Colin Zwicker Ling Zhang Nghiep Quang

A Developers Guide To Mobile GIS. David Cardella, Jeff Shaner

ArcPad An Introduction

Best Development Practices and Patterns Using ArcGIS Runtime SDK for Android. Xueming Wu Puneet Prakash

ArcGIS Runtime: Styling Maps. Ralf Gottschalk, Daniel Lee, Lucas Danzinger

Getting Started with the ArcGIS API for JavaScript. Julie Powell, Paul Hann

ArcWeb Services (APIs, GIS Content and Functionality)

An Introduction to GIS for developers

Using ArcGIS for Server. Javier Abadía, Esri España Peter McDaid, Esri UK

ArcGIS for Server Michele Lundeen

ArcGIS SDK for Windows Phone and ArcGIS for SharePoint. Jo Fraley Nikki Golding

Cartographic Techniques and Representations

Building Applications with the ArcGIS Runtime SDK for WPF

ArcGIS Desktop The Road Ahead. Amadea Azerki

Integrating Imagery into ArcGIS Runtime Application. Jie Zhang, Zhiguang Han San Jacinto, 5:30 pm 6:30 pm

Using Collector for ArcGIS and Operations Dashboard for ArcGIS. Mike Sweeney Esri-Charlotte

ArcGIS API for JavaScript

Network Analyst: Performing Network Analysis

ArcGIS Apps: An Overview

ArcGIS Runtime SDKs: Building a Routing Application. Frank Kish Konstantin Kutsner

Building Geoprocessing Tools with Python: Beyond the Basics. Dave Wynne

Getting Started ArcGIS Runtime SDK for Android. Andy

Desktop Mapping: Creating Vector Tiles. Craig Williams

Collector for ArcGIS: What s New. Chris LeSueur & James Tedrick

Building Applications with ArcGIS Runtime SDK for Android Part II. Will Crick Dan O Neill

Bringing your Data to Life in the ArcGIS API for JavaScript: Vector Tiles. Craig Williams &

ArcGIS for Developers: An Introduction. Moey Min Ken

Advanced Parcel Editing. Amy Andis Tim Hodson

Developers Road Map to ArcGIS Desktop and ArcGIS Engine

GeoEvent Server Introduction

Providing Interoperability Using the Open GeoServices REST Specification

ArcGIS Runtime SDK for Android: Building Apps. Shelly Gill

Collector for ArcGIS. Paul Barker Bert Yagrich

Open File Explorer Start Pro with SanFran project Open Locator in SanFran project Open Browser and AGOL with RouteExample Web map.

ArcGIS for Server Administration. Andrew Sakowicz

ArcGIS API for Flex An Introduction

ArcGIS GeoEvent Server: Making 3D Scenes Come Alive with Real-Time Data

ArcGIS Enterprise: Portal Administration BILL MAJOR CRAIG CLEVELAND

Setup Guide for Op Tracker

Leveraging SAP HANA and ArcGIS. Melissa Jarman Eugene Yang

Extending ArcGIS for Server. Jon Satchwell, Esri Switzerland Cédric Despierre Corporon, Esri France

Getting Started with ArcGIS for Server. Charmel Menzel and Ken Gorton

Free to download and distribute from

ArcGIS Runtime SDK for Java: Building Apps. Tyler Schiewe

ArcGIS Pro Editing: An Introduction. Jennifer Cadkin & Phil Sanchez

TRAINING GUIDE. GIS Session Preview (New Features) 2017 and 2017r2

Building Real-Time Web Applications Using ArcGIS GeoEvent Processor

Esri Developer Summit in Europe Building Applications with ArcGIS Runtime SDK for Java

Transcription:

Getting Started with ArcGIS Runtime SDK for ios and OS X Divesh Goyal & Mary Harvey

Topics Overview of Runtime Quick intro to SDK resources SDK functionality & patterns - Displaying maps - Performing analysis - Offline capabilities Licensing Q/A

Runtime platforms OS X Desktop Desktop Client Windows Store QT ios.net JavaSE Mobile Android Windows Phone Windows Mobile Embedded

ArcGIS Runtime SDK for ios & OS X Build native applications using Objective-C & Swift OS X (Mountain Lion, Mavericks, Yosemite) ios (6.x, 7.x, 8.x)

Before you begin Mac - OSX 10.9, 10.10 (Mavericks, Yosemite) Xcode 5.x or 6.x - Apple s ios & OSX SDKs - ios Simulator - Instruments ArcGIS Runtime SDK for ios & OSX - Latest release : Version 10.2.4

SDK Resources developers.arcgis.com

Displaying maps

Displaying a Map UI Component : AGSMapView - Responds to gestures - Touch - Trackpad - Mouse - Keyboard - In-built Magnifier & Callout - Displays device location - Auto pan for location updates

A Map is composed of Layers Temporary app data - Graphics layers Operational data - Dynamic layers - Feature layers Basemap - Tiled layer

Sources of map data Tiled layers subclasses of AGSTiledLayer - ArcGIS Map Services (Cached), OGC WMTS, Bing, OpenStreetMap - Fetch pre-cached tiles from services and assemble on screen - Extremely fast. Good for static data. Dynamic layers - subclasses of AGSDynamicLayer - ArcGIS Map Services, ArcGIS Image Services, OGC WMS - Generate map images from service on-demand. - Good for changing data, or customizing map display Feature layers AGSFeatureLayer - ArcGIS Feature Services - Download raw features and draw natively on screen - Good for editing

Layer pattern 1. Construct & Connect URL to web service //Construct layer let tiledlayer = AGSTiledMapServiceLayer(URL: serviceurl) 1. Add to mapview //Add to map view self.mapview.addmaplayer(tiledlayer, withname:"world Street Map")

Web Maps Author on ArcGIS Online or on-premise ArcGIS Portal - Predefined list of layers - Initial map configuration - Extent, scale range, symbology etc JSON AGSWebMap - Creates appropriate layer objects when opened into mapview //Create webmap self.webmap = AGSWebMap(itemId: "b31153c71c6c429a8b24c1751a50d3ad", credential:nil) //Open into mapview self.webmap.openintomapview(self.mapview)

Displaying details about geographic features Popups make it easy to view - Attributes - Graphs, Charts - Attachments - Picture - Video - PDF/MS-Office attachments

DEMO Adding a map to your app

Performing analysis Using Tasks

Search for features in a map ArcGIS Map Services & Feature Services SQL or spatial criteria - AGSQueryTask - Earthquakes with magnitude > 6 - All light poles within a bounding envelope Text matching AGSFindTask - Any business that contains the word Solar Geographic location - AGSIdentifyTask - Zipcode where user tapped

Finding addresses/places Address, place name, POI, - 407 W Walnut Pasadena CA 91103 - Mount Everest - Banks in Paris, Coffee, AGSLocator - ArcGIS Online World Geocode service - Free to use. 105 countries - On-premise Geocode services for custom data

Analysis on transportation networks Plan routes - AGSRouteTask - Point to Point, or multi-point - Optimize based on distance or travel time - Reorder stops for best sequence - Time windows, Barriers & Restrictions Compute service areas - AGSServiceAreaTask Find closest facilities AGSClosestFacilityTask ArcGIS Online World Route service - 100+ Countries. Live & Historical Traffic data - Requires subscription. Consumes credits On-premise Route services for custom data

Spatial Analysis AGSGeoprocessor - Invoke geoprocessing services ArcGIS Online Spatial Analysis service - Summarize Data (Aggregate points, etc) - Analyze Patterns (Watershed, Viewshed,etc) - Use Proxmity (Density, HotSpot, Interpolate, etc) On-premise Geoprocessing services - Custom geoprocessing tools & models

Geometric Operations AGSGeometryEngine - Native, high performance engine - Relationship tests - Touches, Intersects, Within, Contains, Overlaps, Crosses - Set operations - Union, Difference, Intersect - Topological operations - Cut, Clip, Simplify, Densify, Buffer, ConvexHull - Measure areas and distance - Project between spatial references

Task Pattern 1. Construct & Connect. - URL to web service 2. Assign a delegate 3. Set up input parameters. Invoke. 1. Process results in the delegate.

Displaying results on the map Add graphics using graphics layer - Points, Lines, Polygons A graphic contains - Attributes (additional information) - Geometry (location & shape) - Symbol (how graphic should look) - Marker, Line, Fill, Text, Composite Tapping on a graphic displays a callout

DEMO Using Tasks

Offline capabilities

Generating offline content Desktop Pattern - Package through ArcMap - Side load onto device, or bundle in application Services Pattern - Extract from services - Tile package - AGSDownloadTileCacheTask - Geodatabase - AGSGDBSyncTask Tile package Geodatabase Network Dataset Locator

Offline Mapping View & Interact with maps - Display Tile package - AGSLocalTileLayer - Display Geodatabase - AGSFeatureTableLayer - Query using SQL or spatial criteria - Edit existing or create new features Layer pattern remains the same 1. Construct & Connect Path to local data Tile package Geodatabase 2. Add to mapview

Offline Editing Edits persisted in the geodatabase on the device Changes can be synchronized with the service - Upload only, Download only, or Bidirectional Synchronize Download Author Map View Query Analyze Edit

Editing using Popups Simplifies capturing feature details - Attributes based on schema - Attachments - Pictures, Video - Geometry - Interactively through sketch layer, or - GPS location Enforces validation - Data type - Domains - Coded Value, Range - Ownership based access control

Offline Analysis Find addresses - AGSLocator using Locator files Get directions - AGSRouteTask using Network dataset Task pattern remains the same 1. Construct & Connect. - Path to local data 2. Assign a delegate 3. Set up input parameters. Invoke. 4. Process results. Network Dataset Locator

DEMO Offline Capabilities

In-depth sessions Session Name Time Location ArcGIS Runtime SDKs: Building Offline Apps, Part I ArcGIS Runtime SDK: Building Offline Apps, Part II ArcGIS Runtime SDKs: Offline Routing and Geocoding Thursday 9:00 10:00am Thursday 10:30 11:30am Thursday 4:00-5:00pm Primrose A Primrose A Smoketree A-E

Runtime Licensing

Runtime Licensing

License levels and functionality License Level Available functionality Developer (development and testing only) Basic Standard All functionality (watermarks and debug messages will be generated) Connected - all functionality Offline - map viewing only Connected and offline - all functionality, includes: Local locators (geocoding) Local routing Local geodatabase editing Local geodatabase sync operations

How to license your app at the basic level http://developers.arcgis.com Under Application section, create a New Application (or select existing) Click on Runtime SDK Licensing 2 Copy the Client ID and use it to set your clientid 1 //Set client ID AGSRuntimeEnvironment. setclientid("duxuhoeh9dac4jcy, error:nil)

How to license your app at the standard level You have 2 options: 1. Use an organization account (ArcGIS Online or Portal for ArcGIS) - Requires users of your app to log in with their account 1. Use a license string obtained from Customer Service or your international distributor - License burnt into the app //Set license code AGSRuntimeEnvironment.license().setLicenseCode( <code> )

Rate This Session www.esri.com/ratemydevsummitsession

Session Name Time Location ArcGIS Runtime SDK: Core Display Architecture Performance Tips and Tricks Development Strategies for Building Mobile Apps the Great Debate Advance tips and trick for building powerful ios/mac apps Building a Modern Geocoding Experience in your Application using Suggestions and Categories ArcGIS Runtime SDKs: Building Offline Apps, Part I ArcGIS Runtime SDK: Building Offline Apps, Part II ArcGIS Runtime SDK for ios and OS X: How We Build the Drone Apps ArcGIS Runtime SDKs: Offline Routing and Geocoding Collector for ArcGIS: How we did it The Road Ahead: ArcGIS Runtime Everything (or Anything) You Wanted to Know about the ArcGIS Runtime SDKs but Were Afraid to Ask Sneak peek into the Next Generation ios and OS X API Tuesday 4:00-5:00pm Tuesday 5:30-6:30pm Wednesday 10:30-11:30am Wednesday 2:30-3:30pm Thursday 9:00 10:00am Thursday 10:30 11:30am Thursday 1:00 2:00pm Thursday 4:00-5:00pm Thursday 5:30 6:30pm Friday 8:30 9:30am Friday 10:00 11:00am Friday 1:00pm 2:00pm Primrose A Pasadena/Sierra/Ventura Catalina/Madera Demo Theater 1 Oasis 1 Primrose A Primrose A Primrose A Smoketree A-E San Jacinto Primrose A Primrose A Primrose C/D