building powerful, integrated mobile applications with ... · pdf filethe mobile environment...
TRANSCRIPT
Federal User Conference 2008Federal User Conference 2008 22
Building Powerful, Integrated Mobile Applications with ArcGIS Mobile
Jeff BaranyiCorporate Technical Marketing – Denver, CO
Michael MillerESRI Technical Sales – Philadelphia, PA
AgendaAgendaIntroductionIntroductionBasic WorkflowBasic WorkflowDeveloper perspectiveDeveloper perspectiveExamplesExamplesArcGIS Mobile at 9.3ArcGIS Mobile at 9.3……QuestionsQuestions
Federal User Conference 2008Federal User Conference 2008 33
ArcGIS Server 9.2ArcGIS Server 9.2Complete & Integrated serverComplete & Integrated server--based GISbased GISOutOut--ofof--thethe--box applications and services box applications and services Rich developer opportunitiesRich developer opportunities
UC 2007 Tech SessionsUC 2007 Tech Sessions 44
ArcGIS ServerArcGIS Server
Spatial DataSpatial DataManagementManagement
VisualizationVisualization(Mapping)(Mapping)
SpatialSpatialAnalysisAnalysis
WebMapWebMapApplicationsApplications
ArcGISArcGISMobileMobile
ArcGISArcGISExplorerExplorer
ArcGISArcGISDesktopDesktop
JavaJava.NET.NET
What is Mobile GIS?What is Mobile GIS?Extension of GIS beyond the office and into Extension of GIS beyond the office and into the mobile environmentthe mobile environmentSolutions centered on Geographic information forming Solutions centered on Geographic information forming a geocentric systema geocentric systemSolutions integrating Geographic information into Solutions integrating Geographic information into existing deployments, forming a geospatiallyexisting deployments, forming a geospatially--enabled enabled systemsystem
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
55
Mobile platformsMobile platforms
Smart PhonesSmart Phones
Pocket PC phonesPocket PC phones
Tablet PC/LaptopsTablet PC/Laptops
ESRI MUGESRI MUG 66
Mobile GISMobile GIS
ArcGIS Server ArchitectureArcGIS Server Architecture
Basic SOA ComponentsBasic SOA Components
ArcGIS Mobile SDK
ArcGIS Server technology for developing mobile solutions
ArcGIS Mobile SDKArcGIS Mobile SDK
An ArcGIS Server developer solution for mobile An ArcGIS Server developer solution for mobile applicationsapplications
An SDK that ships with ArcGIS Server for building An SDK that ships with ArcGIS Server for building Mobile applications.Mobile applications.
A Suite of .NET Components for developing custom A Suite of .NET Components for developing custom serverserver--centric lightweight mobile applicationscentric lightweight mobile applications
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
1111
ArcGIS Mobile SDKArcGIS Mobile SDKSupports field workflowsSupports field workflows–– Data viewingData viewing–– Feature inspectionFeature inspection–– Basic data collectionBasic data collection
Direct synchronization with ArcGIS ServerDirect synchronization with ArcGIS Server
Connected and disconnected environmentsConnected and disconnected environments
Windows Mobile and Desktop platformsWindows Mobile and Desktop platforms
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
1212
ArcGIS Mobile Workflow
Build, Author, Design, Integrate, Secure, Serve, Deploy, and Sync mobile GIS applications and services
ArcGIS Mobile workflowArcGIS Mobile workflow1.1. Build your Mobile GeodatabaseBuild your Mobile Geodatabase2.2. Author your Mobile MapAuthor your Mobile Map3.3. Design your Mobile ApplicationDesign your Mobile Application4.4. Integrate with existing solutionsIntegrate with existing solutions5.5. Secure server and client dataSecure server and client data6.6. Serve your Mobile Map ServiceServe your Mobile Map Service7.7. Deploy your Mobile SolutionDeploy your Mobile Solution8.8. Synchronize your Mobile GIS solutionSynchronize your Mobile GIS solution
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
1414
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
1515
ArcGIS Mobile SDK: OverviewArcGIS Mobile SDK: Overview
Microsoft Visual StudioMicrosoft Visual StudioArcGIS Mobile SDKArcGIS Mobile SDK
Data ExtractorData Extractor
DeviceDeviceApplicationApplication
(EXE)(EXE)
ArcGIS Server
URLURLWeb ServicesWeb Services
DeviceDeviceDBDB
Mobile
Day to dayDay to dayDataData
SynchronizationSynchronization
DeployDeploy
Get SchemaGet SchemaExtract Base DataExtract Base Data
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
1616
ArcGIS Server SetupArcGIS Server Setup
Build Mobile GeodatabaseBuild Mobile Geodatabase–– Information ModelInformation Model–– Transaction ModelTransaction Model
Author your Mobile MapAuthor your Mobile MapSet up the serverSet up the serverPublish the map as a mapPublish the map as a mapservice with Mobile Data Accessservice with Mobile Data AccessCapabilitiesCapabilities
GDBGDB
ArcMapArcMap
Mobile MapMobile MapDocumentDocument
ArcGIS Server
ArcCatalogArcCatalog
Web ServicesWeb Services
ArcCatalogArcCatalog
Geodatabase ConsiderationsGeodatabase Considerations
Simplify background dataSimplify background dataUse Integer fields were you canUse Integer fields were you can–– Text and Float(double) can impact Mobile Platforms performanceText and Float(double) can impact Mobile Platforms performance–– Use Coded Value DomainsUse Coded Value Domains
Use minimum number of fieldsUse minimum number of fields–– Hiding fields in ArcMap also removes them from the mobile clientHiding fields in ArcMap also removes them from the mobile client
Use a Version in SDE for your mobile crewsUse a Version in SDE for your mobile crews–– This can help with the flow of field editsThis can help with the flow of field edits–– You can build the cache using default and in code have ArcGIS MoYou can build the cache using default and in code have ArcGIS Mobile bile
post to a mobile versionpost to a mobile version
Blob fields are supportedBlob fields are supported–– They could impact performance on syncingThey could impact performance on syncing
ESRI MUGESRI MUG 1717
Author Mobile MapAuthor Mobile MapUse ArcMap to design your mobile mapUse ArcMap to design your mobile mapCaution Caution -- Maps created for desktop monitors are not suitable for Maps created for desktop monitors are not suitable for field use!field use!Considerations:Considerations:–– Form factor of device (impacts scale dependency and symbol widthForm factor of device (impacts scale dependency and symbol width))–– Amount and complexity of dataAmount and complexity of data–– Design for the environmentDesign for the environment
ContrastContrastSymbologySymbology
–– Limit Polygon fillLimit Polygon fill
–– Determine Background data vs. operational dataDetermine Background data vs. operational data
For more information see the Developer Help topic "Preparing For more information see the Developer Help topic "Preparing Data and Maps" in the section "Developing Mobile Applications Data and Maps" in the section "Developing Mobile Applications using the Mobile ADF". using the Mobile ADF".
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
1818
SymbologySymbologyMarker symbolsMarker symbols
–– Rasterizes the symbolRasterizes the symbol–– Choose based on scale it needs to be displayedChoose based on scale it needs to be displayed
Use simple line symbolsUse simple line symbols–– Supports simple line symbols, character line symbols, and hash lSupports simple line symbols, character line symbols, and hash line ine
symbols, but it does not support marker line symbols and line symbols, but it does not support marker line symbols and line decorationsdecorations
PolygonsPolygons–– Supports layered polygon symbols where the outline line symbol cSupports layered polygon symbols where the outline line symbol chosen hosen
may be a character or hash line symbol. The framework does not may be a character or hash line symbol. The framework does not support other fill symbols types (picture fill symbols, marker fsupport other fill symbols types (picture fill symbols, marker fill ill symbols, line fill symbols).symbols, line fill symbols).
Assess text symbolsAssess text symbols–– Tahoma 8pt font is a good font and size for labeling features onTahoma 8pt font is a good font and size for labeling features on a Pocket a Pocket
PC or smart phone device. However, if the text is rotated, you sPC or smart phone device. However, if the text is rotated, you should hould consider a larger font size. Justification of text is not supporconsider a larger font size. Justification of text is not supportedted
ESRI MUGESRI MUG 1919
Publish Mobile Web ServicePublish Mobile Web ServicePublish using ArcGIS Server Manager or ArcCatalogPublish using ArcGIS Server Manager or ArcCatalogPublish Map Service with Mobile data access Publish Map Service with Mobile data access capabilities enabledcapabilities enabled–– Creates a WSDL for Creates a WSDL for
MobileMobile
Reliance on ArcGIS server quality of serviceReliance on ArcGIS server quality of serviceTest the service by Adding the ?wsdl to the end of the Test the service by Adding the ?wsdl to the end of the urlurl
ESRI MUGESRI MUG 2020
Design Mobile ApplicationDesign Mobile ApplicationMobile SDK installed as part of ArcGISMobile SDK installed as part of ArcGISServerServerUse Visual Studio 2005:Use Visual Studio 2005:
–– Windows Mobile 5.0 for Pocket PCWindows Mobile 5.0 for Pocket PC–– Pocket PC 2003Pocket PC 2003–– Windows Mobile 5.0 for SmartphoneWindows Mobile 5.0 for Smartphone–– Tablets and Notebooks (Windows XP)Tablets and Notebooks (Windows XP)
IDE IntegrationIDE IntegrationBuild Simple and focused user Build Simple and focused user interfacesinterfacesDevelop for function and form factorDevelop for function and form factor
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2121
ArcGIS Mobile Components
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2222
Deploy Mobile SolutionDeploy Mobile Solution
Design your Mobile ApplicationDesign your Mobile ApplicationIntegrate with existing solutionsIntegrate with existing solutionsGenerate initial client dataGenerate initial client dataSecure server and client dataSecure server and client dataDeploy to devicesDeploy to devices
Visual StudioVisual Studio
MobileMobileEXEEXE
ExtractorExtractorMapMap
CacheCache
DeploymentDeployment
MobileMobileEXEEXE
MapMapCacheCache
ArcGIS Server
Deploy Mobile PackageDeploy Mobile PackageDeveloper shares the responsibility to deploy application and thDeveloper shares the responsibility to deploy application and the e data to the userdata to the userCab deployment Cab deployment Click once deploymentClick once deploymentPushPush–– System Management ServerSystem Management Server–– SOTI MobiControlSOTI MobiControl–– iAnywhere AfariaiAnywhere Afaria–– ……
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2323
Deployment
PUSH toDevice
Copied to Device
PULLED byDevice
Over-the-airProvisioning
ActiveSync
SD/MMCAutoRun Other…
E-mailHyperlink a file
SMSHyperlink to
a file
Map Cache Extractor SampleMap Cache Extractor SampleSample comes with ArcGIS Sample comes with ArcGIS ServerServerAllows you to create a map Allows you to create a map cache before deployingcache before deployingMinimizes data Minimizes data synchronization and synchronization and bandwidth requirementsbandwidth requirementsDonDon’’t create a large cachet create a large cache
Synchronize Mobile GIS Synchronize Mobile GIS SolutionSolutionApplication:Application:
Takes responsibility for managing Takes responsibility for managing the sync processthe sync processPushes and pulls new and Pushes and pulls new and updated featuresupdated featuresLeverages spatial and attribute Leverages spatial and attribute queries to optimize feature pull queries to optimize feature pull from the Serverfrom the Server
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2525
Web ServiceWeb Service
Day to Day SyncDay to Day Sync
ArcGIS Server
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2626
Synchronize Mobile GIS SolutionSynchronize Mobile GIS SolutionWireless accessWireless access–– WiWi--FiFi–– Cellular Networks (EDGE, EVDO, HSDPA, Cellular Networks (EDGE, EVDO, HSDPA, ……))–– Other networks with internet accessOther networks with internet access
Docked accessDocked access–– LANLAN–– Cradle (Active Sync)Cradle (Active Sync)
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2727
ArcGIS Mobile SDK
Prerequisites, SDK Features – Map, GPS, ADO.Net, Visual Studio Components and Integration, and Application
Deployment
ArcGIS Mobile SDK: ArcGIS Mobile SDK: PrerequisitesPrerequisites
Visual Studio 2005Visual Studio 2005Familiarity with Familiarity with
–– .Net Framework 2.0 .Net Framework 2.0 –– .Net Compact Framework 2.0 .Net Compact Framework 2.0 –– C# or VB.NETC# or VB.NET
SDK for Windows Mobile 5.0 for Pocket PC 5.0 developmentSDK for Windows Mobile 5.0 for Pocket PC 5.0 developmentSDK for Windows Mobile 5.0 for Smartphone 5.0 developmentSDK for Windows Mobile 5.0 for Smartphone 5.0 developmentActive Sync 4.1 or higher installedActive Sync 4.1 or higher installedThorough understanding of ADO.Net conceptsThorough understanding of ADO.Net conceptsAccess to mobile devices to test deploymentAccess to mobile devices to test deploymentAccess to GPS devicesAccess to GPS devicesDevices SecurityDevices SecurityFamiliarity with field work flowsFamiliarity with field work flowsFamiliarity with ArcGIS ServerFamiliarity with ArcGIS Server
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2828
.NET Compact Framework .NET Compact Framework considerationsconsiderations
ItIt’’s a subset of .Net Frameworks a subset of .Net FrameworkOptimized for Smart DevicesOptimized for Smart DevicesNot everything works the sameNot everything works the sameRead the documentationRead the documentation
You should use Visual Studio Emulators to develop, You should use Visual Studio Emulators to develop, actual devices to test and deployactual devices to test and deploy
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
2929
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3030
ArcGIS Server Mobile ComponentsArcGIS Server Mobile Components
GPRSEDGE
HSDPA802.11Cradle
Connectivity
Security
Web Services
Server Manager
Web Services & Data
Managem
ent
User ExperienceUser Experience
Business LogicBusiness Logic
Data & Web SvcData & Web Svc
ArcGIS ServerArcGIS Mobile Components Enterprise Systems
Replication
SDE
ArcGIS Mobile SDK : Features ArcGIS Mobile SDK : Features OverviewOverview
Suite of .Net Mobile GIS componentsSuite of .Net Mobile GIS componentsDesigned for ClientDesigned for Client--Server applicationsServer applicationsSupport multiple connectivity scenariosSupport multiple connectivity scenariosLong and Short TransactionsLong and Short TransactionsVersioned editingVersioned editingProvide disconnected editing capabilitiesProvide disconnected editing capabilitiesLeverage Visual Studio 2005 WinForms Leverage Visual Studio 2005 WinForms Small footprint and high performanceSmall footprint and high performanceComprehensive developer helpComprehensive developer help–– Visual Studio integrationVisual Studio integration–– Walkthrough, SamplesWalkthrough, Samples–– Online documentationOnline documentation
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3131
ArcGIS Mobile SDK: Target ArcGIS Mobile SDK: Target PlatformsPlatforms
Microsoft .NET/.NET Compact Framework 2.0Microsoft .NET/.NET Compact Framework 2.0Windows Mobile 5.0Windows Mobile 5.0–– PocketPCPocketPC–– SmartPhoneSmartPhone
Windows Mobile for Pocket PC 2003, 2003 SEWindows Mobile for Pocket PC 2003, 2003 SEWindows CE 5.0Windows CE 5.0Windows XPWindows XP
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3232
ArcGIS Mobile SDK:ArcGIS Mobile SDK:Seamless MS Visual Studio IntegrationSeamless MS Visual Studio Integration
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3333
Net
wor
k N
etw
ork
Res
ourc
esR
esou
rces
Win FormsWin Forms
.Net Framework / Compact .Net .Net Framework / Compact .Net FrameworkFramework
Data SyncData SyncComponenComponen
tsts
DeviceDeviceData StoreData Store
UI ControlsUI ControlsData Data
ComponentsComponentsGPS GPS
ComponenComponentsts M
icro
soft
Visu
al
Mic
roso
ft Vi
sual
St
udio
200
5St
udio
200
5
ArcGIS Mobile SDK: Core componentsArcGIS Mobile SDK: Core components
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3434
MapCacheMapCache
ServerServerConnectionConnection
MapMapMapActionMapAction
ArcGISArcGISServerServer
FeatureLayerFeatureLayerFeatureLayerFeatureLayerFeatureLayerFeatureLayerRasterRasterLayerLayer
FeatureLayerFeatureLayerFeatureLayerFeatureLayerFeatureLayerFeatureLayerAnnotationAnnotation
LayerLayer
FeatureLayerFeatureLayerFeatureLayerFeatureLayerFeatureLayerFeatureLayerFeatureFeatureLayerLayer
URL
Server Synchronization Server Synchronization ConsiderationsConsiderations
Applications:Applications:
–– Take responsibility for managing the sync processTake responsibility for managing the sync process
–– Push and Pull new and updated featuresPush and Pull new and updated features
–– Leverage spatial and attribute queries to optimize feature pull Leverage spatial and attribute queries to optimize feature pull from the from the ServerServer
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3535
ArcGIS Mobile SDK: Map and ArcGIS Mobile SDK: Map and Map Cache ComponentsMap Cache Components
Map component draws data from the map cache (threaded drawing)Map component draws data from the map cache (threaded drawing)Map Cache stores map data on device. Map Cache stores map data on device. Map Cache component synchronizes updates with Server.Map Cache component synchronizes updates with Server.Map supports markup/graphics on DisplayMap supports markup/graphics on DisplayMap supports drawing of custom layersMap supports drawing of custom layersMap rotation supportedMap rotation supported
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3636
DisplayDisplayMapMap
MapCacheMapCache LayersLayers
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3737
ArcGIS Mobile SDK: Map ActionsArcGIS Mobile SDK: Map Actions
Components used for Mouse and Keyboard interactionComponents used for Mouse and Keyboard interactionEnhanced designer experienceEnhanced designer experienceReduces the amount of code you need to writeReduces the amount of code you need to write
MapMap CurrentCurrentMap ActionMap Action
NavigationNavigationMap ActionsMap Actions
Selection Map Selection Map ActionAction
SketchSketchMap ActionMap Action
CustomCustomMap ActionMap Action
Map Actions
ArcGIS Mobile SDK: GPS ArcGIS Mobile SDK: GPS ComponentsComponents
NMEA GPS implementationNMEA GPS implementationSmart GPS Map displaySmart GPS Map displayInterface with Serial and File GPSInterface with Serial and File GPSFires events with GPS positions for use in your custom Fires events with GPS positions for use in your custom toolstools
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3838
FileGpsFileGps
MapMap
SerialPortSerialPortGpsGps
ConnectionConnection
GpsDisplayGpsDisplay
NMEANMEA
ArcGIS Mobile SDK: Scale BarArcGIS Mobile SDK: Scale Bar
Displays current map scaleDisplays current map scaleSupports different unit typesSupports different unit typesAnimated when synchronizing with ServerAnimated when synchronizing with Server
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
3939
MapMap Scale BarScale Bar
MapCacheMapCache
ArcGIS Mobile SDK: ADO.Net ArcGIS Mobile SDK: ADO.Net interfaceinterface
Spatial and attribute queries on map cache feature layersSpatial and attribute queries on map cache feature layersQueries are executed against local dataQueries are executed against local dataData loaded to Data loaded to
–– FeatureLayerDataTable (ADO DataTable) *Forward and BackwardFeatureLayerDataTable (ADO DataTable) *Forward and Backward–– FeatureDataReader (ADO IDataReader) *Forward only, fasterFeatureDataReader (ADO IDataReader) *Forward only, faster
Updates supportedUpdates supported
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
4040
RasterRasterLayerLayer
FeatureFeatureDataReaderDataReader
FeatureLayerFeatureLayerDataTableDataTable
MapCacheMapCache
FeatureFeatureLayerLayer
AnnotationAnnotationLayerLayer
Layer CollectionLayer Collection
ADO.NetADO.Net
ArcGIS Mobile SDK: Editing ArcGIS Mobile SDK: Editing FeaturesFeatures
Edits can be performed in a disconnected modeEdits can be performed in a disconnected modeGeometry editing via Sketch Map Action and ComponentsGeometry editing via Sketch Map Action and ComponentsCreate and update points, lines and polygon geometryCreate and update points, lines and polygon geometrySupports snapping to all Feature LayersSupports snapping to all Feature LayersAttributes editing via ADO.Net componentsAttributes editing via ADO.Net components
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
4141
MapCacheMapCache
MapMap Sketch Map ActionSketch Map Action GeometryGeometry
Feature LayerFeature Layer
ADO.NetADO.Net
ArcGIS Mobile SDK: EditingArcGIS Mobile SDK: EditingEdits can be performed in a disconnected modeEdits can be performed in a disconnected modeOnly SDE layers are editableOnly SDE layers are editableConnection required to synchronize updates with the Connection required to synchronize updates with the serverserverEditing is supported for nonEditing is supported for non--versioned and versioned versioned and versioned transaction models.transaction models.Coarse grained Sketching components for geometry Coarse grained Sketching components for geometry constructionconstructionAttribute editing via ADO.Net componentsAttribute editing via ADO.Net components
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
4242
Building Powerful, Integrated Mobile Applications with Building Powerful, Integrated Mobile Applications with ArcGIS MobileArcGIS Mobile
4343
ArcGIS Mobile: ArcGIS Mobile: Application and Data DeploymentApplication and Data Deployment
ArcGIS Mobile SDK : Features ArcGIS Mobile SDK : Features OverviewOverview
Suite of .NET Mobile GIS componentsSuite of .NET Mobile GIS componentsSupport multiple connectivity scenariosSupport multiple connectivity scenariosFull Support of Geodatabase Transaction ModelFull Support of Geodatabase Transaction ModelLeverage Visual Studio 2005 WinForms Leverage Visual Studio 2005 WinForms Small footprint and high performanceSmall footprint and high performanceComprehensive developer helpComprehensive developer help–– Visual Studio integrationVisual Studio integration–– Walkthrough, SamplesWalkthrough, Samples–– Online documentationOnline documentation
ESRI MUGESRI MUG 4444
ArcGIS Mobile SDK: Target PlatformsArcGIS Mobile SDK: Target Platforms
Microsoft .NET/.NET Compact Framework 2.0Microsoft .NET/.NET Compact Framework 2.0Windows Mobile 5.0Windows Mobile 5.0–– PocketPCPocketPC–– SmartPhoneSmartPhone
Windows Mobile for Pocket PC 2003, 2003 SEWindows Mobile for Pocket PC 2003, 2003 SEWindows CE 5.0Windows CE 5.0Windows XP/2000Windows XP/2000
4545ESRI MUGESRI MUG
ArcGIS Mobile SDK: EditingArcGIS Mobile SDK: EditingEdits can be performed in a disconnected modeEdits can be performed in a disconnected modeOnly ArcSDE layers are editableOnly ArcSDE layers are editableConnection required to synchronize updates with the Connection required to synchronize updates with the serverserverEditing is supported for nonEditing is supported for non--versioned and versioned versioned and versioned transaction models.transaction models.Coarse grained Sketching components for geometry Coarse grained Sketching components for geometry constructionconstructionAttribute editing via ADO.Net componentsAttribute editing via ADO.Net components
ESFederal User Conference 2008ESFederal User Conference 2008RI MUGRI MUG
4646
ArcGIS MobileArcGIS MobileDeveloper KitDeveloper Kit•• Part of the Server ADFPart of the Server ADF•• C:C:\\Program Program
FilesFiles\\ArcGISArcGIS\\DeveloperKitDeveloperKit\\SamplesNETSamplesNET\\ServerServer\\Mobile_ApplicationsMobile_Applications
•• Types of SamplesTypes of Samples•• PPC03 = Pocket PC 2003PPC03 = Pocket PC 2003•• PPC05 = Windows Mobile 5PPC05 = Windows Mobile 5•• WinCSharp = Windows 32(xp or 2000)WinCSharp = Windows 32(xp or 2000)
•• Only in C#Only in C#
•• WalkthroughsWalkthroughs•• PPC03, PPC05, WinCSharp and WinVBNetPPC03, PPC05, WinCSharp and WinVBNet
4747ESRI MUGESRI MUG
ArcGIS MobileArcGIS MobileDeveloper Kit Online Developer Kit Online -- EDNEDN–– http://edn.esri.com/index.cfm?fa=mobile.gatewayhttp://edn.esri.com/index.cfm?fa=mobile.gateway
ESRI MUGESRI MUG 4848
ArcGIS Mobile SDK: ArcGIS Mobile SDK: PrerequisitesPrerequisites
Visual Studio 2005 Visual Studio 2005 C# or VB.NETC# or VB.NET
Windows Mobile SDKs (Pocket PC/Smartphone)Windows Mobile SDKs (Pocket PC/Smartphone)Active Sync 4.1 or higher installedActive Sync 4.1 or higher installedAccess to mobile devices to test deploymentAccess to mobile devices to test deploymentAccess to GPS devicesAccess to GPS devicesFamiliarity with Familiarity with –– .NET Framework 2.0/.NET Compact Framework 2.0 .NET Framework 2.0/.NET Compact Framework 2.0
Thorough understanding of ADO.Net conceptsThorough understanding of ADO.Net conceptsDevice SecurityDevice SecurityFamiliarity with ArcGIS ServerFamiliarity with ArcGIS Server
UC 2007 Tech SessionsUC 2007 Tech Sessions 4949
General Coding GuidelinesGeneral Coding GuidelinesMultiple threaded environmentMultiple threaded environment–– Use BeginInvoke to push arguments to the UIUse BeginInvoke to push arguments to the UI
Dispose of objects that implement IDisposableDispose of objects that implement IDisposable–– Wrap inside using blockWrap inside using block
Menu vs. Tool considerationsMenu vs. Tool considerations
UC 2007 Tech SessionsUC 2007 Tech Sessions 5050
Examples
Federal User Conference 2008Federal User Conference 2008 5151
My Border Security ScenarioMy Border Security Scenario
Federal User Conference 2008Federal User Conference 2008 5252
ScenarioScenario
Federal User Conference 2008Federal User Conference 2008
Headquarters
Local Law Local Law EnforcementEnforcement
AgencyAgency
My Border Security AgencyMy Border Security Agency
Field OfficeCharmel
Patrol Officerin the Field
Chris
Police Officerin the Field
Gary
Dover, DE NASCAR EventsDover, DE NASCAR Events
Federal User Conference 2008Federal User Conference 2008 5454
Texas Hurricane ExerciseTexas Hurricane ExerciseUsing the Mobile ADF to Track Cell Phone LocationsUsing the Mobile ADF to Track Cell Phone Locations
ALL HAZALL HAZ
Federal User Conference 2008Federal User Conference 2008 5656
ArcGIS Mobile
9.3
9.3 Requirements9.3 RequirementsWhat to Build:What to Build:–– Windows Mobile applicationWindows Mobile application
Target Customers:Target Customers:–– Enterprise Field WorkersEnterprise Field Workers
Core functionality:Core functionality:–– Field MappingField Mapping–– Asset Inventory and MaintenanceAsset Inventory and Maintenance–– Incident ReportingIncident Reporting
Synchronize in the Field
What is ArcGIS Mobile?What is ArcGIS Mobile?ArcGIS Mobile compliments ArcGIS Server and allows ArcGIS Mobile compliments ArcGIS Server and allows an organization to deploy maps and GIS tasks to their an organization to deploy maps and GIS tasks to their mobile workers.mobile workers.
ArcGIS Mobile includes:ArcGIS Mobile includes:–– ApplicationApplication–– RuntimeRuntime–– SDKSDK
ArcGIS Mobile ApplicationArcGIS Mobile ApplicationGIS tasks:GIS tasks:–– View and navigate mapsView and navigate maps–– Collect new GIS featuresCollect new GIS features–– Update existing GIS featuresUpdate existing GIS features–– Synchronize with GIS ServerSynchronize with GIS Server–– Use Global Positioning SystemUse Global Positioning System–– Search for GIS features Search for GIS features –– Manage a work listManage a work list–– Check Device StatusCheck Device Status
Supports Windows Mobile 5 & 6 Supports Windows Mobile 5 & 6 devicesdevices
ArcGIS Server ManagerArcGIS Server ManagerUse ArcGIS Server Manager To:Use ArcGIS Server Manager To:–– Serve Mobile MapsServe Mobile Maps–– Create Mobile Projects Create Mobile Projects
Server Manager is a host for:Server Manager is a host for:–– Deploying mobile projectsDeploying mobile projects–– Deploying mobile applicationsDeploying mobile applications–– Serving mobile mapsServing mobile maps
ArcGIS Mobile SDK and ArcGIS Mobile SDK and RuntimeRuntime
Build mobile GIS application for ArcGIS Server Build mobile GIS application for ArcGIS Server SDK part of ArcGIS Server and EDNSDK part of ArcGIS Server and EDNRuntime for Windows Mobile 5 or 6 and Windows XP or Runtime for Windows Mobile 5 or 6 and Windows XP or VistaVista
ArcGIS Mobile Application
ArcGIS Mobile ApplicationArcGIS Mobile ApplicationTaskTask--driven user experiencedriven user experienceConfigurable using Server ManagerConfigurable using Server ManagerTargets:Targets:–– Simple GIS Feature EditingSimple GIS Feature Editing–– Map ViewingMap Viewing
Target Platforms:Target Platforms:–– Windows Mobile 5 Pocket PCWindows Mobile 5 Pocket PC–– Windows Mobile 6 ProfessionalWindows Mobile 6 Professional
ArcGIS Mobile TasksArcGIS Mobile TasksCore Tasks for 9.3Core Tasks for 9.3–– View MapView Map–– Collect FeaturesCollect Features–– Search FeaturesSearch Features–– View Work ListView Work List–– SynchronizeSynchronize–– View StatusView Status
View Map TaskView Map TaskNavigate the MapNavigate the Map–– Using GPS ReceiverUsing GPS Receiver–– Using Rocker/StylusUsing Rocker/Stylus
Browse FeaturesBrowse Features–– Pan to featuresPan to features–– View feature attributesView feature attributes
Collect Features TaskCollect Features TaskGuided workflow for capturing new GIS features in the Guided workflow for capturing new GIS features in the fieldfield–– Choose feature typeChoose feature type–– Set shape of featureSet shape of feature
Using stylus/rockerUsing stylus/rockerUsing GPSUsing GPSEntering XY locationEntering XY location
–– Set attributes for featureSet attributes for feature
Search Features TaskSearch Features TaskSearch for GIS features stored locally on the deviceSearch for GIS features stored locally on the device–– Choose feature type or layerChoose feature type or layer–– Define search criteriaDefine search criteria
Fields/values to search againstFields/values to search againstSearch areaSearch area
–– Find featuresFind features–– Act on resultsAct on results
Browse on MapBrowse on MapView AttributesView AttributesEdit AttributesEdit AttributesAdd to Work List taskAdd to Work List task
View Work List TaskView Work List TaskManages a list of features that you can edit or browse Manages a list of features that you can edit or browse to on mapto on map–– View the state of featuresView the state of features–– Sorts features by distance from youSorts features by distance from you–– View/edit feature attributesView/edit feature attributes–– Delete featuresDelete features
Add features to the work list from your Search resul
Synchronize TaskSynchronize TaskReceive status on synchronizationReceive status on synchronization–– Last date/time you posted/received updatesLast date/time you posted/received updates–– Number of updates on the deviceNumber of updates on the device
Send updates to the serverSend updates to the server–– Posts all updates to the devicePosts all updates to the device
Get Data from the serverGet Data from the server–– Define layers and extentDefine layers and extent
Status TaskStatus TaskSet and manage the connection to a Set and manage the connection to a GPS receiverGPS receiver
Use the Status task to monitor the Use the Status task to monitor the health of the devicehealth of the device–– NetworkNetwork–– BatteryBattery
Creating Mobile Applications using ArcGIS Server Manager
ArcGIS Server ManagerArcGIS Server Manager9.2 Create and manage 9.2 Create and manage mobile web servicesmobile web servicesCreate and manageCreate and managemobile projectsmobile projectsDeploy mobile projectsDeploy mobile projectsand applications to devicesand applications to devices
Create and Manage Mobile Create and Manage Mobile ApplicationsApplications
Mobile Applications CatalogMobile Applications Catalog–– Create new mobile application Create new mobile application
projectsprojects–– Manage a catalog of mobile projects Manage a catalog of mobile projects
on web serveron web server
Create and Manage Mobile Create and Manage Mobile ProjectsProjects
Specify an application project name and brief Specify an application project name and brief description.description.
Create Mobile ProjectsCreate Mobile ProjectsSet Operational map resource (mobile service)Set Operational map resource (mobile service)–– Define map layer propertiesDefine map layer properties
Editable layersEditable layersViewable/Searchable layersViewable/Searchable layersEditable/Viewable Editable/Viewable fieldsfieldsGPS collection GPS collection propertiesproperties
Create Mobile ProjectsCreate Mobile ProjectsConfigure application tasksConfigure application tasks–– Change name/description of taskChange name/description of task–– Remove unwanted tasksRemove unwanted tasks
Mobile Application Mobile Application DeploymentDeployment
Pull modelPull model–– Pull mobile application from server to devicePull mobile application from server to device
Using Web Browser on deviceUsing Web Browser on device
–– Pull mobile projects from server to devicePull mobile projects from server to deviceUsing ArcGIS Mobile applicationUsing ArcGIS Mobile applicationUsing Web Browser on deviceUsing Web Browser on device
Mobile Application Mobile Application DeploymentDeployment
Push modelPush model–– Provision device with applicationProvision device with application
Use ActiveSync, Windows Mobile Device CenterUse ActiveSync, Windows Mobile Device CenterUse 3rd Party system (SMS, SOTI MobiControl, others)Use 3rd Party system (SMS, SOTI MobiControl, others)
–– Send project file to deviceSend project file to deviceEmail project file and open on deviceEmail project file and open on deviceUse ActiveSync, Windows Mobile Device CenterUse ActiveSync, Windows Mobile Device CenterUse 3rd Party deployment systemUse 3rd Party deployment system
Using ArcGIS Desktop to Author, Build and Publish Mobile Content
Steps To Designing Mobile Steps To Designing Mobile ProjectsProjects1.1. Understand Field WorkflowsUnderstand Field Workflows2.2. Design and Build Mobile GeodatabaseDesign and Build Mobile Geodatabase3.3. Author and Publish Mobile MapsAuthor and Publish Mobile Maps4.4. Build Data Deployment PackagesBuild Data Deployment Packages5.5. Define QA procedures and practicesDefine QA procedures and practices
1. Understanding Field 1. Understanding Field WorkflowsWorkflows
What tasks need to be accomplished in the field? What tasks need to be accomplished in the field? What layers of information are required?What layers of information are required?–– OperationalOperational–– Base MapBase Map
What type of device is being used? What are its What type of device is being used? What are its capabilities, battery life, GPS, etc?capabilities, battery life, GPS, etc?Is inIs in--thethe--field synchronization possible?field synchronization possible?
2. Designing Mobile Geodatabases2. Designing Mobile GeodatabasesChoose the right Information ModelChoose the right Information Model––
Choose the right Transactional ModelChoose the right Transactional Model
Geodatabase ReplicationGeodatabase Replication ETLETL
DefaultDefault
Tree Tree InspectionInspection
ParkParkFurnitureFurniture
By ProjectBy ProjectBy UserBy User
DefaultDefault
FredFred SeanSean
ParkParkFurnitureFurniture
Tree Tree InspectionInspection
3. Authoring Mobile Maps3. Authoring Mobile MapsMobile Map Design Considerations:Mobile Map Design Considerations:–– Design for purposeDesign for purpose
Remove unnecessary layers of informationRemove unnecessary layers of informationSet scale dependency based on scales of work (walk, drive, etc)Set scale dependency based on scales of work (walk, drive, etc)Render editable layers to define feature typesRender editable layers to define feature types
–– Design for the environmentDesign for the environmentEstablish contrast, choose meaningful symbologyEstablish contrast, choose meaningful symbology
–– Design for device form factorDesign for device form factorSet scale dependency based on device resolutionSet scale dependency based on device resolutionSet symbol width based upon device resolutionSet symbol width based upon device resolution
Determine Base Map Data vs. Operational DataDetermine Base Map Data vs. Operational Data–– Compress Base Map Data using Create Mobile Base Map GP ToolCompress Base Map Data using Create Mobile Base Map GP Tool–– Build Operational Mobile Cache using Generate Mobile Service CacBuild Operational Mobile Cache using Generate Mobile Service Cachehe
1280x10241280x1024BIGBIG
8484
320x240 Small
Sunlightwashes out
Colors
4. Build Data Deployment Packages4. Build Data Deployment PackagesNew Mobile Toolset inside of Server ToolboxNew Mobile Toolset inside of Server Toolbox–– Create Mobile Base Map ToolCreate Mobile Base Map Tool
Support large base map datasetsSupport large base map datasets
–– Generate Mobile Service Cache ToolGenerate Mobile Service Cache ToolCreate mobile caches for deploymentCreate mobile caches for deployment
Use Standard Deployment TechnologyUse Standard Deployment Technology–– ActiveSync, Windows Mobile Device CenterActiveSync, Windows Mobile Device Center–– Microsoft SMSMicrosoft SMS–– SOTI MobiControlSOTI MobiControl
Mobile GP ToolsMobile GP ToolsCreate Mobile Base Map ToolCreate Mobile Base Map Tool–– Creates an Base Map Data Set to be Creates an Base Map Data Set to be
provisioned on mobile devices as base map provisioned on mobile devices as base map layerslayers
Mobile GP ToolsMobile GP ToolsGenerate Mobile Service CacheGenerate Mobile Service Cache–– Creates a mobile service cache for all Creates a mobile service cache for all
operational layers.operational layers.–– Uses published mobile web service as input Uses published mobile web service as input
and extracts layers.and extracts layers.
5. Define QA procedures5. Define QA proceduresGeodatabase ReplicationGeodatabase ReplicationVersion ManagementVersion ManagementETL Geoprocessing ToolsETL Geoprocessing ToolsLeverage PLTS, JTX and other QA toolsLeverage PLTS, JTX and other QA tools
ArcGIS Mobile SDK
ArcGIS Mobile 9.3 SDKArcGIS Mobile 9.3 SDKKey 9.3 Improvements:Key 9.3 Improvements:–– Ease of DeploymentEase of Deployment–– Performance improvementsPerformance improvements–– Improved Editing tools/sketching APIImproved Editing tools/sketching API–– Better Support for ProjectionsBetter Support for Projections–– Simplified coordinate managementSimplified coordinate management
Deployment ImprovementsDeployment ImprovementsAt 9.2 SDK runtime deployed with each application (to At 9.2 SDK runtime deployed with each application (to application folder).application folder).At 9.3 SDK runtime is deployed once.At 9.3 SDK runtime is deployed once.SDK runtime is provided as a signed .CAB file.SDK runtime is provided as a signed .CAB file.
Performance ImprovementsPerformance ImprovementsSupport for static, local base map dataSupport for static, local base map dataImproved handling of server requests when retrieving Improved handling of server requests when retrieving datadataImproved handling of GPS displayImproved handling of GPS display
Editing toolsEditing toolsImproved, simplified API for sketching.Improved, simplified API for sketching.New sketch tools for updating existing geometries.New sketch tools for updating existing geometries.Sketch display handled through new Sketch display handled through new SketchGraphicsLayerSketchGraphicsLayerAbility to create your own sketch toolsAbility to create your own sketch tools
ProjectionsProjectionsImproved support of ArcGIS map projections.Improved support of ArcGIS map projections.Now Mobile client supports all but GRID/HARN based Now Mobile client supports all but GRID/HARN based map projectionsmap projections
Coordinate ManagementCoordinate ManagementAt 9.2 developers had to handle the conversion At 9.2 developers had to handle the conversion between integer and map coordinatesbetween integer and map coordinatesAt 9.3 developers no longer need to translate between At 9.3 developers no longer need to translate between map coordinates and server coordinates.map coordinates and server coordinates.
Finding InformationFinding Information
ArcGIS Mobile Resource ArcGIS Mobile Resource CenterCenter
Quickly locate:Quickly locate:–– Application help topicsApplication help topics–– Server help topicsServer help topics–– Desktop help topicsDesktop help topics–– Developer helpDeveloper help–– Knowledge base, Knowledge base,
forums, blogsforums, blogs
Questions?